no real change: just reorder the code

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59314 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Francesco Montorsi
2009-03-04 15:23:56 +00:00
parent a4d291f0ab
commit 425ec0a5a3
2 changed files with 115 additions and 91 deletions

View File

@@ -30,6 +30,10 @@
#include "../sample.xpm" #include "../sample.xpm"
#endif #endif
//-----------------------------------------------------------------------------
// MyApp
//-----------------------------------------------------------------------------
IMPLEMENT_APP(MyApp) IMPLEMENT_APP(MyApp)
bool MyApp::OnInit() bool MyApp::OnInit()
@@ -43,6 +47,7 @@ bool MyApp::OnInit()
// Create the main window // Create the main window
MyFrame *frame = new MyFrame(); MyFrame *frame = new MyFrame();
SetTopWindow(frame);
// Problem with generic wxNotebook implementation whereby it doesn't size // Problem with generic wxNotebook implementation whereby it doesn't size
// properly unless you set the size again // properly unless you set the size again
@@ -57,6 +62,11 @@ bool MyApp::OnInit()
return true; return true;
} }
//-----------------------------------------------------------------------------
// Creation functions
//-----------------------------------------------------------------------------
wxPanel *CreateUserCreatedPage(wxBookCtrlBase *parent) wxPanel *CreateUserCreatedPage(wxBookCtrlBase *parent)
{ {
wxPanel *panel = new wxPanel(parent); wxPanel *panel = new wxPanel(parent);
@@ -79,13 +89,15 @@ wxPanel *CreateRadioButtonsPage(wxBookCtrlBase *parent)
panel->SetHelpText( wxT( "Panel with some Radio Buttons" ) ); panel->SetHelpText( wxT( "Panel with some Radio Buttons" ) );
#endif #endif
wxString animals[] = { wxT("Fox"), wxT("Hare"), wxT("Rabbit"), wxString animals[] =
{ wxT("Fox"), wxT("Hare"), wxT("Rabbit"),
wxT("Sabre-toothed tiger"), wxT("T Rex") }; wxT("Sabre-toothed tiger"), wxT("T Rex") };
wxRadioBox *radiobox1 = new wxRadioBox(panel, wxID_ANY, wxT("Choose one"), wxRadioBox *radiobox1 = new wxRadioBox(panel, wxID_ANY, wxT("Choose one"),
wxDefaultPosition, wxDefaultSize, 5, animals, 2, wxRA_SPECIFY_ROWS); wxDefaultPosition, wxDefaultSize, 5, animals, 2, wxRA_SPECIFY_ROWS);
wxString computers[] = { wxT("Amiga"), wxT("Commodore 64"), wxT("PET"), wxString computers[] =
{ wxT("Amiga"), wxT("Commodore 64"), wxT("PET"),
wxT("Another") }; wxT("Another") };
wxRadioBox *radiobox2 = new wxRadioBox(panel, wxID_ANY, wxRadioBox *radiobox2 = new wxRadioBox(panel, wxID_ANY,
@@ -109,7 +121,8 @@ wxPanel *CreateVetoPage(wxBookCtrlBase *parent)
#endif #endif
(void) new wxStaticText( panel, wxID_ANY, (void) new wxStaticText( panel, wxID_ANY,
wxT("This page intentionally left blank"), wxPoint(10, 10) ); wxT("This page intentionally left blank"),
wxPoint(10, 10) );
return panel; return panel;
} }
@@ -131,7 +144,6 @@ wxPanel *CreateBigButtonPage(wxBookCtrlBase *parent)
return panel; return panel;
} }
wxPanel *CreateInsertPage(wxBookCtrlBase *parent) wxPanel *CreateInsertPage(wxBookCtrlBase *parent)
{ {
wxPanel *panel = new wxPanel(parent); wxPanel *panel = new wxPanel(parent);
@@ -142,7 +154,8 @@ wxPanel *CreateInsertPage(wxBookCtrlBase *parent)
panel->SetBackgroundColour( wxColour( wxT("MAROON") ) ); panel->SetBackgroundColour( wxColour( wxT("MAROON") ) );
(void) new wxStaticText( panel, wxID_ANY, (void) new wxStaticText( panel, wxID_ANY,
wxT("This page has been inserted, not added."), wxPoint(10, 10) ); wxT("This page has been inserted, not added."),
wxPoint(10, 10) );
return panel; return panel;
} }
@@ -205,6 +218,64 @@ wxPanel *CreatePage(wxBookCtrlBase *parent, const wxString&pageName)
return NULL; return NULL;
} }
//-----------------------------------------------------------------------------
// MyFrame
//-----------------------------------------------------------------------------
BEGIN_EVENT_TABLE(MyFrame, wxFrame)
// File menu
EVT_MENU_RANGE(ID_BOOK_NOTEBOOK, ID_BOOK_MAX, MyFrame::OnType)
EVT_MENU_RANGE(ID_ORIENT_DEFAULT, ID_ORIENT_MAX, MyFrame::OnOrient)
EVT_MENU(ID_SHOW_IMAGES, MyFrame::OnShowImages)
EVT_MENU(ID_MULTI, MyFrame::OnMulti)
EVT_MENU(wxID_EXIT, MyFrame::OnExit)
// Operations menu
EVT_MENU(ID_ADD_PAGE, MyFrame::OnAddPage)
EVT_MENU(ID_ADD_PAGE_NO_SELECT, MyFrame::OnAddPageNoSelect)
EVT_MENU(ID_INSERT_PAGE, MyFrame::OnInsertPage)
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_GO_HOME, MyFrame::OnGoHome)
#if wxUSE_HELP
EVT_MENU(ID_CONTEXT_HELP, MyFrame::OnContextHelp)
#endif // wxUSE_HELP
EVT_MENU(ID_HITTEST, MyFrame::OnHitTest)
// Book controls
#if wxUSE_NOTEBOOK
EVT_NOTEBOOK_PAGE_CHANGED(wxID_ANY, MyFrame::OnNotebook)
EVT_NOTEBOOK_PAGE_CHANGING(wxID_ANY, MyFrame::OnNotebook)
#endif
#if wxUSE_LISTBOOK
EVT_LISTBOOK_PAGE_CHANGED(wxID_ANY, MyFrame::OnListbook)
EVT_LISTBOOK_PAGE_CHANGING(wxID_ANY, MyFrame::OnListbook)
#endif
#if wxUSE_CHOICEBOOK
EVT_CHOICEBOOK_PAGE_CHANGED(wxID_ANY, MyFrame::OnChoicebook)
EVT_CHOICEBOOK_PAGE_CHANGING(wxID_ANY, MyFrame::OnChoicebook)
#endif
#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
#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)
END_EVENT_TABLE()
MyFrame::MyFrame() MyFrame::MyFrame()
: wxFrame(NULL, wxID_ANY, wxString(wxT("wxWidgets book controls sample"))) : wxFrame(NULL, wxID_ANY, wxString(wxT("wxWidgets book controls sample")))
{ {
@@ -507,58 +578,35 @@ void MyFrame::RecreateBook()
m_sizerFrame->Layout(); m_sizerFrame->Layout();
} }
BEGIN_EVENT_TABLE(MyFrame, wxFrame) void MyFrame::AddFlagStrIfFlagPresent(wxString & flagStr, long flags, long flag,
// File menu const wxChar * flagName) const
EVT_MENU_RANGE(ID_BOOK_NOTEBOOK, ID_BOOK_MAX, MyFrame::OnType) {
EVT_MENU_RANGE(ID_ORIENT_DEFAULT, ID_ORIENT_MAX, MyFrame::OnOrient) if( (flags & flag) == flag )
EVT_MENU(ID_SHOW_IMAGES, MyFrame::OnShowImages) {
EVT_MENU(ID_MULTI, MyFrame::OnMulti) if( !flagStr.empty() )
EVT_MENU(wxID_EXIT, MyFrame::OnExit) flagStr += _T(" | ");
flagStr += flagName;
}
}
// Operations menu wxPanel *MyFrame::CreateNewPage() const
EVT_MENU(ID_ADD_PAGE, MyFrame::OnAddPage) {
EVT_MENU(ID_ADD_PAGE_NO_SELECT, MyFrame::OnAddPageNoSelect) wxPanel *panel = new wxPanel(m_bookCtrl, wxID_ANY );
EVT_MENU(ID_INSERT_PAGE, MyFrame::OnInsertPage)
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_GO_HOME, MyFrame::OnGoHome)
#if wxUSE_HELP #if wxUSE_HELP
EVT_MENU(ID_CONTEXT_HELP, MyFrame::OnContextHelp) panel->SetHelpText( wxT( "Panel with \"First\" and \"Second\" buttons" ) );
#endif // wxUSE_HELP
EVT_MENU(ID_HITTEST, MyFrame::OnHitTest)
// Book controls
#if wxUSE_NOTEBOOK
EVT_NOTEBOOK_PAGE_CHANGED(wxID_ANY, MyFrame::OnNotebook)
EVT_NOTEBOOK_PAGE_CHANGING(wxID_ANY, MyFrame::OnNotebook)
#endif
#if wxUSE_LISTBOOK
EVT_LISTBOOK_PAGE_CHANGED(wxID_ANY, MyFrame::OnListbook)
EVT_LISTBOOK_PAGE_CHANGING(wxID_ANY, MyFrame::OnListbook)
#endif
#if wxUSE_CHOICEBOOK
EVT_CHOICEBOOK_PAGE_CHANGED(wxID_ANY, MyFrame::OnChoicebook)
EVT_CHOICEBOOK_PAGE_CHANGING(wxID_ANY, MyFrame::OnChoicebook)
#endif
#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
#if wxUSE_TOOLBOOK
EVT_TOOLBOOK_PAGE_CHANGED(wxID_ANY, MyFrame::OnToolbook)
EVT_TOOLBOOK_PAGE_CHANGING(wxID_ANY, MyFrame::OnToolbook)
#endif #endif
// Update title in idle time (void) new wxButton(panel, wxID_ANY, wxT("First button"), wxPoint(10, 30));
EVT_IDLE(MyFrame::OnIdle) (void) new wxButton(panel, wxID_ANY, wxT("Second button"), wxPoint(150, 30));
END_EVENT_TABLE()
return panel;
}
//-----------------------------------------------------------------------------
// MyFrame - event handlers
//-----------------------------------------------------------------------------
#if wxUSE_HELP #if wxUSE_HELP
@@ -570,16 +618,6 @@ void MyFrame::OnContextHelp(wxCommandEvent& WXUNUSED(event))
#endif // wxUSE_HELP #endif // wxUSE_HELP
void MyFrame::AddFlagStrIfFlagPresent(wxString & flagStr, long flags, long flag, const wxChar * flagName) const
{
if( (flags & flag) == flag )
{
if( !flagStr.empty() )
flagStr += _T(" | ");
flagStr += flagName;
}
}
void MyFrame::OnHitTest(wxCommandEvent& WXUNUSED(event)) void MyFrame::OnHitTest(wxCommandEvent& WXUNUSED(event))
{ {
wxBookCtrlBase * book = GetCurrentBook(); wxBookCtrlBase * book = GetCurrentBook();
@@ -621,7 +659,6 @@ void MyFrame::OnUpdateTreeMenu(wxUpdateUIEvent& event)
#endif // wxUSE_TREEBOOK #endif // wxUSE_TREEBOOK
void MyFrame::OnOrient(wxCommandEvent& event) void MyFrame::OnOrient(wxCommandEvent& event)
{ {
m_orient = event.GetId(); m_orient = event.GetId();
@@ -649,20 +686,6 @@ void MyFrame::OnExit(wxCommandEvent& WXUNUSED(event))
Close(); Close();
} }
wxPanel *MyFrame::CreateNewPage() const
{
wxPanel *panel = new wxPanel(m_bookCtrl, wxID_ANY );
#if wxUSE_HELP
panel->SetHelpText( wxT( "Panel with \"First\" and \"Second\" buttons" ) );
#endif
(void) new wxButton(panel, wxID_ANY, wxT("First button"), wxPoint(10, 10));
(void) new wxButton(panel, wxID_ANY, wxT("Second button"), wxPoint(50, 100));
return panel;
}
void MyFrame::OnAddPage(wxCommandEvent& WXUNUSED(event)) void MyFrame::OnAddPage(wxCommandEvent& WXUNUSED(event))
{ {
wxBookCtrlBase *currBook = GetCurrentBook(); wxBookCtrlBase *currBook = GetCurrentBook();

View File

@@ -158,10 +158,11 @@ enum ID_COMMANDS
ID_HITTEST ID_HITTEST
}; };
/* /*
Name of each notebook page. Name of each notebook page.
Used as a label for a page, and used when cloning the notebook Used as a label for a page, and used when cloning the notebook
to decide what type of page it is. to decide what type of page it is.
*/ */
#define I_WAS_INSERTED_PAGE_NAME wxT("Inserted") #define I_WAS_INSERTED_PAGE_NAME wxT("Inserted")