]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/notebook/test.cpp
compilation fixes
[wxWidgets.git] / samples / notebook / test.cpp
index f86b14b7971669b05eaef24c513e3a917985f45c..9a35002ed626895bd3fd3a05d90661137bcddd2e 100644 (file)
@@ -20,7 +20,6 @@
 #include "wx/wx.h"
 #endif
 
-#include "wx/tab.h"
 #include "test.h"
 
 // If 1, use a dialog. Otherwise use a frame.
@@ -44,18 +43,23 @@ bool MyApp::OnInit(void)
 #else
   frame = new MyFrame((wxFrame*) NULL, -1, (char *) "Notebook", wxPoint(-1, -1), wxSize(365, 390), wxDEFAULT_FRAME_STYLE);
 
+  // Problem with generic wxNotebook implementation whereby it doesn't size properly unless
+  // you set the size again
+#if defined(__WIN16__)
+  int width, height;
+  frame->GetSize(& width, & height);
+  frame->SetSize(-1, -1, width, height);
+#endif
+
   return TRUE;
 #endif
 }
 
 void MyApp::InitTabView(wxNotebook* notebook, wxWindow* window)
 {
-  int dialogWidth = 365;
-  int dialogHeight = 390;
-  
   m_okButton = new wxButton(window, wxID_OK, "Close", wxPoint(-1, -1), wxSize(80, 25));
-  m_cancelButton = new wxButton(window, wxID_CANCEL, "Cancel", wxPoint(-1, -1), wxSize(80, 25));
-  m_helpButton = new wxButton(window, wxID_HELP, "Help", 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_okButton->SetDefault();
 
   wxLayoutConstraints* c = new wxLayoutConstraints;
@@ -63,10 +67,10 @@ void MyApp::InitTabView(wxNotebook* notebook, wxWindow* window)
   c->bottom.SameAs(window, wxBottom, 4);
   c->height.AsIs();
   c->width.AsIs();
-  m_helpButton->SetConstraints(c);
+  m_addPageButton->SetConstraints(c);
 
   c = new wxLayoutConstraints;
-  c->right.SameAs(m_helpButton, wxLeft, 4);
+  c->right.SameAs(m_addPageButton, wxLeft, 4);
   c->bottom.SameAs(window, wxBottom, 4);
   c->height.AsIs();
   c->width.AsIs();
@@ -85,7 +89,7 @@ void MyApp::InitTabView(wxNotebook* notebook, wxWindow* window)
   (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");
+  notebook->AddPage(panel1, "Cat", TRUE);
 
   wxPanel *panel2 = new wxPanel(notebook, -1);
   panel2->SetBackgroundColour(wxColour("BLUE"));
@@ -97,7 +101,6 @@ void MyApp::InitTabView(wxNotebook* notebook, wxWindow* window)
     wxTE_MULTILINE);
 
   notebook->AddPage(panel2, "Dog");
-
   wxPanel *panel3 = new wxPanel(notebook, -1);
   panel3->SetBackgroundColour(wxColour("WHITE"));
   notebook->AddPage(panel3, "Goat");
@@ -105,6 +108,11 @@ void MyApp::InitTabView(wxNotebook* notebook, wxWindow* window)
   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");
 }
 
 BEGIN_EVENT_TABLE(MyDialog, wxDialog)
@@ -131,9 +139,6 @@ void MyDialog::OnCloseWindow(wxCloseEvent& WXUNUSED(event) )
 
 void MyDialog::Init(void)
 {
-  int dialogWidth = 365;
-  int dialogHeight = 390;
-  
   m_notebook = new wxNotebook(this, ID_NOTEBOOK);
 
   wxLayoutConstraints* c = new wxLayoutConstraints;
@@ -154,7 +159,8 @@ void MyDialog::Init(void)
 
 BEGIN_EVENT_TABLE(MyFrame, wxFrame)
     EVT_BUTTON(wxID_OK, MyFrame::OnOK)
-    EVT_BUTTON(wxID_CANCEL, MyFrame::OnOK)
+    EVT_BUTTON(ID_DELETE_PAGE, MyFrame::OnDeletePage)
+    EVT_BUTTON(ID_ADD_PAGE, MyFrame::OnAddPage)
     EVT_SIZE(MyFrame::OnSize)
 END_EVENT_TABLE()
 
@@ -167,6 +173,19 @@ MyFrame::MyFrame(wxFrame* parent, const wxWindowID id, const wxString& title,
     Init();
 }
 
+void MyFrame::OnAddPage(wxCommandEvent& WXUNUSED(event))
+{
+  wxPanel *panel = new wxPanel( m_notebook, -1 );
+  (void)new wxButton( panel, -1, "Button", wxPoint( 10,10 ), wxSize(-1,-1) );
+  m_notebook->AddPage( panel, "Added" );
+//  m_notebook->SetSelection( m_notebook->GetPageCount()-1 );
+}
+
+void MyFrame::OnDeletePage(wxCommandEvent& WXUNUSED(event))
+{
+  m_notebook->DeletePage( m_notebook->GetPageCount()-1 );
+}
+
 void MyFrame::OnOK(wxCommandEvent& WXUNUSED(event) )
 {
     this->Destroy();
@@ -179,9 +198,6 @@ void MyFrame::OnCloseWindow(wxCloseEvent& WXUNUSED(event) )
 
 void MyFrame::Init(void)
 {
-  int dialogWidth = 365;
-  int dialogHeight = 390;
-
   m_panel = new wxPanel(this, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL|wxCLIP_CHILDREN);
 
   // Note, omit the wxTAB_STYLE_COLOUR_INTERIOR, so we will guarantee a match