X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/873ff54b1f05225421d89b1256a808d673aeb269..e0dec8753abaf97e006ea1185bfb6775b28df0a8:/samples/notebook/notebook.cpp diff --git a/samples/notebook/notebook.cpp b/samples/notebook/notebook.cpp index f43dee7bd8..46da69e90f 100644 --- a/samples/notebook/notebook.cpp +++ b/samples/notebook/notebook.cpp @@ -26,7 +26,7 @@ #include "wx/utils.h" #include "notebook.h" -#if !defined(__WXMSW__) && !defined(__WXPM__) +#ifndef wxHAS_IMAGES_IN_RESOURCES #include "../sample.xpm" #endif @@ -239,6 +239,8 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame) EVT_MENU(ID_NEXT_PAGE, MyFrame::OnNextPage) EVT_MENU(ID_CHANGE_SELECTION, MyFrame::OnChangeSelection) EVT_MENU(ID_SET_SELECTION, MyFrame::OnSetSelection) + EVT_MENU(ID_GET_PAGE_SIZE, MyFrame::OnGetPageSize) + EVT_MENU(ID_SET_PAGE_SIZE, MyFrame::OnSetPageSize) #if wxUSE_HELP EVT_MENU(ID_CONTEXT_HELP, MyFrame::OnContextHelp) @@ -300,7 +302,7 @@ MyFrame::MyFrame() #elif wxUSE_AUI m_type = Type_Aui; #else - #error "Don't use Notebook sample without any book enabled in wxWidgets build!" + m_type = Type_Simplebook; #endif m_orient = ID_ORIENT_DEFAULT; @@ -333,6 +335,7 @@ MyFrame::MyFrame() #if wxUSE_AUI menuType->AppendRadioItem(ID_BOOK_AUINOTEBOOK, wxT("&AuiNotebook\tCtrl-6")); #endif + menuType->AppendRadioItem(ID_BOOK_SIMPLEBOOK, "&Simple book\tCtrl-7"); menuType->Check(ID_BOOK_NOTEBOOK + m_type, true); @@ -369,6 +372,9 @@ MyFrame::MyFrame() menuPageOperations->AppendSeparator(); menuPageOperations->Append(ID_CHANGE_SELECTION, wxT("&Change selection to 0\tCtrl-0")); menuPageOperations->Append(ID_SET_SELECTION, wxT("&Set selection to 0\tShift-Ctrl-0")); + menuPageOperations->AppendSeparator(); + menuPageOperations->Append(ID_GET_PAGE_SIZE, "Sho&w page size"); + menuPageOperations->Append(ID_SET_PAGE_SIZE, "Set &page size"); wxMenu *menuOperations = new wxMenu; #if wxUSE_HELP @@ -484,7 +490,9 @@ MyFrame::~MyFrame() #define CASE_AUINOTEBOOK(x) #endif -#define DISPATCH_ON_TYPE(before, nb, lb, cb, tb, toolb, aui, after) \ +#define CASE_SIMPLEBOOK(x) case Type_Simplebook: x; break; + +#define DISPATCH_ON_TYPE(before, nb, lb, cb, tb, toolb, aui, sb, after) \ switch ( m_type ) \ { \ CASE_NOTEBOOK(before nb after) \ @@ -493,20 +501,12 @@ MyFrame::~MyFrame() CASE_TREEBOOK(before tb after) \ CASE_TOOLBOOK(before toolb after) \ CASE_AUINOTEBOOK(before aui after) \ + CASE_SIMPLEBOOK(before sb after) \ \ default: \ - wxFAIL_MSG( wxT("unknown book control type") ); \ + wxFAIL_MSG( wxT("unknown book control type") ); \ } -int MyFrame::TranslateBookFlag(int nb, int lb, int chb, int tbk, int toolbk, int aui) const -{ - int flag = 0; - - DISPATCH_ON_TYPE(flag =, nb, lb, chb, tbk, toolbk, aui, + 0); - - return flag; -} - void MyFrame::RecreateBook() { int flags; @@ -558,6 +558,7 @@ void MyFrame::RecreateBook() wxTreebook, wxToolbook, wxAuiNotebook, + wxSimplebook, (m_panel, wxID_ANY, wxDefaultPosition, wxDefaultSize, flags)); if ( !m_bookCtrl ) @@ -908,6 +909,33 @@ void MyFrame::OnSetSelection(wxCommandEvent& WXUNUSED(event)) currBook->SetSelection(0); } +void MyFrame::OnGetPageSize(wxCommandEvent& WXUNUSED(event)) +{ + wxBookCtrlBase* const currBook = GetCurrentBook(); + if ( !currBook ) + return; + + const wxSize sizePage = currBook->GetPage(0)->GetSize(); + const wxSize sizeBook = currBook->GetSize(); + + wxLogMessage("Page size is (%d, %d), book size (%d, %d)", + sizePage.x, sizePage.y, + sizeBook.x, sizeBook.y); +} + +void MyFrame::OnSetPageSize(wxCommandEvent& WXUNUSED(event)) +{ + wxBookCtrlBase* const currBook = GetCurrentBook(); + if ( !currBook ) + return; + + const wxSize sizePage(300, 300); + currBook->SetPageSize(sizePage); + + wxLogMessage("Page size set to (%d, %d)", + sizePage.x, sizePage.y); +} + void MyFrame::OnIdle( wxIdleEvent& WXUNUSED(event) ) { static int s_nPages = wxNOT_FOUND;