X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/02161c7c81e12685d04a1f73e714ca52ad858f6c..e586908a653242acae7d0f4479c6c10a2a5458b5:/samples/notebook/notebook.cpp diff --git a/samples/notebook/notebook.cpp b/samples/notebook/notebook.cpp index 6a756a19bf..966b441350 100644 --- a/samples/notebook/notebook.cpp +++ b/samples/notebook/notebook.cpp @@ -44,7 +44,7 @@ bool MyApp::OnInit() return true; } -wxPanel *CreateUserCreatedPage(wxBookCtrl *parent) +wxPanel *CreateUserCreatedPage(wxBookCtrlBase *parent) { wxPanel *panel = new wxPanel(parent); @@ -54,7 +54,7 @@ wxPanel *CreateUserCreatedPage(wxBookCtrl *parent) return panel; } -wxPanel *CreateRadioButtonsPage(wxBookCtrl *parent) +wxPanel *CreateRadioButtonsPage(wxBookCtrlBase *parent) { wxPanel *panel = new wxPanel(parent); @@ -79,7 +79,7 @@ wxPanel *CreateRadioButtonsPage(wxBookCtrl *parent) return panel; } -wxPanel *CreateVetoPage(wxBookCtrl *parent) +wxPanel *CreateVetoPage(wxBookCtrlBase *parent) { wxPanel *panel = new wxPanel(parent); @@ -89,7 +89,7 @@ wxPanel *CreateVetoPage(wxBookCtrl *parent) return panel; } -wxPanel *CreateBigButtonPage(wxBookCtrl *parent) +wxPanel *CreateBigButtonPage(wxBookCtrlBase *parent) { wxPanel *panel = new wxPanel(parent); @@ -103,7 +103,7 @@ wxPanel *CreateBigButtonPage(wxBookCtrl *parent) } -wxPanel *CreateInsertPage(wxBookCtrl *parent) +wxPanel *CreateInsertPage(wxBookCtrlBase *parent) { wxPanel *panel = new wxPanel(parent); @@ -114,7 +114,7 @@ wxPanel *CreateInsertPage(wxBookCtrl *parent) return panel; } -int GetIconIndex(wxBookCtrl* bookCtrl) +int GetIconIndex(wxBookCtrlBase* bookCtrl) { if (bookCtrl && bookCtrl->GetImageList()) { @@ -128,7 +128,7 @@ int GetIconIndex(wxBookCtrl* bookCtrl) return -1; } -void CreateInitialPages(wxBookCtrl *parent) +void CreateInitialPages(wxBookCtrlBase *parent) { // Create and add some panels to the notebook @@ -147,7 +147,7 @@ void CreateInitialPages(wxBookCtrl *parent) parent->SetSelection(1); } -wxPanel *CreatePage(wxBookCtrl *parent, const wxString&pageName) +wxPanel *CreatePage(wxBookCtrlBase *parent, const wxString&pageName) { if ( @@ -188,7 +188,16 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size, long style) : wxFrame((wxWindow *) NULL, wxID_ANY, title, pos, size, style) { +#if wxUSE_NOTEBOOK m_type = ID_BOOK_NOTEBOOK; +#elif wxUSE_CHOICEBOOK + m_type = ID_BOOK_CHOICEBOOK; +#elif wxUSE_LISTBOOK + m_type = ID_BOOK_LISTBOOK; +#elif + #error "Don't use Notebook sample without any book enabled in wxWidgets build!" +#endif + m_orient = ID_ORIENT_DEFAULT; m_chkShowImages = true; m_multi = false; @@ -205,6 +214,7 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size, #if wxUSE_CHOICEBOOK menuType->AppendRadioItem(ID_BOOK_CHOICEBOOK, wxT("&Choicebook\tCtrl-3")); #endif + menuType->Check(m_type, true); wxMenu *menuOrient = new wxMenu; menuOrient->AppendRadioItem(ID_ORIENT_DEFAULT, wxT("&Default\tCtrl-4")); @@ -214,17 +224,17 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size, menuOrient->AppendRadioItem(ID_ORIENT_RIGHT, wxT("&Right\tCtrl-8")); wxMenu *menuDo = new wxMenu; - menuDo->Append(ID_ADD_PAGE, wxT("&Add page")); - menuDo->Append(ID_INSERT_PAGE, wxT("&Insert page")); - menuDo->Append(ID_DELETE_CUR_PAGE, wxT("&Delete current page")); - menuDo->Append(ID_DELETE_LAST_PAGE, wxT("D&elete last page")); - menuDo->Append(ID_NEXT_PAGE, wxT("&Next page")); + menuDo->Append(ID_ADD_PAGE, wxT("&Add page\tAlt-A")); + menuDo->Append(ID_INSERT_PAGE, wxT("&Insert page\tAlt-I")); + menuDo->Append(ID_DELETE_CUR_PAGE, wxT("&Delete current page\tAlt-D")); + menuDo->Append(ID_DELETE_LAST_PAGE, wxT("D&elete last page\tAlt-L")); + menuDo->Append(ID_NEXT_PAGE, wxT("&Next page\tAlt-N")); wxMenu *menuFile = new wxMenu; menuFile->Append(wxID_ANY, wxT("&Type"), menuType, wxT("Type of control")); menuFile->Append(wxID_ANY, wxT("&Orientation"), menuOrient, wxT("Orientation of control")); - menuFile->AppendCheckItem(ID_SHOW_IMAGES, wxT("&Show images")); - menuFile->AppendCheckItem(ID_MULTI, wxT("&Multiple lines")); + menuFile->AppendCheckItem(ID_SHOW_IMAGES, wxT("&Show images\tAlt-S")); + menuFile->AppendCheckItem(ID_MULTI, wxT("&Multiple lines\tAlt-M")); menuFile->AppendSeparator(); menuFile->Append(wxID_EXIT, wxT("E&xit"), wxT("Quits the application")); menuFile->Check(ID_SHOW_IMAGES, m_chkShowImages); @@ -325,6 +335,12 @@ int MyFrame::SelectFlag(int id, int nb, int lb, int chb) return 0; } +#ifdef __SMARTPHONE__ + #define MARGIN 0 +#else + #define MARGIN 4 +#endif + #define RECREATE( wxBookType , idBook, oldBook , newBook ) \ { \ int flags; \ @@ -390,22 +406,10 @@ int MyFrame::SelectFlag(int id, int nb, int lb, int chb) } \ else \ { \ - wxPanel *panel = CreateRadioButtonsPage(newBook); \ - newBook->AddPage( panel, RADIOBUTTONS_PAGE_NAME, false, GetIconIndex(newBook) ); \ - \ - panel = CreateVetoPage(newBook); \ - newBook->AddPage( panel, VETO_PAGE_NAME, false, GetIconIndex(newBook) ); \ - \ - panel = CreateBigButtonPage(newBook); \ - newBook->AddPage( panel, MAXIMIZED_BUTTON_PAGE_NAME, false, GetIconIndex(newBook) ); \ - \ - panel = CreateInsertPage(newBook); \ - newBook->InsertPage( 0, panel, I_WAS_INSERTED_PAGE_NAME, false, GetIconIndex(newBook) ); \ - \ - newBook->SetSelection(1); \ + CreateInitialPages(newBook); \ } \ \ - m_sizerFrame->Insert(0, newBook, 5, wxEXPAND | wxALL, 4); \ + m_sizerFrame->Insert(0, newBook, 5, wxEXPAND | wxALL, MARGIN); \ \ m_sizerFrame->Hide(newBook); \ } @@ -425,7 +429,7 @@ void MyFrame::RecreateBooks() ShowCurrentBook(); } -wxBookCtrl *MyFrame::GetCurrentBook() +wxBookCtrlBase *MyFrame::GetCurrentBook() { switch (m_type) { @@ -495,7 +499,7 @@ END_EVENT_TABLE() void MyFrame::OnType(wxCommandEvent& event) { - wxBookCtrl *currBook = GetCurrentBook(); + wxBookCtrlBase *currBook = GetCurrentBook(); m_type = event.GetId(); @@ -536,7 +540,7 @@ void MyFrame::OnAddPage(wxCommandEvent& WXUNUSED(event)) { static unsigned s_pageAdded = 0; - wxBookCtrl *currBook = GetCurrentBook(); + wxBookCtrlBase *currBook = GetCurrentBook(); if ( currBook ) { @@ -555,7 +559,7 @@ void MyFrame::OnInsertPage(wxCommandEvent& WXUNUSED(event)) { static unsigned s_pageIns = 0; - wxBookCtrl *currBook = GetCurrentBook(); + wxBookCtrlBase *currBook = GetCurrentBook(); if ( currBook ) { @@ -571,7 +575,7 @@ void MyFrame::OnInsertPage(wxCommandEvent& WXUNUSED(event)) void MyFrame::OnDeleteCurPage(wxCommandEvent& WXUNUSED(event)) { - wxBookCtrl *currBook = GetCurrentBook(); + wxBookCtrlBase *currBook = GetCurrentBook(); if ( currBook ) { @@ -586,7 +590,7 @@ void MyFrame::OnDeleteCurPage(wxCommandEvent& WXUNUSED(event)) void MyFrame::OnDeleteLastPage(wxCommandEvent& WXUNUSED(event)) { - wxBookCtrl *currBook = GetCurrentBook(); + wxBookCtrlBase *currBook = GetCurrentBook(); if ( currBook ) { @@ -601,7 +605,7 @@ void MyFrame::OnDeleteLastPage(wxCommandEvent& WXUNUSED(event)) void MyFrame::OnNextPage(wxCommandEvent& WXUNUSED(event)) { - wxBookCtrl *currBook = GetCurrentBook(); + wxBookCtrlBase *currBook = GetCurrentBook(); if ( currBook ) { @@ -613,9 +617,9 @@ void MyFrame::OnIdle( wxIdleEvent& WXUNUSED(event) ) { static int s_nPages = wxNOT_FOUND; static int s_nSel = wxNOT_FOUND; - static wxBookCtrl *s_currBook = NULL; + static wxBookCtrlBase *s_currBook = NULL; - wxBookCtrl *currBook = GetCurrentBook(); + wxBookCtrlBase *currBook = GetCurrentBook(); int nPages = currBook ? currBook->GetPageCount() : 0; int nSel = currBook ? currBook->GetSelection() : wxNOT_FOUND; @@ -639,6 +643,12 @@ void MyFrame::OnIdle( wxIdleEvent& WXUNUSED(event) ) } } +#if USE_LOG + #define BOOKEVENT_LOG m_text->SetInsertionPointEnd(); +#else + #define BOOKEVENT_LOG +#endif + #define BOOKEVENT(OnBook,wxBookEvent,bookStr,wxEVT_PAGE_CHANGED,wxEVT_PAGE_CHANGING,s_num) \ void MyFrame::OnBook(wxBookEvent& event) \ { \ @@ -655,7 +665,7 @@ void MyFrame::OnBook(wxBookEvent& event) else if (eventType == wxEVT_PAGE_CHANGING) \ { \ int idx = event.GetOldSelection(); \ - wxBookCtrl *book = (wxBookCtrl *)event.GetEventObject(); \ + wxBookCtrlBase *book = (wxBookCtrlBase *)event.GetEventObject(); \ if ( idx != wxNOT_FOUND && book && book->GetPageText(idx) == VETO_PAGE_NAME ) \ { \ if \ @@ -667,8 +677,6 @@ void MyFrame::OnBook(wxBookEvent& event) wxICON_QUESTION | wxYES_NO, this) != wxYES ) \ { \ event.Veto(); \ - \ - return; \ } \ \ } \ @@ -685,9 +693,7 @@ void MyFrame::OnBook(wxBookEvent& event) \ wxLogMessage(logMsg.c_str()); \ \ - m_text->SetInsertionPointEnd(); \ - \ - event.Skip(); \ + BOOKEVENT_LOG \ } #if wxUSE_NOTEBOOK