X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9804d5404a9607cda3d08ec8225f52f78b78bc72..f1d5aa4eca541a2f90044a63f555985d6bd4adf3:/samples/notebook/notebook.cpp diff --git a/samples/notebook/notebook.cpp b/samples/notebook/notebook.cpp index 4149cd884a..14f3fd951c 100644 --- a/samples/notebook/notebook.cpp +++ b/samples/notebook/notebook.cpp @@ -34,6 +34,9 @@ IMPLEMENT_APP(MyApp) bool MyApp::OnInit() { + if ( !wxApp::OnInit() ) + return false; + #if wxUSE_HELP wxHelpProvider::Set( new wxSimpleHelpProvider ); #endif @@ -256,6 +259,7 @@ MyFrame::MyFrame() wxMenu *menuPageOperations = new wxMenu; menuPageOperations->Append(ID_ADD_PAGE, wxT("&Add page\tAlt-A")); + menuPageOperations->Append(ID_ADD_PAGE_NO_SELECT, wxT("&Add page (don't select)\tAlt-B")); menuPageOperations->Append(ID_INSERT_PAGE, wxT("&Insert page\tAlt-I")); menuPageOperations->Append(ID_DELETE_CUR_PAGE, wxT("&Delete current page\tAlt-D")); menuPageOperations->Append(ID_DELETE_LAST_PAGE, wxT("D&elete last page\tAlt-L")); @@ -265,6 +269,8 @@ MyFrame::MyFrame() menuPageOperations->Append(ID_ADD_PAGE_BEFORE, wxT("Insert page &before\tAlt-B")); menuPageOperations->Append(ID_ADD_SUB_PAGE, wxT("Add s&ub page\tAlt-U")); #endif + menuPageOperations->AppendSeparator(); + menuPageOperations->Append(ID_GO_HOME, wxT("Go to the first page\tCtrl-F")); wxMenu *menuOperations = new wxMenu; #if wxUSE_HELP @@ -326,7 +332,6 @@ MyFrame::MyFrame() m_panel->SetSizer(m_sizerFrame); - m_sizerFrame->Fit(this); m_sizerFrame->SetSizeHints(this); Centre(wxBOTH); @@ -424,7 +429,6 @@ void MyFrame::RecreateBook() if ( m_multi && m_type == Type_Notebook ) flags |= wxNB_MULTILINE; - flags |= wxDOUBLE_BORDER; wxBookCtrlBase *oldBook = m_bookCtrl; @@ -513,10 +517,12 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame) // Operations menu EVT_MENU(ID_ADD_PAGE, MyFrame::OnAddPage) + EVT_MENU(ID_ADD_PAGE_NO_SELECT, MyFrame::OnAddPageNoSelect) EVT_MENU(ID_INSERT_PAGE, MyFrame::OnInsertPage) EVT_MENU(ID_DELETE_CUR_PAGE, MyFrame::OnDeleteCurPage) EVT_MENU(ID_DELETE_LAST_PAGE, MyFrame::OnDeleteLastPage) EVT_MENU(ID_NEXT_PAGE, MyFrame::OnNextPage) + EVT_MENU(ID_GO_HOME, MyFrame::OnGoHome) #if wxUSE_HELP EVT_MENU(ID_CONTEXT_HELP, MyFrame::OnContextHelp) @@ -675,6 +681,24 @@ void MyFrame::OnAddPage(wxCommandEvent& WXUNUSED(event)) } } +void MyFrame::OnAddPageNoSelect(wxCommandEvent& WXUNUSED(event)) +{ + wxBookCtrlBase *currBook = GetCurrentBook(); + + if ( currBook ) + { + static unsigned s_pageAdded = 0; + currBook->AddPage(CreateNewPage(), + wxString::Format + ( + ADDED_PAGE_NAME wxT("%u"), + ++s_pageAdded + ), + false, + GetIconIndex(currBook)); + } +} + #if wxUSE_TREEBOOK void MyFrame::OnAddSubPage(wxCommandEvent& WXUNUSED(event)) { @@ -788,6 +812,18 @@ void MyFrame::OnNextPage(wxCommandEvent& WXUNUSED(event)) } } +void MyFrame::OnGoHome(wxCommandEvent& WXUNUSED(event)) +{ + wxBookCtrlBase *currBook = GetCurrentBook(); + + if ( currBook ) + { + // ChangeSelection shouldn't send any events, SetSelection() should + currBook->ChangeSelection(0); + //currBook->SetSelection(0); + } +} + void MyFrame::OnIdle( wxIdleEvent& WXUNUSED(event) ) { static int s_nPages = wxNOT_FOUND;