-MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) :
- wxPanel( frame, -1, wxPoint(x, y), wxSize(w, h) )
-{
- m_text = new wxTextCtrl( this, -1, "This is the log window.\n", wxPoint(0,50), wxSize(100,50), wxTE_MULTILINE );
-
- m_notebook = new wxNotebook( this, ID_NOTEBOOK, wxPoint(0,0), wxSize(200,150) );
-
- wxString choices[] =
- {
- "This",
- "is a",
- "wonderful",
- "example.",
- };
-
- wxPanel *panel = new wxPanel(m_notebook);
- m_listbox = new wxListBox( panel, ID_LISTBOX, wxPoint(10,10), wxSize(120,70), 4, choices );
- (void)new wxButton( panel, ID_LISTBOX_SEL_NUM, "Select #2", wxPoint(180,30), wxSize(100,30) );
- (void)new wxButton( panel, ID_LISTBOX_SEL_STR, "Select 'This'", wxPoint(300,30), wxSize(100,30) );
- (void)new wxButton( panel, ID_LISTBOX_CLEAR, "Clear", wxPoint(180,80), wxSize(100,30) );
- (void)new wxButton( panel, ID_LISTBOX_APPEND, "Append 'Hi!'", wxPoint(300,80), wxSize(100,30) );
- m_notebook->AddPage(panel, "wxList");
-
- panel = new wxPanel(m_notebook);
- m_choice = new wxChoice( panel, ID_CHOICE, wxPoint(10,10), wxSize(120,-1), 4, choices );
- (void)new wxButton( panel, ID_CHOICE_SEL_NUM, "Select #2", wxPoint(180,30), wxSize(100,30) );
- (void)new wxButton( panel, ID_CHOICE_SEL_STR, "Select 'This'", wxPoint(300,30), wxSize(100,30) );
- (void)new wxButton( panel, ID_CHOICE_CLEAR, "Clear", wxPoint(180,80), wxSize(100,30) );
- (void)new wxButton( panel, ID_CHOICE_APPEND, "Append 'Hi!'", wxPoint(300,80), wxSize(100,30) );
- m_notebook->AddPage(panel, "wxChoice");
-
- panel = new wxPanel(m_notebook);
- m_combo = new wxComboBox( panel, ID_COMBO, "This", wxPoint(10,10), wxSize(170,-1), 4, choices );
- (void)new wxButton( panel, ID_COMBO_SEL_NUM, "Select #2", wxPoint(180,30), wxSize(100,30) );
- (void)new wxButton( panel, ID_COMBO_SEL_STR, "Select 'This'", wxPoint(300,30), wxSize(100,30) );
- (void)new wxButton( panel, ID_COMBO_CLEAR, "Clear", wxPoint(180,80), wxSize(100,30) );
- (void)new wxButton( panel, ID_COMBO_APPEND, "Append 'Hi!'", wxPoint(300,80), wxSize(100,30) );
- m_notebook->AddPage(panel, "wxComboBox");
-
- wxTextCtrl *text = new wxTextCtrl( m_notebook, ID_TEXT, "Write text here.", wxPoint(10,10), wxSize(120,100), wxTE_MULTILINE );
- m_notebook->AddPage( text, "wxTextCtrl" );
-
- panel = new wxPanel(m_notebook);
- m_radio = new wxRadioBox( panel, ID_RADIOBOX, "This", wxPoint(10,10), wxSize(-1,-1), 4, choices );
- (void)new wxButton( panel, ID_RADIOBOX_SEL_NUM, "Select #2", wxPoint(200,30), wxSize(100,30) );
- (void)new wxButton( panel, ID_RADIOBOX_SEL_STR, "Select 'This'", wxPoint(200,80), wxSize(100,30) );
- m_notebook->AddPage(panel, "wxRadioBox");
+BEGIN_EVENT_TABLE(MyButton, wxButton)
+ EVT_LEFT_DCLICK(MyButton::OnDClick)
+END_EVENT_TABLE()
+
+BEGIN_EVENT_TABLE(MyComboBox, wxComboBox)
+ EVT_CHAR(MyComboBox::OnChar)
+ EVT_KEY_DOWN(MyComboBox::OnKeyDown)
+ EVT_KEY_UP(MyComboBox::OnKeyUp)
+
+ EVT_SET_FOCUS(MyComboBox::OnFocusGot)
+END_EVENT_TABLE()
+
+BEGIN_EVENT_TABLE(MyRadioBox, wxRadioBox)
+ EVT_SET_FOCUS(MyRadioBox::OnFocusGot)
+ EVT_KILL_FOCUS(MyRadioBox::OnFocusLost)
+END_EVENT_TABLE()
+
+// ============================================================================
+// implementation
+// ============================================================================
+
+MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h )
+ : wxPanel( frame, -1, wxPoint(x, y), wxSize(w, h) )
+{
+ m_listbox = NULL;
+ m_listboxSorted = NULL;
+#if wxUSE_CHOICE
+ m_choice = NULL;
+ m_choiceSorted = NULL;
+#endif
+ m_combo = NULL;
+ m_radio = NULL;
+ m_gauge = NULL;
+ m_gaugeVert = NULL;
+ m_slider = NULL;
+ m_fontButton = NULL;
+ m_lbSelectNum = NULL;
+ m_lbSelectThis = NULL;
+#if wxUSE_SPINBTN
+ m_spinbutton = NULL;
+ m_btnProgress = NULL;
+#endif // wxUSE_SPINBTN
+#if wxUSE_SPINCTRL
+ m_spinctrl = NULL;
+#endif // wxUSE_SPINCTRL
+ m_spintext = NULL;
+ m_checkbox = NULL;
+ m_text = NULL;
+ m_notebook = NULL;
+ m_label = NULL;
+
+ m_text = new wxTextCtrl(this, -1, _T("This is the log window.\n"),
+ wxPoint(0, 250), wxSize(100, 50), wxTE_MULTILINE);
+ m_text->SetBackgroundColour(wxT("wheat"));
+
+ if ( 0 )
+ wxLog::AddTraceMask(_T("focus"));
+ m_logTargetOld = wxLog::SetActiveTarget(new wxLogTextCtrl(m_text));
+
+ m_notebook = new wxNotebook(this, ID_NOTEBOOK);
+
+ wxString choices[] =
+ {
+ _T("This"),
+ _T("is one of my"),
+ _T("really"),
+ _T("wonderful"),
+ _T("examples.")
+ };
+
+#ifdef USE_XPM
+ // image ids
+ enum
+ {
+ Image_List, Image_Choice, Image_Combo, Image_Text, Image_Radio, Image_Gauge, Image_Max
+ };
+
+ // fill the image list
+ wxImageList *imagelist = new wxImageList(32, 32);
+
+ imagelist-> Add( wxBitmap( list_xpm ));
+ imagelist-> Add( wxBitmap( choice_xpm ));
+ imagelist-> Add( wxBitmap( combo_xpm ));
+ imagelist-> Add( wxBitmap( text_xpm ));
+ imagelist-> Add( wxBitmap( radio_xpm ));
+ imagelist-> Add( wxBitmap( gauge_xpm ));
+ m_notebook->SetImageList(imagelist);
+#elif defined(__WXMSW__)
+ // load images from resources
+ enum
+ {
+ Image_List, Image_Choice, Image_Combo, Image_Text, Image_Radio, Image_Gauge, Image_Max
+ };
+ wxImageList *imagelist = new wxImageList(16, 16, FALSE, Image_Max);
+
+ static const wxChar *s_iconNames[Image_Max] =
+ {
+ _T("list"), _T("choice"), _T("combo"), _T("text"), _T("radio"),
+ _T("gauge")
+ };
+
+ for ( size_t n = 0; n < Image_Max; n++ )
+ {
+ wxBitmap bmp(s_iconNames[n]);
+ if ( !bmp.Ok() || (imagelist->Add(bmp) == -1) )
+ {
+ wxLogWarning(wxT("Couldn't load the image '%s' for the notebook page %d."),
+ s_iconNames[n], n);
+ }
+ }
+
+ m_notebook->SetImageList(imagelist);
+#else
+
+ // No images for now
+#define Image_List -1
+#define Image_Choice -1
+#define Image_Combo -1
+#define Image_Text -1
+#define Image_Radio -1
+#define Image_Gauge -1
+#define Image_Max -1
+
+#endif
+
+ wxPanel *panel = new wxPanel(m_notebook);
+ m_listbox = new wxListBox( panel, ID_LISTBOX,
+ wxPoint(10,10), wxSize(120,70),
+ 5, choices, wxLB_ALWAYS_SB );
+ m_listboxSorted = new wxListBox( panel, ID_LISTBOX_SORTED,
+ wxPoint(10,90), wxSize(120,70),
+ 5, choices, wxLB_SORT );
+
+ SetListboxClientData(wxT("listbox"), m_listbox);
+ SetListboxClientData(wxT("listbox"), m_listboxSorted);
+
+ m_listbox->SetCursor(*wxCROSS_CURSOR);
+#if wxUSE_TOOLTIPS
+ m_listbox->SetToolTip( _T("This is a list box") );
+#endif // wxUSE_TOOLTIPS
+
+ m_lbSelectNum = new wxButton( panel, ID_LISTBOX_SEL_NUM, _T("Select #&2"), wxPoint(180,30), wxSize(140,30) );
+ m_lbSelectThis = new wxButton( panel, ID_LISTBOX_SEL_STR, _T("&Select 'This'"), wxPoint(340,30), wxSize(140,30) );
+ (void)new wxButton( panel, ID_LISTBOX_CLEAR, _T("&Clear"), wxPoint(180,80), wxSize(140,30) );
+ (void)new MyButton( panel, ID_LISTBOX_APPEND, _T("&Append 'Hi!'"), wxPoint(340,80), wxSize(140,30) );
+ (void)new wxButton( panel, ID_LISTBOX_DELETE, _T("D&elete selected item"), wxPoint(180,130), wxSize(140,30) );
+ wxButton *button = new MyButton( panel, ID_LISTBOX_FONT, _T("Set &Italic font"), wxPoint(340,130), wxSize(140,30) );
+
+ button->SetDefault();
+
+ button->SetForegroundColour(*wxBLUE);
+
+#if wxUSE_TOOLTIPS
+ button->SetToolTip( _T("Press here to set italic font") );
+#endif // wxUSE_TOOLTIPS
+
+ m_checkbox = new wxCheckBox( panel, ID_LISTBOX_ENABLE, _T("&Disable"), wxPoint(20,170) );
+ m_checkbox->SetValue(FALSE);
+#if wxUSE_TOOLTIPS
+ m_checkbox->SetToolTip( _T("Click here to disable the listbox") );
+#endif // wxUSE_TOOLTIPS
+ (void)new wxCheckBox( panel, ID_CHANGE_COLOUR, _T("&Toggle colour"),
+ wxPoint(110,170) );
+ panel->SetCursor(wxCursor(wxCURSOR_HAND));
+ m_notebook->AddPage(panel, _T("wxListBox"), TRUE, Image_List);
+
+#if wxUSE_CHOICE
+ panel = new wxPanel(m_notebook);
+ m_choice = new wxChoice( panel, ID_CHOICE, wxPoint(10,10), wxSize(120,-1), 5, choices );
+ m_choiceSorted = new wxChoice( panel, ID_CHOICE_SORTED, wxPoint(10,70), wxSize(120,-1),
+ 5, choices, wxCB_SORT );
+
+ SetChoiceClientData(wxT("choice"), m_choice);
+ SetChoiceClientData(wxT("choice"), m_choiceSorted);
+
+ m_choice->SetSelection(2);
+ m_choice->SetBackgroundColour( wxT("red") );
+ (void)new wxButton( panel, ID_CHOICE_SEL_NUM, _T("Select #&2"), wxPoint(180,30), wxSize(140,30) );
+ (void)new wxButton( panel, ID_CHOICE_SEL_STR, _T("&Select 'This'"), wxPoint(340,30), wxSize(140,30) );
+ (void)new wxButton( panel, ID_CHOICE_CLEAR, _T("&Clear"), wxPoint(180,80), wxSize(140,30) );
+ (void)new wxButton( panel, ID_CHOICE_APPEND, _T("&Append 'Hi!'"), wxPoint(340,80), wxSize(140,30) );
+ (void)new wxButton( panel, ID_CHOICE_DELETE, _T("D&elete selected item"), wxPoint(180,130), wxSize(140,30) );
+ (void)new wxButton( panel, ID_CHOICE_FONT, _T("Set &Italic font"), wxPoint(340,130), wxSize(140,30) );
+ (void)new wxCheckBox( panel, ID_CHOICE_ENABLE, _T("&Disable"), wxPoint(20,130), wxSize(140,30) );
+
+ m_notebook->AddPage(panel, _T("wxChoice"), FALSE, Image_Choice);
+#endif // wxUSE_CHOICE
+
+ panel = new wxPanel(m_notebook);
+ (void)new wxStaticBox( panel, -1, _T("&Box around combobox"),
+ wxPoint(5, 5), wxSize(150, 100));
+ m_combo = new MyComboBox( panel, ID_COMBO, _T("This"),
+ wxPoint(20,25), wxSize(120, -1),
+ 5, choices,
+ /* wxCB_READONLY | */ wxPROCESS_ENTER);
+
+ (void)new wxButton( panel, ID_COMBO_SEL_NUM, _T("Select #&2"), wxPoint(180,30), wxSize(140,30) );
+ (void)new wxButton( panel, ID_COMBO_SEL_STR, _T("&Select 'This'"), wxPoint(340,30), wxSize(140,30) );
+ (void)new wxButton( panel, ID_COMBO_CLEAR, _T("&Clear"), wxPoint(180,80), wxSize(140,30) );
+ (void)new wxButton( panel, ID_COMBO_APPEND, _T("&Append 'Hi!'"), wxPoint(340,80), wxSize(140,30) );
+ (void)new wxButton( panel, ID_COMBO_DELETE, _T("D&elete selected item"), wxPoint(180,130), wxSize(140,30) );
+ (void)new wxButton( panel, ID_COMBO_FONT, _T("Set &Italic font"), wxPoint(340,130), wxSize(140,30) );
+ (void)new wxCheckBox( panel, ID_COMBO_ENABLE, _T("&Disable"), wxPoint(20,130), wxSize(140,30) );
+ m_notebook->AddPage(panel, _T("wxComboBox"), FALSE, Image_Combo);
+
+ wxString choices2[] =
+ {
+ _T("First"), _T("Second"),
+ /* "Third",
+ "Fourth", "Fifth", "Sixth",
+ "Seventh", "Eighth", "Nineth", "Tenth" */
+ };
+
+ panel = new wxPanel(m_notebook);
+ (void)new MyRadioBox( panel, ID_RADIOBOX, _T("&That"), wxPoint(10,160), wxSize(-1,-1), WXSIZEOF(choices2), choices2, 1, wxRA_SPECIFY_ROWS );
+ m_radio = new wxRadioBox( panel, ID_RADIOBOX, _T("T&his"), wxPoint(10,10), wxSize(-1,-1), WXSIZEOF(choices), choices, 1, wxRA_SPECIFY_COLS );
+ m_radio->SetForegroundColour(*wxRED);
+
+#if wxUSE_TOOLTIPS
+ m_combo->SetToolTip(_T("This is a natural\ncombobox - can you believe me?"));
+ m_radio->SetToolTip(_T("Ever seen a radiobox?"));
+#endif // wxUSE_TOOLTIPS
+
+ (void)new wxButton( panel, ID_RADIOBOX_SEL_NUM, _T("Select #&2"), wxPoint(180,30), wxSize(140,30) );
+ (void)new wxButton( panel, ID_RADIOBOX_SEL_STR, _T("&Select 'This'"), wxPoint(180,80), wxSize(140,30) );
+ m_fontButton = new wxButton( panel, ID_SET_FONT, _T("Set &more Italic font"), wxPoint(340,30), wxSize(140,30) );
+ (void)new wxButton( panel, ID_RADIOBOX_FONT, _T("Set &Italic font"), wxPoint(340,80), wxSize(140,30) );
+ (void)new wxCheckBox( panel, ID_RADIOBOX_ENABLE, _T("&Disable"), wxPoint(340,130), wxDefaultSize );
+ wxRadioButton *rb = new wxRadioButton( panel, ID_RADIOBUTTON_1, _T("Radiobutton1"), wxPoint(210,170), wxDefaultSize, wxRB_GROUP );
+ rb->SetValue( FALSE );
+ (void)new wxRadioButton( panel, ID_RADIOBUTTON_2, _T("&Radiobutton2"), wxPoint(340,170), wxDefaultSize );
+ m_notebook->AddPage(panel, _T("wxRadioBox"), FALSE, Image_Radio);
+
+ panel = new wxPanel(m_notebook);
+ (void)new wxStaticBox( panel, -1, _T("&wxGauge and wxSlider"), wxPoint(10,10), wxSize(222,130) );
+ m_gauge = new wxGauge( panel, -1, 200, wxPoint(18,50), wxSize(155, 30), wxGA_HORIZONTAL|wxNO_BORDER );
+ m_gauge->SetBackgroundColour(*wxGREEN);
+ m_gauge->SetForegroundColour(*wxRED);
+ m_gaugeVert = new wxGauge( panel, -1, 100,
+ wxPoint(195,35), wxSize(30, 90),
+ wxGA_VERTICAL | wxGA_SMOOTH | wxNO_BORDER );
+ m_slider = new wxSlider( panel, ID_SLIDER, 0, 0, 200, wxPoint(18,90), wxSize(155,-1),
+ wxSL_AUTOTICKS | wxSL_LABELS );
+ m_slider->SetTickFreq(40, 0);
+#if wxUSE_TOOLTIPS
+ m_slider->SetToolTip(_T("This is a sliding slider"));
+#endif // wxUSE_TOOLTIPS
+
+ (void)new wxStaticBox( panel, -1, _T("&Explanation"),
+ wxPoint(230,10), wxSize(270,130),
+ wxALIGN_CENTER );
+
+#ifdef __WXMOTIF__
+ // No wrapping text in wxStaticText yet :-(
+ (void)new wxStaticText( panel, -1,
+ _T("Drag the slider!"),
+ wxPoint(250,30),
+ wxSize(240, -1)
+ );
+#else
+ (void)new wxStaticText( panel, -1,
+ _T("In order see the gauge (aka progress bar)\n")
+ _T("control do something you have to drag the\n")
+ _T("handle of the slider to the right.\n")
+ _T("\n")
+ _T("This is also supposed to demonstrate how\n")
+ _T("to use static controls.\n"),
+ wxPoint(250,25),
+ wxSize(240, 110)
+ );
+#endif
+ int initialSpinValue = -5;
+ wxString s;
+ s << initialSpinValue;
+ m_spintext = new wxTextCtrl( panel, -1, s, wxPoint(20,160), wxSize(80,-1) );
+#if wxUSE_SPINBTN
+ m_spinbutton = new wxSpinButton( panel, ID_SPIN, wxPoint(103,160), wxSize(80, -1) );
+ m_spinbutton->SetRange(-40,30);
+ m_spinbutton->SetValue(initialSpinValue);
+
+ m_btnProgress = new wxButton( panel, ID_BTNPROGRESS, _T("&Show progress dialog"),
+ wxPoint(300, 160) );
+#endif // wxUSE_SPINBTN
+
+#if wxUSE_SPINCTRL
+ m_spinctrl = new wxSpinCtrl( panel, ID_SPINCTRL, _T(""), wxPoint(200, 160), wxSize(80, -1) );
+ m_spinctrl->SetRange(10,30);
+ m_spinctrl->SetValue(15);
+#endif // wxUSE_SPINCTRL
+
+ m_notebook->AddPage(panel, _T("wxGauge"), FALSE, Image_Gauge);
+
+ panel = new wxPanel(m_notebook);
+
+#if !defined(__WXMOTIF__) && !defined(__WIN16__) // wxStaticBitmap not working under Motif yet; and icons not allowed under WIN16.
+ wxIcon icon = wxArtProvider::GetIcon(wxART_INFORMATION);
+ (void) new wxStaticBitmap( panel, -1, icon, wxPoint(10, 10) );
+
+ // VZ: don't leak memory
+ // bmpStatic = new wxStaticBitmap(panel, -1, wxNullIcon, wxPoint(50, 10));
+ // bmpStatic->SetIcon(wxArtProvider::GetIcon(wxART_QUESTION));
+#endif // !Motif
+
+ wxBitmap bitmap( 100, 100 );
+ wxMemoryDC dc;
+ dc.SelectObject( bitmap );
+ dc.SetPen(*wxGREEN_PEN);
+ dc.Clear();
+ dc.DrawEllipse(5, 5, 90, 90);
+ dc.DrawText(_T("Bitmap"), 30, 40);
+ dc.SelectObject( wxNullBitmap );
+
+ (void)new wxBitmapButton(panel, ID_BITMAP_BTN, bitmap, wxPoint(100, 20));
+
+#if defined(__WXMSW__) || defined(__WXMOTIF__)
+ // test for masked bitmap display
+ bitmap = wxBitmap(_T("test2.bmp"), wxBITMAP_TYPE_BMP);
+ if (bitmap.Ok())
+ {
+ bitmap.SetMask(new wxMask(bitmap, *wxBLUE));
+
+ (void)new wxStaticBitmap /* wxBitmapButton */ (panel, -1, bitmap, wxPoint(300, 120));
+ }
+#endif
+
+ wxBitmap bmp1(wxArtProvider::GetBitmap(wxART_INFORMATION)),
+ bmp2(wxArtProvider::GetBitmap(wxART_WARNING)),
+ bmp3(wxArtProvider::GetBitmap(wxART_QUESTION));
+ wxBitmapButton *bmpBtn = new wxBitmapButton
+ (
+ panel, -1,
+ bmp1,
+ wxPoint(30, 70)
+ );
+
+ bmpBtn->SetBitmapSelected(bmp2);
+ bmpBtn->SetBitmapFocus(bmp3);
+
+#if wxUSE_TOGGLEBTN
+ (void)new wxToggleButton(panel, ID_BUTTON_LABEL,
+ _T("&Toggle label"), wxPoint(250, 20));
+#else
+ (void)new wxCheckBox(panel, ID_BUTTON_LABEL,
+ _T("&Toggle label"), wxPoint(250, 20));
+#endif // wxUSE_TOGGLEBTN
+
+ m_label = new wxStaticText(panel, -1, _T("Label with some long text"),
+ wxPoint(250, 60), wxDefaultSize,
+ wxALIGN_RIGHT /*| wxST_NO_AUTORESIZE*/);
+ m_label->SetForegroundColour( *wxBLUE );
+
+ m_notebook->AddPage(panel, _T("wxBitmapXXX"));
+
+ // layout constraints
+#if wxUSE_CONSTRAINTS
+ wxLayoutConstraints *c;
+
+ panel = new wxPanel(m_notebook);
+ panel->SetAutoLayout( TRUE );
+
+ c = new wxLayoutConstraints;
+ c->top.SameAs( panel, wxTop, 10 );
+ c->height.AsIs( );
+ c->left.SameAs( panel, wxLeft, 10 );
+ c->width.PercentOf( panel, wxWidth, 40 );
+
+ wxButton *pMyButton = new wxButton(panel, ID_BUTTON_TEST1, _T("Test Button &1") );
+ pMyButton->SetConstraints( c );
+
+ c = new wxLayoutConstraints;
+ c->top.SameAs( panel, wxTop, 10 );
+ c->bottom.SameAs( panel, wxBottom, 10 );
+ c->right.SameAs( panel, wxRight, 10 );
+ c->width.PercentOf( panel, wxWidth, 40 );
+
+ wxButton *pMyButton2 = new wxButton(panel, ID_BUTTON_TEST2, _T("Test Button &2") );
+ pMyButton2->SetConstraints( c );
+
+ m_notebook->AddPage(panel, _T("wxLayoutConstraint"));
+#endif
+
+ // sizer
+
+ panel = new wxPanel(m_notebook);
+ panel->SetAutoLayout( TRUE );
+
+ wxBoxSizer *sizer = new wxBoxSizer( wxVERTICAL );
+
+ wxStaticBoxSizer *csizer =
+ new wxStaticBoxSizer (new wxStaticBox (panel, -1, _T("Show Buttons")),
+ wxHORIZONTAL );
+
+ wxCheckBox *check1, *check2, *check3, *check4, *check14, *checkBig;
+ check1 = new wxCheckBox (panel, ID_SIZER_CHECK1, _T("1"));
+ check1->SetValue (TRUE);
+ csizer->Add (check1);
+ check2 = new wxCheckBox (panel, ID_SIZER_CHECK2, _T("2"));
+ check2->SetValue (TRUE);
+ csizer->Add (check2);
+ check3 = new wxCheckBox (panel, ID_SIZER_CHECK3, _T("3"));
+ check3->SetValue (TRUE);
+ csizer->Add (check3);
+ check4 = new wxCheckBox (panel, ID_SIZER_CHECK4, _T("4"));
+ check4->SetValue (TRUE);
+ csizer->Add (check4);
+ check14 = new wxCheckBox (panel, ID_SIZER_CHECK14, _T("1-4"));
+ check14->SetValue (TRUE);
+ csizer->Add (check14);
+ checkBig = new wxCheckBox (panel, ID_SIZER_CHECKBIG, _T("Big"));
+ checkBig->SetValue (TRUE);
+ csizer->Add (checkBig);
+
+ sizer->Add (csizer);
+
+ m_hsizer = new wxBoxSizer( wxHORIZONTAL );
+
+ m_buttonSizer = new wxBoxSizer (wxVERTICAL);
+
+ m_sizerBtn1 = new wxButton(panel, -1, _T("Test Button &1") );
+ m_buttonSizer->Add( m_sizerBtn1, 0, wxALL, 10 );
+ m_sizerBtn2 = new wxButton(panel, -1, _T("Test Button &2") );
+ m_buttonSizer->Add( m_sizerBtn2, 0, wxALL, 10 );
+ m_sizerBtn3 = new wxButton(panel, -1, _T("Test Button &3") );
+ m_buttonSizer->Add( m_sizerBtn3, 0, wxALL, 10 );
+ m_sizerBtn4 = new wxButton(panel, -1, _T("Test Button &4") );
+ m_buttonSizer->Add( m_sizerBtn4, 0, wxALL, 10 );
+
+ m_hsizer->Add (m_buttonSizer);
+ m_hsizer->Add( 20,20, 1 );
+ m_bigBtn = new wxButton(panel, -1, _T("Multiline\nbutton") );
+ m_hsizer->Add( m_bigBtn , 3, wxGROW|wxALL, 10 );
+
+ sizer->Add (m_hsizer, 1, wxGROW);
+
+ panel->SetSizer( sizer );
+
+ m_notebook->AddPage(panel, _T("wxSizer"));