X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9230b62136ee786760375bf59292dabff6277aeb..3b01b1fe4cb656f39290bf7f3891667855abe601:/samples/controls/controls.cpp diff --git a/samples/controls/controls.cpp b/samples/controls/controls.cpp index 489ed36f65..4fea525155 100644 --- a/samples/controls/controls.cpp +++ b/samples/controls/controls.cpp @@ -1,6 +1,6 @@ ///////////////////////////////////////////////////////////////////////////// // Name: controls.cpp -// Purpose: Controls wxWindows sample +// Purpose: Controls wxWidgets sample // Author: Robert Roebling // Modified by: // RCS-ID: $Id$ @@ -45,17 +45,9 @@ #include "icons/gauge.xpm" #endif -#ifdef __WIN16__ - // Win16 doesn't have them - #ifdef wxUSE_SPINBTN - #undef wxUSE_SPINBTN - #endif - #define wxUSE_SPINBTN 0 -#else - #ifndef wxUSE_SPINBTN +#ifndef wxUSE_SPINBTN #define wxUSE_SPINBTN 1 - #endif -#endif // __WIN16__ +#endif #include "wx/progdlg.h" @@ -185,12 +177,15 @@ public: void OnEnableAll(wxCommandEvent& event); void OnIdle( wxIdleEvent& event ); + void OnIconized( wxIconizeEvent& event ); + void OnMaximized( wxMaximizeEvent& event ); void OnSize( wxSizeEvent& event ); void OnMove( wxMoveEvent& event ); MyPanel *GetPanel() const { return m_panel; } private: +#if wxUSE_STATUSBAR void UpdateStatusBar(const wxPoint& pos, const wxSize& size) { if ( m_frameStatusBar ) @@ -206,6 +201,7 @@ private: SetStatusText(msg, 1); } } +#endif // wxUSE_STATUSBAR MyPanel *m_panel; @@ -349,7 +345,7 @@ bool MyApp::OnInit() } // Create the main frame window - MyFrame *frame = new MyFrame(_T("Controls wxWindows App"), x, y); + MyFrame *frame = new MyFrame(_T("Controls wxWidgets App"), x, y); frame->Show(true); return true; @@ -647,7 +643,6 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) 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 @@ -656,6 +651,7 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) m_checkbox = new wxCheckBox( panel, ID_LISTBOX_ENABLE, _T("&Disable"), wxPoint(20,170) ); m_checkbox->SetValue(false); + button->MoveAfterInTabOrder(m_checkbox); #if wxUSE_TOOLTIPS m_checkbox->SetToolTip( _T("Click here to disable the listbox") ); #endif // wxUSE_TOOLTIPS @@ -666,8 +662,8 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) #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), + m_choice = new wxChoice( panel, ID_CHOICE, wxPoint(10,10), wxSize(120,wxDefaultCoord), 5, choices ); + m_choiceSorted = new wxChoice( panel, ID_CHOICE_SORTED, wxPoint(10,70), wxSize(120,wxDefaultCoord), 5, choices, wxCB_SORT ); SetChoiceClientData(wxT("choice"), m_choice); @@ -690,7 +686,7 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) (void)new wxStaticBox( panel, wxID_ANY, _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), + wxPoint(20,25), wxSize(120, wxDefaultCoord), 5, choices, wxCB_READONLY | wxPROCESS_ENTER); m_combo->SetBackgroundColour(*wxBLUE); @@ -740,7 +736,7 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) m_gaugeVert = new wxGauge( panel, wxID_ANY, 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), + m_slider = new wxSlider( panel, ID_SLIDER, 0, 0, 200, wxPoint(18,90), wxSize(155,wxDefaultCoord), wxSL_AUTOTICKS | wxSL_LABELS ); m_slider->SetTickFreq(40, 0); #if wxUSE_TOOLTIPS @@ -756,7 +752,7 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) (void)new wxStaticText( panel, wxID_ANY, _T("Drag the slider!"), wxPoint(250,30), - wxSize(240, -1) + wxSize(240, wxDefaultCoord) ); #else (void)new wxStaticText( panel, wxID_ANY, @@ -773,9 +769,9 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) int initialSpinValue = -5; wxString s; s << initialSpinValue; - m_spintext = new wxTextCtrl( panel, wxID_ANY, s, wxPoint(20,160), wxSize(80,-1) ); + m_spintext = new wxTextCtrl( panel, wxID_ANY, s, wxPoint(20,160), wxSize(80,wxDefaultCoord) ); #if wxUSE_SPINBTN - m_spinbutton = new wxSpinButton( panel, ID_SPIN, wxPoint(103,160), wxSize(80, -1) ); + m_spinbutton = new wxSpinButton( panel, ID_SPIN, wxPoint(103,160), wxSize(80, wxDefaultCoord) ); m_spinbutton->SetRange(-40,30); m_spinbutton->SetValue(initialSpinValue); @@ -784,7 +780,7 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) #endif // wxUSE_SPINBTN #if wxUSE_SPINCTRL - m_spinctrl = new wxSpinCtrl( panel, ID_SPINCTRL, _T(""), wxPoint(200, 160), wxSize(80, -1) ); + m_spinctrl = new wxSpinCtrl( panel, ID_SPINCTRL, _T(""), wxPoint(200, 160), wxSize(80, wxDefaultCoord) ); m_spinctrl->SetRange(10,30); m_spinctrl->SetValue(15); #endif // wxUSE_SPINCTRL @@ -793,7 +789,7 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) panel = new wxPanel(m_notebook); -#if !defined(__WXMOTIF__) && !defined(__WIN16__) // wxStaticBitmap not working under Motif yet; and icons not allowed under WIN16. +#if !defined(__WXMOTIF__) // wxStaticBitmap not working under Motif yet. wxIcon icon = wxArtProvider::GetIcon(wxART_INFORMATION); (void) new wxStaticBitmap( panel, wxID_ANY, icon, wxPoint(10, 10) ); @@ -860,8 +856,7 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) wxBoxSizer *sizer = new wxBoxSizer( wxVERTICAL ); wxStaticBoxSizer *csizer = - new wxStaticBoxSizer (new wxStaticBox (panel, wxID_ANY, _T("Show Buttons")), - wxHORIZONTAL ); + new wxStaticBoxSizer (new wxStaticBox (panel, wxID_ANY, _T("Show Buttons")), wxHORIZONTAL ); wxCheckBox *check1, *check2, *check3, *check4, *check14, *checkBig; check1 = new wxCheckBox (panel, ID_SIZER_CHECK1, _T("1")); @@ -889,15 +884,17 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) m_buttonSizer = new wxBoxSizer (wxVERTICAL); - m_sizerBtn1 = new wxButton(panel, wxID_ANY, _T("Test Button &1") ); + m_sizerBtn1 = new wxButton(panel, wxID_ANY, _T("Test Button &1 (tab order 1)") ); m_buttonSizer->Add( m_sizerBtn1, 0, wxALL, 10 ); - m_sizerBtn2 = new wxButton(panel, wxID_ANY, _T("Test Button &2") ); + m_sizerBtn2 = new wxButton(panel, wxID_ANY, _T("Test Button &2 (tab order 3)") ); m_buttonSizer->Add( m_sizerBtn2, 0, wxALL, 10 ); - m_sizerBtn3 = new wxButton(panel, wxID_ANY, _T("Test Button &3") ); + m_sizerBtn3 = new wxButton(panel, wxID_ANY, _T("Test Button &3 (tab order 2)") ); m_buttonSizer->Add( m_sizerBtn3, 0, wxALL, 10 ); - m_sizerBtn4 = new wxButton(panel, wxID_ANY, _T("Test Button &4") ); + m_sizerBtn4 = new wxButton(panel, wxID_ANY, _T("Test Button &4 (tab order 4)") ); m_buttonSizer->Add( m_sizerBtn4, 0, wxALL, 10 ); + m_sizerBtn3->MoveBeforeInTabOrder(m_sizerBtn2); + m_hsizer->Add (m_buttonSizer); m_hsizer->Add( 20,20, 1 ); m_bigBtn = new wxButton(panel, wxID_ANY, _T("Multiline\nbutton") ); @@ -965,14 +962,15 @@ void MyPanel::OnChangeColour(wxCommandEvent& WXUNUSED(event)) { static wxColour s_colOld; + SetThemeEnabled(false); // test panel colour changing and propagation to the subcontrols if ( s_colOld.Ok() ) { SetBackgroundColour(s_colOld); s_colOld = wxNullColour; - m_lbSelectThis->SetForegroundColour(wxT("red")); - m_lbSelectThis->SetBackgroundColour(wxT("white")); + m_lbSelectThis->SetForegroundColour(wxNullColour); + m_lbSelectThis->SetBackgroundColour(wxNullColour); } else { @@ -1063,9 +1061,9 @@ void MyPanel::OnListBoxButtons( wxCommandEvent &event ) } case ID_LISTBOX_SEL_STR: { - if (m_listbox->FindString(_T("This")) > -1) + if (m_listbox->FindString(_T("This")) != wxNOT_FOUND) m_listbox->SetStringSelection( _T("This") ); - if (m_listboxSorted->FindString(_T("This")) > -1) + if (m_listboxSorted->FindString(_T("This")) != wxNOT_FOUND) m_listboxSorted->SetStringSelection( _T("This") ); m_lbSelectNum->WarpPointer( 40, 14 ); break; @@ -1523,6 +1521,8 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame) EVT_MENU(CONTROLS_ENABLE_ALL, MyFrame::OnEnableAll) + EVT_ICONIZE(MyFrame::OnIconized) + EVT_MAXIMIZE(MyFrame::OnMaximized) EVT_SIZE(MyFrame::OnSize) EVT_MOVE(MyFrame::OnMove) @@ -1568,7 +1568,9 @@ MyFrame::MyFrame(const wxChar *title, int x, int y) SetMenuBar(menu_bar); +#if wxUSE_STATUSBAR CreateStatusBar(2); +#endif // wxUSE_STATUSBAR m_panel = new MyPanel( this, 10, 10, 300, 100 ); @@ -1637,14 +1639,30 @@ void MyFrame::OnEnableAll(wxCommandEvent& WXUNUSED(event)) void MyFrame::OnMove( wxMoveEvent& event ) { +#if wxUSE_STATUSBAR UpdateStatusBar(event.GetPosition(), GetSize()); +#endif // wxUSE_STATUSBAR event.Skip(); } +void MyFrame::OnIconized( wxIconizeEvent& event ) +{ + wxLogMessage(_T("Frame %s"), event.Iconized() ? _T("iconized") + : _T("restored")); + event.Skip(); +} + +void MyFrame::OnMaximized( wxMaximizeEvent& WXUNUSED(event) ) +{ + wxLogMessage(_T("Frame maximized")); +} + void MyFrame::OnSize( wxSizeEvent& event ) { +#if wxUSE_STATUSBAR UpdateStatusBar(GetPosition(), event.GetSize()); +#endif // wxUSE_STATUSBAR event.Skip(); } @@ -1671,7 +1689,9 @@ void MyFrame::OnIdle( wxIdleEvent& WXUNUSED(event) ) #endif ); +#if wxUSE_STATUSBAR SetStatusText(msg); +#endif // wxUSE_STATUSBAR } }