X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6bb44116c21e8495c2127ed11b44aac126048c18..1bf38b0eda268c1613ea36d6a30caa478a261c74:/samples/controls/controls.cpp diff --git a/samples/controls/controls.cpp b/samples/controls/controls.cpp index b0a8f853f0..28a5d986cf 100644 --- a/samples/controls/controls.cpp +++ b/samples/controls/controls.cpp @@ -55,6 +55,11 @@ #include "wx/spinctrl.h" #endif // wxUSE_SPINCTRL +#if !wxUSE_TOGGLEBTN + #define wxToggleButton wxCheckBox + #define EVT_TOGGLEBUTTON EVT_CHECKBOX +#endif + //---------------------------------------------------------------------- // class definitions //---------------------------------------------------------------------- @@ -96,8 +101,10 @@ public: void OnSpinUp( wxSpinEvent &event ); void OnSpinDown( wxSpinEvent &event ); void OnSpinUpdate( wxSpinEvent &event ); +#if wxUSE_PROGRESSDLG void OnUpdateShowProgress( wxUpdateUIEvent& event ); void OnShowProgress( wxCommandEvent &event ); +#endif // wxUSE_PROGRESSDLG #endif // wxUSE_SPINBTN #if wxUSE_SPINCTRL @@ -111,6 +118,7 @@ public: void OnChangeColour(wxCommandEvent& event); void OnTestButton(wxCommandEvent& event); void OnBmpButton(wxCommandEvent& event); + void OnBmpButtonToggle(wxCommandEvent& event); void OnSizerCheck (wxCommandEvent &event); @@ -123,8 +131,10 @@ public: wxComboBox *m_combo; wxRadioBox *m_radio; +#if wxUSE_GAUGE wxGauge *m_gauge, *m_gaugeVert; +#endif // wxUSE_GAUGE #if wxUSE_SLIDER wxSlider *m_slider; #endif // wxUSE_SLIDER @@ -133,7 +143,9 @@ public: wxButton *m_lbSelectThis; #if wxUSE_SPINBTN wxSpinButton *m_spinbutton; +#if wxUSE_PROGRESSDLG wxButton *m_btnProgress; +#endif // wxUSE_PROGRESSDLG #endif // wxUSE_SPINBTN #if wxUSE_SPINCTRL @@ -399,19 +411,25 @@ const int ID_RADIOBUTTON_2 = 167; const int ID_SET_FONT = 170; +#if wxUSE_GAUGE const int ID_GAUGE = 180; +#endif // wxUSE_GAUGE + #if wxUSE_SLIDER const int ID_SLIDER = 181; #endif // wxUSE_SLIDER const int ID_SPIN = 182; +#if wxUSE_PROGRESSDLG const int ID_BTNPROGRESS = 183; +#endif // wxUSE_PROGRESSDLG const int ID_BUTTON_LABEL = 184; const int ID_SPINCTRL = 185; const int ID_BUTTON_TEST1 = 190; const int ID_BUTTON_TEST2 = 191; const int ID_BITMAP_BTN = 192; +const int ID_BITMAP_BTN_ENABLE = 193; const int ID_CHANGE_COLOUR = 200; @@ -472,8 +490,10 @@ EVT_SLIDER (ID_SLIDER, MyPanel::OnSliderUpdate) EVT_SPIN (ID_SPIN, MyPanel::OnSpinUpdate) EVT_SPIN_UP (ID_SPIN, MyPanel::OnSpinUp) EVT_SPIN_DOWN (ID_SPIN, MyPanel::OnSpinDown) +#if wxUSE_PROGRESSDLG EVT_UPDATE_UI (ID_BTNPROGRESS, MyPanel::OnUpdateShowProgress) EVT_BUTTON (ID_BTNPROGRESS, MyPanel::OnShowProgress) +#endif // wxUSE_PROGRESSDLG #endif // wxUSE_SPINBTN #if wxUSE_SPINCTRL EVT_SPINCTRL (ID_SPINCTRL, MyPanel::OnSpinCtrl) @@ -481,15 +501,12 @@ EVT_SPIN_UP (ID_SPINCTRL, MyPanel::OnSpinCtrlUp) EVT_SPIN_DOWN (ID_SPINCTRL, MyPanel::OnSpinCtrlDown) EVT_TEXT (ID_SPINCTRL, MyPanel::OnSpinCtrlText) #endif // wxUSE_SPINCTRL -#if wxUSE_TOGGLEBTN EVT_TOGGLEBUTTON(ID_BUTTON_LABEL, MyPanel::OnUpdateLabel) -#else -EVT_CHECKBOX(ID_BUTTON_LABEL, MyPanel::OnUpdateLabel) -#endif // wxUSE_TOGGLEBTN EVT_CHECKBOX (ID_CHANGE_COLOUR, MyPanel::OnChangeColour) EVT_BUTTON (ID_BUTTON_TEST1, MyPanel::OnTestButton) EVT_BUTTON (ID_BUTTON_TEST2, MyPanel::OnTestButton) EVT_BUTTON (ID_BITMAP_BTN, MyPanel::OnBmpButton) +EVT_TOGGLEBUTTON(ID_BITMAP_BTN_ENABLE, MyPanel::OnBmpButtonToggle) EVT_CHECKBOX (ID_SIZER_CHECK1, MyPanel::OnSizerCheck) EVT_CHECKBOX (ID_SIZER_CHECK2, MyPanel::OnSizerCheck) @@ -532,8 +549,10 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) #endif // wxUSE_CHOICE m_combo = NULL; m_radio = NULL; +#if wxUSE_GAUGE m_gauge = NULL; m_gaugeVert = NULL; +#endif // wxUSE_GAUGE #if wxUSE_SLIDER m_slider = NULL; #endif // wxUSE_SLIDER @@ -542,7 +561,9 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) m_lbSelectThis = NULL; #if wxUSE_SPINBTN m_spinbutton = NULL; +#if wxUSE_PROGRESSDLG m_btnProgress = NULL; +#endif // wxUSE_PROGRESSDLG #endif // wxUSE_SPINBTN #if wxUSE_SPINCTRL m_spinctrl = NULL; @@ -574,7 +595,15 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) // image ids enum { - Image_List, Image_Choice, Image_Combo, Image_Text, Image_Radio, Image_Gauge, Image_Max + Image_List, + Image_Choice, + Image_Combo, + Image_Text, + Image_Radio, +#if wxUSE_GAUGE + Image_Gauge, +#endif // wxUSE_GAUGE + Image_Max }; // fill the image list @@ -587,20 +616,36 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) imagelist-> Add( wxBitmap( combo_xpm )); imagelist-> Add( wxBitmap( text_xpm )); imagelist-> Add( wxBitmap( radio_xpm )); +#if wxUSE_GAUGE imagelist-> Add( wxBitmap( gauge_xpm )); +#endif // wxUSE_GAUGE m_book->SetImageList(imagelist); #elif defined(__WXMSW__) // load images from resources enum { - Image_List, Image_Choice, Image_Combo, Image_Text, Image_Radio, Image_Gauge, Image_Max + Image_List, + Image_Choice, + Image_Combo, + Image_Text, + Image_Radio, +#if wxUSE_GAUGE + Image_Gauge, +#endif // wxUSE_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") + _T("list") + , _T("choice") + , _T("combo") + , _T("text") + , _T("radio") +#if wxUSE_GAUGE + , _T("gauge") +#endif // wxUSE_GAUGE }; for ( size_t n = 0; n < Image_Max; n++ ) @@ -622,7 +667,9 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) #define Image_Combo -1 #define Image_Text -1 #define Image_Radio -1 +#if wxUSE_GAUGE #define Image_Gauge -1 +#endif // wxUSE_GAUGE #define Image_Max -1 #endif @@ -745,8 +792,9 @@ 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,wxDefaultCoord), - wxSL_AUTOTICKS | wxSL_LABELS ); + m_slider = new wxSlider( panel, ID_SLIDER, 0, 0, 200, + wxPoint(18,85), wxSize(155,wxDefaultCoord), + wxSL_AUTOTICKS | wxSL_LABELS); m_slider->SetTickFreq(40, 0); #if wxUSE_TOOLTIPS m_slider->SetToolTip(_T("This is a sliding slider")); @@ -784,8 +832,10 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) m_spinbutton->SetRange(-40,30); m_spinbutton->SetValue(initialSpinValue); +#if wxUSE_PROGRESSDLG m_btnProgress = new wxButton( panel, ID_BTNPROGRESS, _T("&Show progress dialog"), wxPoint(300, 160) ); +#endif // wxUSE_PROGRESSDLG #endif // wxUSE_SPINBTN #if wxUSE_SPINCTRL @@ -818,6 +868,8 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) dc.SelectObject( wxNullBitmap ); (void)new wxBitmapButton(panel, ID_BITMAP_BTN, bitmap, wxPoint(100, 20)); + (void)new wxToggleButton(panel, ID_BITMAP_BTN_ENABLE, + _T("Enable/disable &bitmap"), wxPoint(100, 140)); #if defined(__WXMSW__) || defined(__WXMOTIF__) // test for masked bitmap display @@ -826,7 +878,7 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) { bitmap.SetMask(new wxMask(bitmap, *wxBLUE)); - (void)new wxStaticBitmap /* wxBitmapButton */ (panel, wxID_ANY, bitmap, wxPoint(300, 120)); + (void)new wxStaticBitmap(panel, wxID_ANY, bitmap, wxPoint(300, 120)); } #endif @@ -843,13 +895,8 @@ MyPanel::MyPanel( wxFrame *frame, int x, int y, int w, int h ) 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, wxID_ANY, _T("Label with some long text"), wxPoint(250, 60), wxDefaultSize, @@ -968,6 +1015,11 @@ void MyPanel::OnBmpButton(wxCommandEvent& WXUNUSED(event)) wxLogMessage(_T("Bitmap button clicked.")); } +void MyPanel::OnBmpButtonToggle(wxCommandEvent& event) +{ + FindWindow(ID_BITMAP_BTN)->Enable(!event.IsChecked()); +} + void MyPanel::OnChangeColour(wxCommandEvent& WXUNUSED(event)) { static wxColour s_colOld; @@ -1326,8 +1378,10 @@ void MyPanel::OnUpdateLabel( wxCommandEvent &event ) void MyPanel::OnSliderUpdate( wxCommandEvent &WXUNUSED(event) ) { +#if wxUSE_GAUGE m_gauge->SetValue( m_slider->GetValue() ); m_gaugeVert->SetValue( m_slider->GetValue() / 2 ); +#endif // wxUSE_GAUGE } #endif // wxUSE_SLIDER @@ -1424,6 +1478,8 @@ void MyPanel::OnSpinUpdate( wxSpinEvent &event ) m_text->AppendText(value); } +#if wxUSE_PROGRESSDLG + void MyPanel::OnUpdateShowProgress( wxUpdateUIEvent& event ) { event.Enable( m_spinbutton->GetValue() > 0 ); @@ -1479,6 +1535,7 @@ void MyPanel::OnShowProgress( wxCommandEvent& WXUNUSED(event) ) } } +#endif // wxUSE_PROGRESSDLG #endif // wxUSE_SPINBTN void MyPanel::OnSizerCheck( wxCommandEvent &event)