#include "wx/sizer.h"
#include "wx/notebook.h"
+#include "wx/artprov.h"
#include "widgets.h"
-
+#if 1
#include "icons/notebook.xpm"
// ----------------------------------------------------------------------------
// get the numeric value of text ctrl
int GetTextValue(wxTextCtrl *text) const;
+ // is the value in range?
+ bool IsValidValue(int val) const
+ { return (val >= 0) && (val < m_notebook->GetPageCount()); }
+
// the controls
// ------------
wxSizer *sizerRight = new wxBoxSizer(wxHORIZONTAL);
m_notebook = new wxNotebook(this, NotebookPage_Notebook);
sizerRight->Add(m_notebook, 1, wxGROW | wxALL, 5);
- sizerRight->SetMinSize(250, 0);
+ sizerRight->SetMinSize(150, 0);
m_sizerNotebook = sizerRight; // save it to modify it later
// the 3 panes panes compose the window
{
// create a dummy image list with a few icons
m_imageList = new wxImageList(32, 32);
- m_imageList->Add(wxTheApp->GetStdIcon(wxICON_INFORMATION));
- m_imageList->Add(wxTheApp->GetStdIcon(wxICON_QUESTION));
- m_imageList->Add(wxTheApp->GetStdIcon(wxICON_WARNING));
- m_imageList->Add(wxTheApp->GetStdIcon(wxICON_ERROR));
+ wxSize size(32, 32);
+ m_imageList->Add(wxArtProvider::GetIcon(wxART_INFORMATION, wxART_OTHER, size));
+ m_imageList->Add(wxArtProvider::GetIcon(wxART_QUESTION, wxART_OTHER, size));
+ m_imageList->Add(wxArtProvider::GetIcon(wxART_WARNING, wxART_OTHER, size));
+ m_imageList->Add(wxArtProvider::GetIcon(wxART_ERROR, wxART_OTHER, size));
}
m_notebook->SetImageList(m_imageList);
if ( notebook )
{
- int sel = notebook->GetSelection();
+ const int sel = notebook->GetSelection();
+
+ const int count = notebook->GetPageCount();
- int count = notebook->GetPageCount();
+ // recreate the pages
for ( int n = 0; n < count; n++ )
{
- wxNotebookPage *page = notebook->GetPage(0);
- page->Reparent(m_notebook);
-
- m_notebook->AddPage(page, notebook->GetPageText(0), FALSE,
- notebook->GetPageImage(0));
-
- notebook->RemovePage(0);
+ m_notebook->AddPage(CreateNewPage(),
+ notebook->GetPageText(n),
+ FALSE,
+ notebook->GetPageImage(n));
}
- m_sizerNotebook->Remove(notebook);
+ m_sizerNotebook->Detach( notebook );
delete notebook;
// restore selection
void NotebookWidgetsPage::OnButtonSelectPage(wxCommandEvent& event)
{
int pos = GetTextValue(m_textSelect);
- wxCHECK_RET( pos >= 0, _T("button should be disabled") );
+ wxCHECK_RET( IsValidValue(pos), _T("button should be disabled") );
m_notebook->SetSelection(pos);
}
void NotebookWidgetsPage::OnButtonInsertPage(wxCommandEvent& WXUNUSED(event))
{
int pos = GetTextValue(m_textInsert);
- wxCHECK_RET( pos >= 0, _T("button should be disabled") );
+ wxCHECK_RET( IsValidValue(pos), _T("button should be disabled") );
m_notebook->InsertPage(pos, CreateNewPage(), _T("Inserted page"), FALSE,
GetIconIndex());
void NotebookWidgetsPage::OnButtonRemovePage(wxCommandEvent& WXUNUSED(event))
{
int pos = GetTextValue(m_textRemove);
- wxCHECK_RET( pos >= 0, _T("button should be disabled") );
+ wxCHECK_RET( IsValidValue(pos), _T("button should be disabled") );
m_notebook->DeletePage(pos);
}
void NotebookWidgetsPage::OnUpdateUISelectButton(wxUpdateUIEvent& event)
{
- event.Enable( GetTextValue(m_textSelect) >= 0 );
+ event.Enable( IsValidValue(GetTextValue(m_textSelect)) );
}
void NotebookWidgetsPage::OnUpdateUIInsertButton(wxUpdateUIEvent& event)
{
- event.Enable( GetTextValue(m_textInsert) >= 0 );
+ event.Enable( IsValidValue(GetTextValue(m_textInsert)) );
}
void NotebookWidgetsPage::OnUpdateUIRemoveButton(wxUpdateUIEvent& event)
{
- event.Enable( GetTextValue(m_textRemove) >= 0 );
+ event.Enable( IsValidValue(GetTextValue(m_textRemove)) );
}
void NotebookWidgetsPage::OnUpdateUIResetButton(wxUpdateUIEvent& event)
event.Skip();
}
+#endif