X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/eca15c0d5497309e402d4bb91f8e479b4fb70fa9..2fb0cabbf9e924c25d51b13bf7aa1ba8aa24e75e:/samples/notebook/notebook.cpp diff --git a/samples/notebook/notebook.cpp b/samples/notebook/notebook.cpp index c9e3cb44ca..0931f0a56d 100644 --- a/samples/notebook/notebook.cpp +++ b/samples/notebook/notebook.cpp @@ -311,18 +311,18 @@ MyFrame::~MyFrame() #define CASE_NOTEBOOK(x) #endif -#if wxUSE_CHOICEBOOK - #define CASE_CHOICEBOOK(x) case Type_Choicebook: x; break; -#else - #define CASE_CHOICEBOOK(x) -#endif - #if wxUSE_LISTBOOK #define CASE_LISTBOOK(x) case Type_Listbook: x; break; #else #define CASE_LISTBOOK(x) #endif +#if wxUSE_CHOICEBOOK + #define CASE_CHOICEBOOK(x) case Type_Choicebook: x; break; +#else + #define CASE_CHOICEBOOK(x) +#endif + #if wxUSE_TREEBOOK #define CASE_TREEBOOK(x) case Type_Treebook: x; break; #else @@ -333,8 +333,8 @@ MyFrame::~MyFrame() switch ( m_type ) \ { \ CASE_NOTEBOOK(before nb after) \ - CASE_CHOICEBOOK(before cb after) \ CASE_LISTBOOK(before lb after) \ + CASE_CHOICEBOOK(before cb after) \ CASE_TREEBOOK(before tb after) \ \ default: \ @@ -352,34 +352,29 @@ int MyFrame::TranslateBookFlag(int nb, int lb, int chb, int tbk) const void MyFrame::RecreateBook() { -#define SELECT_FLAG(flag) \ - TranslateBookFlag(wxNB_##flag, wxCHB_##flag, wxLB_##flag, wxTBK_##flag) - int flags; switch ( m_orient ) { case ID_ORIENT_TOP: - flags = SELECT_FLAG(TOP); + flags = wxBK_TOP; break; case ID_ORIENT_BOTTOM: - flags = SELECT_FLAG(BOTTOM); + flags = wxBK_BOTTOM; break; case ID_ORIENT_LEFT: - flags = SELECT_FLAG(LEFT); + flags = wxBK_LEFT; break; case ID_ORIENT_RIGHT: - flags = SELECT_FLAG(RIGHT); + flags = wxBK_RIGHT; break; default: - flags = SELECT_FLAG(DEFAULT); + flags = wxBK_DEFAULT; } -#undef SELECT_FLAG - if ( m_multi && m_type == Type_Notebook ) flags |= wxNB_MULTILINE; flags |= wxDOUBLE_BORDER; @@ -390,8 +385,8 @@ void MyFrame::RecreateBook() DISPATCH_ON_TYPE(m_bookCtrl = new, wxNotebook, - wxChoicebook, wxListbook, + wxChoicebook, wxTreebook, (m_panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, flags)); @@ -474,8 +469,6 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame) 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_ADD_SUB_PAGE, MyFrame::OnAddSubPage) - EVT_MENU(ID_ADD_PAGE_BEFORE, MyFrame::OnAddPageBefore) // Book controls #if wxUSE_NOTEBOOK @@ -490,18 +483,18 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame) EVT_CHOICEBOOK_PAGE_CHANGED(wxID_ANY, MyFrame::OnChoicebook) EVT_CHOICEBOOK_PAGE_CHANGING(wxID_ANY, MyFrame::OnChoicebook) #endif -#if wxUSE_CHOICEBOOK +#if wxUSE_TREEBOOK EVT_TREEBOOK_PAGE_CHANGED(wxID_ANY, MyFrame::OnTreebook) EVT_TREEBOOK_PAGE_CHANGING(wxID_ANY, MyFrame::OnTreebook) + + EVT_MENU(ID_ADD_SUB_PAGE, MyFrame::OnAddSubPage) + EVT_MENU(ID_ADD_PAGE_BEFORE, MyFrame::OnAddPageBefore) + EVT_UPDATE_UI_RANGE(ID_ADD_PAGE_BEFORE, ID_ADD_SUB_PAGE, + MyFrame::OnUpdateTreeMenu) #endif // Update title in idle time EVT_IDLE(MyFrame::OnIdle) - -#if wxUSE_TREEBOOK - EVT_UPDATE_UI_RANGE(ID_ADD_PAGE_BEFORE, ID_ADD_SUB_PAGE, - MyFrame::OnUpdateTreeMenu) -#endif // wxUSE_TREEBOOK END_EVENT_TABLE() void MyFrame::OnType(wxCommandEvent& event) @@ -734,13 +727,6 @@ void MyFrame::OnBookCtrl(wxBookCtrlBaseEvent& event) _T("wxNotebook") }, #endif // wxUSE_NOTEBOOK -#if wxUSE_CHOICEBOOK - { - wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED, - wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING, - _T("wxChoicebook") - }, -#endif // wxUSE_CHOICEBOOK #if wxUSE_LISTBOOK { wxEVT_COMMAND_LISTBOOK_PAGE_CHANGED, @@ -748,6 +734,13 @@ void MyFrame::OnBookCtrl(wxBookCtrlBaseEvent& event) _T("wxListbook") }, #endif // wxUSE_LISTBOOK +#if wxUSE_CHOICEBOOK + { + wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGED, + wxEVT_COMMAND_CHOICEBOOK_PAGE_CHANGING, + _T("wxChoicebook") + }, +#endif // wxUSE_CHOICEBOOK #if wxUSE_TREEBOOK { wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED, @@ -772,8 +765,11 @@ void MyFrame::OnBookCtrl(wxBookCtrlBaseEvent& event) else if ( eventType == ei.typeChanging ) { const int idx = event.GetOldSelection(); + + // NB: can't use wxStaticCast here as wxBookCtrlBase is not in + // wxRTTI const wxBookCtrlBase * const - book = wxStaticCast(event.GetEventObject(), wxBookCtrlBase); + book = wx_static_cast(wxBookCtrlBase *, event.GetEventObject()); if ( idx != wxNOT_FOUND && book && book->GetPageText(idx) == VETO_PAGE_NAME ) { @@ -817,4 +813,3 @@ void MyFrame::OnBookCtrl(wxBookCtrlBaseEvent& event) m_text->SetInsertionPointEnd(); #endif } -