/////////////////////////////////////////////////////////////////////////////
-// Program: wxWindows Widgets Sample
+// Program: wxWidgets Widgets Sample
// Name: gauge.cpp
// Purpose: Part of the widgets sample showing wxGauge
// Author: Vadim Zeitlin
#include "wx/sizer.h"
#include "widgets.h"
-#if 1
+#if wxUSE_GAUGE
#include "icons/gauge.xpm"
// ----------------------------------------------------------------------------
// control ids
enum
{
- GaugePage_Reset = 100,
+ GaugePage_Reset = wxID_HIGHEST,
GaugePage_Progress,
GaugePage_Clear,
GaugePage_SetValue,
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);
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()
// 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;
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);
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);
// final initializations
Reset();
- SetAutoLayout(TRUE);
SetSizer(sizerTop);
sizerTop->Fit(this);
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;
if ( !m_textRange->GetValue().ToULong(&val) )
return;
+ m_range = val;
m_gauge->SetRange(val);
}
event.Enable( m_chkVert->GetValue() || m_chkSmooth->GetValue() );
}
-void GaugeWidgetsPage::OnCheckOrRadioBox(wxCommandEvent& event)
+void GaugeWidgetsPage::OnCheckOrRadioBox(wxCommandEvent& WXUNUSED(event))
{
CreateGauge();
}
}
#endif
+ // wxUSE_GAUGE