X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5e173f35d2a8177371d13d059d9f897e2c4f98be..55325d01e68cfb071e42699ca72ba84a7071aa2b:/samples/widgets/gauge.cpp diff --git a/samples/widgets/gauge.cpp b/samples/widgets/gauge.cpp index bdf8a18240..f7cd1bb582 100644 --- a/samples/widgets/gauge.cpp +++ b/samples/widgets/gauge.cpp @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Program: wxWindows Widgets Sample +// Program: wxWidgets Widgets Sample // Name: gauge.cpp // Purpose: Part of the widgets sample showing wxGauge // Author: Vadim Zeitlin @@ -29,6 +29,7 @@ #include "wx/log.h" #include "wx/timer.h" + #include "wx/bitmap.h" #include "wx/button.h" #include "wx/checkbox.h" #include "wx/combobox.h" @@ -41,7 +42,7 @@ #include "wx/sizer.h" #include "widgets.h" - +#if wxUSE_GAUGE #include "icons/gauge.xpm" // ---------------------------------------------------------------------------- @@ -51,7 +52,7 @@ // control ids enum { - GaugePage_Reset = 100, + GaugePage_Reset = wxID_HIGHEST, GaugePage_Progress, GaugePage_Clear, GaugePage_SetValue, @@ -70,9 +71,12 @@ enum class GaugeWidgetsPage : public WidgetsPage { public: - GaugeWidgetsPage(wxNotebook *notebook, wxImageList *imaglist); + GaugeWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist); virtual ~GaugeWidgetsPage(); + virtual wxControl *GetWidget() const { return m_gauge; } + virtual void RecreateWidget() { CreateGauge(); } + protected: // event handlers void OnButtonReset(wxCommandEvent& event); @@ -143,8 +147,8 @@ BEGIN_EVENT_TABLE(GaugeWidgetsPage, WidgetsPage) EVT_UPDATE_UI(GaugePage_CurValueText, GaugeWidgetsPage::OnUpdateUICurValueText) - EVT_CHECKBOX(-1, GaugeWidgetsPage::OnCheckOrRadioBox) - EVT_RADIOBOX(-1, GaugeWidgetsPage::OnCheckOrRadioBox) + EVT_CHECKBOX(wxID_ANY, GaugeWidgetsPage::OnCheckOrRadioBox) + EVT_RADIOBOX(wxID_ANY, GaugeWidgetsPage::OnCheckOrRadioBox) EVT_TIMER(GaugePage_Timer, GaugeWidgetsPage::OnProgressTimer) END_EVENT_TABLE() @@ -153,14 +157,18 @@ END_EVENT_TABLE() // implementation // ============================================================================ -IMPLEMENT_WIDGETS_PAGE(GaugeWidgetsPage, _T("Gauge")); +#if defined(__WXUNIVERSAL__) + #define FAMILY_CTRLS UNIVERSAL_CTRLS +#else + #define FAMILY_CTRLS NATIVE_CTRLS +#endif + +IMPLEMENT_WIDGETS_PAGE(GaugeWidgetsPage, _T("Gauge"), FAMILY_CTRLS ); -GaugeWidgetsPage::GaugeWidgetsPage(wxNotebook *notebook, - wxImageList *imaglist) - : WidgetsPage(notebook) +GaugeWidgetsPage::GaugeWidgetsPage(WidgetsBookCtrl *book, + wxImageList *imaglist) + :WidgetsPage(book, imaglist, gauge_xpm) { - imaglist->Add(wxBitmap(gauge_xpm)); - // init everything m_range = 100; @@ -175,7 +183,7 @@ GaugeWidgetsPage::GaugeWidgetsPage(wxNotebook *notebook, wxSizer *sizerTop = new wxBoxSizer(wxHORIZONTAL); // left pane - wxStaticBox *box = new wxStaticBox(this, -1, _T("&Set style")); + wxStaticBox *box = new wxStaticBox(this, wxID_ANY, _T("&Set style")); wxSizer *sizerLeft = new wxStaticBoxSizer(box, wxVERTICAL); @@ -188,14 +196,15 @@ GaugeWidgetsPage::GaugeWidgetsPage(wxNotebook *notebook, sizerLeft->Add(btn, 0, wxALIGN_CENTRE_HORIZONTAL | wxALL, 15); // middle pane - wxStaticBox *box2 = new wxStaticBox(this, -1, _T("&Change gauge value")); + wxStaticBox *box2 = new wxStaticBox(this, wxID_ANY, + _T("&Change gauge value")); wxSizer *sizerMiddle = new wxStaticBoxSizer(box2, wxVERTICAL); wxTextCtrl *text; wxSizer *sizerRow = CreateSizerWithTextAndLabel(_T("Current value"), GaugePage_CurValueText, &text); - text->SetEditable(FALSE); + text->SetEditable(false); sizerMiddle->Add(sizerRow, 0, wxALL | wxGROW, 5); @@ -209,7 +218,7 @@ GaugeWidgetsPage::GaugeWidgetsPage(wxNotebook *notebook, _T("Set &range"), GaugePage_RangeText, &m_textRange); - m_textRange->SetValue(wxString::Format(_T("%lu"), m_range)); + m_textRange->SetValue( wxString::Format(_T("%lu"), m_range) ); sizerMiddle->Add(sizerRow, 0, wxALL | wxGROW, 5); btn = new wxButton(this, GaugePage_Progress, _T("Simulate &progress")); @@ -222,7 +231,7 @@ GaugeWidgetsPage::GaugeWidgetsPage(wxNotebook *notebook, wxSizer *sizerRight = new wxBoxSizer(wxHORIZONTAL); m_gauge = new wxGauge(this, GaugePage_Gauge, m_range); sizerRight->Add(m_gauge, 1, wxCENTRE | wxALL, 5); - sizerRight->SetMinSize(250, 0); + sizerRight->SetMinSize(150, 0); m_sizerGauge = sizerRight; // save it to modify it later // the 3 panes panes compose the window @@ -233,7 +242,6 @@ GaugeWidgetsPage::GaugeWidgetsPage(wxNotebook *notebook, // final initializations Reset(); - SetAutoLayout(TRUE); SetSizer(sizerTop); sizerTop->Fit(this); @@ -250,13 +258,13 @@ GaugeWidgetsPage::~GaugeWidgetsPage() void GaugeWidgetsPage::Reset() { - m_chkVert->SetValue(FALSE); - m_chkSmooth->SetValue(FALSE); + m_chkVert->SetValue(false); + m_chkSmooth->SetValue(false); } void GaugeWidgetsPage::CreateGauge() { - int flags = 0; + int flags = ms_defaultFlags; if ( m_chkVert->GetValue() ) flags |= wxGA_VERTICAL; @@ -271,7 +279,7 @@ void GaugeWidgetsPage::CreateGauge() { val = m_gauge->GetValue(); - m_sizerGauge->Remove(m_gauge); + m_sizerGauge->Detach( m_gauge ); delete m_gauge; } @@ -332,6 +340,7 @@ void GaugeWidgetsPage::OnButtonSetRange(wxCommandEvent& WXUNUSED(event)) if ( !m_textRange->GetValue().ToULong(&val) ) return; + m_range = val; m_gauge->SetRange(val); } @@ -361,7 +370,7 @@ void GaugeWidgetsPage::OnUpdateUIResetButton(wxUpdateUIEvent& event) event.Enable( m_chkVert->GetValue() || m_chkSmooth->GetValue() ); } -void GaugeWidgetsPage::OnCheckOrRadioBox(wxCommandEvent& event) +void GaugeWidgetsPage::OnCheckOrRadioBox(wxCommandEvent& WXUNUSED(event)) { CreateGauge(); } @@ -400,3 +409,5 @@ void GaugeWidgetsPage::StopTimer() wxLogMessage(_T("Progress finished.")); } +#endif + // wxUSE_GAUGE