Adapted notebook sample to demonstrate wxToolbook

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37216 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2006-01-30 15:40:32 +00:00
parent 7dcea26b0b
commit d709457c8d
2 changed files with 32 additions and 4 deletions

View File

@@ -211,6 +211,9 @@ MyFrame::MyFrame()
#if wxUSE_TREEBOOK #if wxUSE_TREEBOOK
menuType->AppendRadioItem(ID_BOOK_TREEBOOK, wxT("&Treebook\tCtrl-4")); menuType->AppendRadioItem(ID_BOOK_TREEBOOK, wxT("&Treebook\tCtrl-4"));
#endif #endif
#if wxUSE_TOOLBOOK
menuType->AppendRadioItem(ID_BOOK_TOOLBOOK, wxT("T&oolbook\tCtrl-5"));
#endif
menuType->Check(ID_BOOK_NOTEBOOK + m_type, true); menuType->Check(ID_BOOK_NOTEBOOK + m_type, true);
@@ -329,23 +332,30 @@ MyFrame::~MyFrame()
#define CASE_TREEBOOK(x) #define CASE_TREEBOOK(x)
#endif #endif
#define DISPATCH_ON_TYPE(before, nb, lb, cb, tb, after) \ #if wxUSE_TOOLBOOK
#define CASE_TOOLBOOK(x) case Type_Toolbook: x; break;
#else
#define CASE_TOOLBOOK(x)
#endif
#define DISPATCH_ON_TYPE(before, nb, lb, cb, tb, toolb, after) \
switch ( m_type ) \ switch ( m_type ) \
{ \ { \
CASE_NOTEBOOK(before nb after) \ CASE_NOTEBOOK(before nb after) \
CASE_LISTBOOK(before lb after) \ CASE_LISTBOOK(before lb after) \
CASE_CHOICEBOOK(before cb after) \ CASE_CHOICEBOOK(before cb after) \
CASE_TREEBOOK(before tb after) \ CASE_TREEBOOK(before tb after) \
CASE_TOOLBOOK(before toolb after) \
\ \
default: \ default: \
wxFAIL_MSG( _T("unknown book control type") ); \ wxFAIL_MSG( _T("unknown book control type") ); \
} }
int MyFrame::TranslateBookFlag(int nb, int lb, int chb, int tbk) const int MyFrame::TranslateBookFlag(int nb, int lb, int chb, int tbk, int toolbk) const
{ {
int flag = 0; int flag = 0;
DISPATCH_ON_TYPE(flag =, nb, lb, chb, tbk, + 0); DISPATCH_ON_TYPE(flag =, nb, lb, chb, tbk, toolbk, + 0);
return flag; return flag;
} }
@@ -388,6 +398,7 @@ void MyFrame::RecreateBook()
wxListbook, wxListbook,
wxChoicebook, wxChoicebook,
wxTreebook, wxTreebook,
wxToolbook,
(m_panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, flags)); (m_panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, flags));
if ( !m_bookCtrl ) if ( !m_bookCtrl )
@@ -492,6 +503,10 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_UPDATE_UI_RANGE(ID_ADD_PAGE_BEFORE, ID_ADD_SUB_PAGE, EVT_UPDATE_UI_RANGE(ID_ADD_PAGE_BEFORE, ID_ADD_SUB_PAGE,
MyFrame::OnUpdateTreeMenu) MyFrame::OnUpdateTreeMenu)
#endif #endif
#if wxUSE_TOOLBOOK
EVT_TOOLBOOK_PAGE_CHANGED(wxID_ANY, MyFrame::OnToolbook)
EVT_TOOLBOOK_PAGE_CHANGING(wxID_ANY, MyFrame::OnToolbook)
#endif
// Update title in idle time // Update title in idle time
EVT_IDLE(MyFrame::OnIdle) EVT_IDLE(MyFrame::OnIdle)
@@ -748,6 +763,13 @@ void MyFrame::OnBookCtrl(wxBookCtrlBaseEvent& event)
_T("wxTreebook") _T("wxTreebook")
}, },
#endif // wxUSE_TREEBOOK #endif // wxUSE_TREEBOOK
#if wxUSE_TOOLBOOK
{
wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGED,
wxEVT_COMMAND_TOOLBOOK_PAGE_CHANGING,
_T("wxToolbook")
},
#endif // wxUSE_TOOLBOOK
}; };

View File

@@ -13,6 +13,7 @@
#include "wx/listbook.h" #include "wx/listbook.h"
#include "wx/treebook.h" #include "wx/treebook.h"
#include "wx/notebook.h" #include "wx/notebook.h"
#include "wx/toolbook.h"
#if wxUSE_LOG && !defined( __SMARTPHONE__ ) #if wxUSE_LOG && !defined( __SMARTPHONE__ )
#define USE_LOG 1 #define USE_LOG 1
@@ -64,6 +65,9 @@ public:
#if wxUSE_TREEBOOK #if wxUSE_TREEBOOK
void OnTreebook(wxTreebookEvent& event) { OnBookCtrl(event); } void OnTreebook(wxTreebookEvent& event) { OnBookCtrl(event); }
#endif #endif
#if wxUSE_TOOLBOOK
void OnToolbook(wxToolbookEvent& event) { OnBookCtrl(event); }
#endif
void OnIdle(wxIdleEvent& event); void OnIdle(wxIdleEvent& event);
@@ -78,7 +82,7 @@ private:
void RecreateBook(); void RecreateBook();
wxPanel *CreateNewPage() const; wxPanel *CreateNewPage() const;
int TranslateBookFlag(int nb, int lb, int chb, int tbk) const; int TranslateBookFlag(int nb, int lb, int chb, int tbk, int toolbk) const;
// Sample setup // Sample setup
enum BookType enum BookType
@@ -87,6 +91,7 @@ private:
Type_Listbook, Type_Listbook,
Type_Choicebook, Type_Choicebook,
Type_Treebook, Type_Treebook,
Type_Toolbook,
Type_Max Type_Max
} m_type; } m_type;
int m_orient; int m_orient;
@@ -117,6 +122,7 @@ enum ID_COMMANDS
ID_BOOK_LISTBOOK, ID_BOOK_LISTBOOK,
ID_BOOK_CHOICEBOOK, ID_BOOK_CHOICEBOOK,
ID_BOOK_TREEBOOK, ID_BOOK_TREEBOOK,
ID_BOOK_TOOLBOOK,
ID_BOOK_MAX, ID_BOOK_MAX,
ID_ORIENT_DEFAULT, ID_ORIENT_DEFAULT,