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
menuType->AppendRadioItem(ID_BOOK_TREEBOOK, wxT("&Treebook\tCtrl-4"));
#endif
#if wxUSE_TOOLBOOK
menuType->AppendRadioItem(ID_BOOK_TOOLBOOK, wxT("T&oolbook\tCtrl-5"));
#endif
menuType->Check(ID_BOOK_NOTEBOOK + m_type, true);
@ -329,23 +332,30 @@ MyFrame::~MyFrame()
#define CASE_TREEBOOK(x)
#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 ) \
{ \
CASE_NOTEBOOK(before nb after) \
CASE_LISTBOOK(before lb after) \
CASE_CHOICEBOOK(before cb after) \
CASE_TREEBOOK(before tb after) \
CASE_TOOLBOOK(before toolb after) \
\
default: \
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;
DISPATCH_ON_TYPE(flag =, nb, lb, chb, tbk, + 0);
DISPATCH_ON_TYPE(flag =, nb, lb, chb, tbk, toolbk, + 0);
return flag;
}
@ -388,6 +398,7 @@ void MyFrame::RecreateBook()
wxListbook,
wxChoicebook,
wxTreebook,
wxToolbook,
(m_panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, flags));
if ( !m_bookCtrl )
@ -492,6 +503,10 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_UPDATE_UI_RANGE(ID_ADD_PAGE_BEFORE, ID_ADD_SUB_PAGE,
MyFrame::OnUpdateTreeMenu)
#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
EVT_IDLE(MyFrame::OnIdle)
@ -748,6 +763,13 @@ void MyFrame::OnBookCtrl(wxBookCtrlBaseEvent& event)
_T("wxTreebook")
},
#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/treebook.h"
#include "wx/notebook.h"
#include "wx/toolbook.h"
#if wxUSE_LOG && !defined( __SMARTPHONE__ )
#define USE_LOG 1
@ -64,6 +65,9 @@ public:
#if wxUSE_TREEBOOK
void OnTreebook(wxTreebookEvent& event) { OnBookCtrl(event); }
#endif
#if wxUSE_TOOLBOOK
void OnToolbook(wxToolbookEvent& event) { OnBookCtrl(event); }
#endif
void OnIdle(wxIdleEvent& event);
@ -78,7 +82,7 @@ private:
void RecreateBook();
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
enum BookType
@ -87,6 +91,7 @@ private:
Type_Listbook,
Type_Choicebook,
Type_Treebook,
Type_Toolbook,
Type_Max
} m_type;
int m_orient;
@ -117,6 +122,7 @@ enum ID_COMMANDS
ID_BOOK_LISTBOOK,
ID_BOOK_CHOICEBOOK,
ID_BOOK_TREEBOOK,
ID_BOOK_TOOLBOOK,
ID_BOOK_MAX,
ID_ORIENT_DEFAULT,