-void MyApp::InitTabView(wxNotebook* notebook, wxPanel* window)
-{
- m_okButton = new wxButton(window, wxID_OK, "Close", wxPoint(-1, -1), wxSize(80, 25));
- m_cancelButton = new wxButton(window, ID_DELETE_PAGE, "&Delete page", wxPoint(-1, -1), wxSize(80, 25));
- m_addPageButton = new wxButton(window, ID_ADD_PAGE, "&Add page", wxPoint(-1, -1), wxSize(80, 25));
- m_insertPageButton = new wxButton(window, ID_INSERT_PAGE, "&Insert page", wxPoint(-1, -1), wxSize(80, 25));
- m_nextPageButton = new wxButton(window, ID_NEXT_PAGE, "&Next page", wxPoint(-1, -1), wxSize(80, 25));
- m_okButton->SetDefault();
-
- wxLayoutConstraints *c;
- c = new wxLayoutConstraints;
- c->right.SameAs(window, wxRight, 4);
- c->bottom.SameAs(window, wxBottom, 4);
- c->height.AsIs();
- c->width.AsIs();
- m_addPageButton->SetConstraints(c);
-
- c = new wxLayoutConstraints;
- c->right.SameAs(m_addPageButton, wxLeft, 4);
- c->bottom.SameAs(window, wxBottom, 4);
- c->height.AsIs();
- c->width.AsIs();
- m_insertPageButton->SetConstraints(c);
-
- c = new wxLayoutConstraints;
- c->right.SameAs(m_insertPageButton, wxLeft, 4);
- c->bottom.SameAs(window, wxBottom, 4);
- c->height.AsIs();
- c->width.AsIs();
- m_nextPageButton->SetConstraints(c);
-
- c = new wxLayoutConstraints;
- c->right.SameAs(m_nextPageButton, wxLeft, 4);
- c->bottom.SameAs(window, wxBottom, 4);
- c->height.AsIs();
- c->width.AsIs();
- m_cancelButton->SetConstraints(c);
-
- c = new wxLayoutConstraints;
- c->right.SameAs(m_cancelButton, wxLeft, 4);
- c->bottom.SameAs(window, wxBottom, 4);
- c->height.AsIs();
- c->width.AsIs();
- m_okButton->SetConstraints(c);
-
- // Add some panels
- wxPanel *panel1 = new wxPanel(notebook, -1);
- // panel1->SetBackgroundColour(wxColour("RED"));
- (void)new wxButton(panel1, -1, "Press me", wxPoint(10, 10));
- (void)new wxTextCtrl(panel1, -1, "1234", wxPoint(10, 40), wxSize(120, 150));
-
- notebook->AddPage(panel1, "Cat", TRUE);
-
- wxPanel *panel2 = new wxPanel(notebook, -1);
- panel2->SetAutoLayout(TRUE);
- panel2->SetBackgroundColour(wxColour("BLUE"));
-
- wxString animals[] = { "Fox", "Hare", "Rabbit", "Sabre-toothed tiger", "T Rex" };
- wxRadioBox *radiobox = new wxRadioBox(panel2, -1, "Choose one",
- wxDefaultPosition, wxDefaultSize, 5, animals,
- 2, wxRA_SPECIFY_ROWS);
-
- c = new wxLayoutConstraints;
- c->left.SameAs(panel2, wxLeft, 10);
- c->top.SameAs(panel2, wxTop, 5);
- c->height.PercentOf(panel2, wxHeight, 50);
- c->right.SameAs(panel2, wxRight, 10);
- radiobox->SetConstraints(c);
-
- wxRadioBox *radiobox2 = new wxRadioBox(panel2, -1, "Choose one",
- wxDefaultPosition, wxDefaultSize,
- 5, animals,
- 2, wxRA_SPECIFY_ROWS);
-
- c = new wxLayoutConstraints;
- c->left.SameAs(radiobox, wxLeft);
- c->height.AsIs();
- c->top.Below(radiobox, 5);
- c->right.SameAs(radiobox, wxRight);
- radiobox2->SetConstraints(c);
-
- notebook->AddPage(panel2, "Dog");
-
- wxPanel *panel3 = new wxPanel(notebook, -1);
- panel3->SetBackgroundColour(wxColour("WHITE"));
- notebook->AddPage(panel3, "Goat");
-
- wxPanel *panel4 = new wxPanel(notebook, -1);
- panel4->SetBackgroundColour(wxColour("YELLOW"));
- notebook->AddPage(panel4, "Sheep");
-
- wxPanel *panel5 = new wxPanel(notebook, -1);
- panel5->SetBackgroundColour(wxColour("MAGENTA"));
- (void)new wxStaticText(panel5, -1, "This page has been inserted, not added", wxPoint(10, 10) );
- notebook->InsertPage(0, panel5, "Sheep");
-
- notebook->SetSelection(2);
-}
-
-#if USE_TABBED_DIALOG
-
-BEGIN_EVENT_TABLE(MyDialog, wxDialog)
- EVT_BUTTON(wxID_OK, MyDialog::OnOK)
- EVT_BUTTON(wxID_CANCEL, MyDialog::OnOK)
-END_EVENT_TABLE()
+wxPanel *CreateUserCreatedPage(wxBookCtrlBase *parent)
+{
+ wxPanel *panel = new wxPanel(parent);
+
+#if wxUSE_HELP
+ panel->SetHelpText( wxT( "Panel with a Button" ) );
+#endif
+
+ (void) new wxButton( panel, wxID_ANY, wxT("Button"),
+ wxPoint(10, 10), wxDefaultSize );
+
+ return panel;
+}
+
+wxPanel *CreateRadioButtonsPage(wxBookCtrlBase *parent)
+{
+ wxPanel *panel = new wxPanel(parent);
+
+#if wxUSE_HELP
+ panel->SetHelpText( wxT( "Panel with some Radio Buttons" ) );
+#endif
+
+ wxString animals[] = { wxT("Fox"), wxT("Hare"), wxT("Rabbit"),
+ wxT("Sabre-toothed tiger"), wxT("T Rex") };
+
+ wxRadioBox *radiobox1 = new wxRadioBox(panel, wxID_ANY, wxT("Choose one"),
+ wxDefaultPosition, wxDefaultSize, 5, animals, 2, wxRA_SPECIFY_ROWS);
+
+ wxString computers[] = { wxT("Amiga"), wxT("Commodore 64"), wxT("PET"),
+ wxT("Another") };
+
+ wxRadioBox *radiobox2 = new wxRadioBox(panel, wxID_ANY,
+ wxT("Choose your favourite"), wxDefaultPosition, wxDefaultSize,
+ 4, computers, 0, wxRA_SPECIFY_COLS);
+
+ wxBoxSizer *sizerPanel = new wxBoxSizer(wxVERTICAL);
+ sizerPanel->Add(radiobox1, 2, wxEXPAND);
+ sizerPanel->Add(radiobox2, 1, wxEXPAND);
+ panel->SetSizer(sizerPanel);
+
+ return panel;
+}
+
+wxPanel *CreateVetoPage(wxBookCtrlBase *parent)
+{
+ wxPanel *panel = new wxPanel(parent);
+
+#if wxUSE_HELP
+ panel->SetHelpText( wxT( "An empty panel" ) );
+#endif
+
+ (void) new wxStaticText( panel, wxID_ANY,
+ wxT("This page intentionally left blank"), wxPoint(10, 10) );
+
+ return panel;
+}
+
+wxPanel *CreateBigButtonPage(wxBookCtrlBase *parent)
+{
+ wxPanel *panel = new wxPanel(parent);
+
+#if wxUSE_HELP
+ panel->SetHelpText( wxT( "Panel with a maximized button" ) );
+#endif
+
+ wxButton *buttonBig = new wxButton(panel, wxID_ANY, wxT("Maximized button"));
+
+ wxBoxSizer *sizerPanel = new wxBoxSizer(wxVERTICAL);
+ sizerPanel->Add(buttonBig, 1, wxEXPAND);
+ panel->SetSizer(sizerPanel);
+
+ return panel;
+}
+
+
+wxPanel *CreateInsertPage(wxBookCtrlBase *parent)
+{
+ wxPanel *panel = new wxPanel(parent);
+
+#if wxUSE_HELP
+ panel->SetHelpText( wxT( "Maroon panel" ) );
+#endif
+
+ panel->SetBackgroundColour( wxColour( wxT("MAROON") ) );
+ (void) new wxStaticText( panel, wxID_ANY,
+ wxT("This page has been inserted, not added."), wxPoint(10, 10) );
+
+ return panel;
+}
+
+int GetIconIndex(wxBookCtrlBase* bookCtrl)
+{
+ if (bookCtrl && bookCtrl->GetImageList())
+ {
+ int nImages = bookCtrl->GetImageList()->GetImageCount();
+ if (nImages > 0)
+ {
+ return bookCtrl->GetPageCount() % nImages;
+ }
+ }