]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/widgets/notebook.cpp
Line-up interfaces to use size_t for GetCount()s (and count related api).
[wxWidgets.git] / samples / widgets / notebook.cpp
index adfbb5ad2e7d5c56ad84f8876b7d9fd29e5fc07b..44279c70d1fe1db8c8d7cf4bf05d0b43bcdbf953 100644 (file)
@@ -24,6 +24,8 @@
     #pragma hdrstop
 #endif
 
+#if wxUSE_NOTEBOOK
+
 // for all others, include the necessary headers
 #ifndef WX_PRECOMP
     #include "wx/app.h"
@@ -44,7 +46,6 @@
 #include "wx/artprov.h"
 
 #include "widgets.h"
-#if 1
 #include "icons/notebook.xpm"
 
 // ----------------------------------------------------------------------------
@@ -78,11 +79,6 @@ enum Orient
     Orient_Max
 };
 
-// old versions of wxWidgets don't define this style
-#ifndef wxNB_TOP
-    #define wxNB_TOP (0)
-#endif
-
 // ----------------------------------------------------------------------------
 // NotebookWidgetsPage
 // ----------------------------------------------------------------------------
@@ -90,9 +86,11 @@ enum Orient
 class NotebookWidgetsPage : public WidgetsPage
 {
 public:
-    NotebookWidgetsPage(wxNotebook *notebook, wxImageList *imaglist);
+    NotebookWidgetsPage(wxBookCtrlBase *book, wxImageList *imaglist);
     virtual ~NotebookWidgetsPage();
 
+    virtual wxControl *GetWidget() const { return m_notebook; }
+
 protected:
     // event handlers
     void OnPageChanging(wxNotebookEvent& event);
@@ -194,9 +192,9 @@ END_EVENT_TABLE()
 
 IMPLEMENT_WIDGETS_PAGE(NotebookWidgetsPage, _T("Notebook"));
 
-NotebookWidgetsPage::NotebookWidgetsPage(wxNotebook *notebook,
+NotebookWidgetsPage::NotebookWidgetsPage(wxBookCtrlBase *book,
                                          wxImageList *imaglist)
-                  : WidgetsPage(notebook)
+                  : WidgetsPage(book)
 {
     imaglist->Add(wxBitmap(notebook_xpm));
 
@@ -353,27 +351,27 @@ void NotebookWidgetsPage::CreateNotebook()
     switch ( m_radioOrient->GetSelection() )
     {
         default:
-            wxFAIL_MSG( _T("unknown notebok orientation") );
+            wxFAIL_MSG( _T("unknown notebook orientation") );
             // fall through
 
         case Orient_Top:
-            flags = wxNB_TOP;
+            flags = wxBK_TOP;
             break;
 
         case Orient_Bottom:
-            flags = wxNB_BOTTOM;
+            flags = wxBK_BOTTOM;
             break;
 
         case Orient_Left:
-            flags = wxNB_LEFT;
+            flags = wxBK_LEFT;
             break;
 
         case Orient_Right:
-            flags = wxNB_RIGHT;
+            flags = wxBK_RIGHT;
             break;
     }
 
-    wxNotebook *notebook = m_notebook;
+    wxNotebook *old_note = m_notebook;
 
     m_notebook = new wxNotebook(this, NotebookPage_Notebook,
                                 wxDefaultPosition, wxDefaultSize,
@@ -381,23 +379,24 @@ void NotebookWidgetsPage::CreateNotebook()
 
     CreateImageList();
 
-    if ( notebook )
+    if ( old_note )
     {
-        const int sel = notebook->GetSelection();
+        const int sel = old_note->GetSelection();
 
-        const int count = notebook->GetPageCount();
+        const int count = old_note->GetPageCount();
 
         // recreate the pages
         for ( int n = 0; n < count; n++ )
         {
             m_notebook->AddPage(CreateNewPage(),
-                                notebook->GetPageText(n),
+                                old_note->GetPageText(n),
                                 false,
-                                notebook->GetPageImage(n));
+                                m_chkImages->GetValue() ?
+                                GetIconIndex() : -1);
         }
 
-        m_sizerNotebook->Detach( notebook );
-        delete notebook;
+        m_sizerNotebook->Detach( old_note );
+        delete old_note;
 
         // restore selection
         if ( sel != -1 )
@@ -507,7 +506,7 @@ void NotebookWidgetsPage::OnUpdateUIRemoveButton(wxUpdateUIEvent& event)
 void NotebookWidgetsPage::OnUpdateUIResetButton(wxUpdateUIEvent& event)
 {
     event.Enable( !m_chkImages->GetValue() ||
-                  m_radioOrient->GetSelection() != wxNB_TOP );
+                  m_radioOrient->GetSelection() != wxBK_TOP );
 }
 
 void NotebookWidgetsPage::OnUpdateUINumPagesText(wxUpdateUIEvent& event)
@@ -545,4 +544,4 @@ void NotebookWidgetsPage::OnPageChanged(wxNotebookEvent& event)
     event.Skip();
 }
 
-#endif
+#endif // wxUSE_NOTEBOOK