// control ids
enum
{
- GaugePage_Reset = 100,
+ GaugePage_Reset = wxID_HIGHEST,
GaugePage_Progress,
GaugePage_Clear,
GaugePage_SetValue,
class GaugeWidgetsPage : public WidgetsPage
{
public:
- GaugeWidgetsPage(wxBookCtrlBase *book, wxImageList *imaglist);
+ GaugeWidgetsPage(WidgetsBookCtrl *book, wxImageList *imaglist);
virtual ~GaugeWidgetsPage();
virtual wxControl *GetWidget() const { return m_gauge; }
+ virtual void RecreateWidget() { CreateGauge(); }
+
+ // lazy creation of the content
+ virtual void CreateContent();
protected:
// event handlers
// the checkboxes for styles
wxCheckBox *m_chkVert,
- *m_chkSmooth;
+ *m_chkSmooth,
+ *m_chkIndeterminate;
// the gauge itself and the sizer it is in
wxGauge *m_gauge;
// 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(wxBookCtrlBase *book,
+GaugeWidgetsPage::GaugeWidgetsPage(WidgetsBookCtrl *book,
wxImageList *imaglist)
- :WidgetsPage(book)
+ :WidgetsPage(book, imaglist, gauge_xpm)
{
- imaglist->Add(wxBitmap(gauge_xpm));
-
// init everything
m_range = 100;
m_timer = (wxTimer *)NULL;
m_chkVert =
- m_chkSmooth = (wxCheckBox *)NULL;
+ m_chkSmooth =
+ m_chkIndeterminate = (wxCheckBox *)NULL;
m_gauge = (wxGauge *)NULL;
m_sizerGauge = (wxSizer *)NULL;
+}
+void GaugeWidgetsPage::CreateContent()
+{
wxSizer *sizerTop = new wxBoxSizer(wxHORIZONTAL);
// left pane
m_chkVert = CreateCheckBoxAndAddToSizer(sizerLeft, _T("&Vertical"));
m_chkSmooth = CreateCheckBoxAndAddToSizer(sizerLeft, _T("&Smooth"));
+ m_chkIndeterminate = CreateCheckBoxAndAddToSizer(sizerLeft, _T("&Indeterminate"));
sizerLeft->Add(5, 5, 0, wxGROW | wxALL, 5); // spacer
{
m_chkVert->SetValue(false);
m_chkSmooth->SetValue(false);
+ m_chkIndeterminate->SetValue(false);
}
void GaugeWidgetsPage::CreateGauge()
{
- int flags = 0;
+ int flags = ms_defaultFlags;
if ( m_chkVert->GetValue() )
flags |= wxGA_VERTICAL;
wxDefaultPosition, wxDefaultSize,
flags);
m_gauge->SetValue(val);
+
+ if ( m_chkIndeterminate->GetValue() ){
+ m_gauge->Pulse();
+ }
if ( flags & wxGA_VERTICAL )
m_sizerGauge->Add(m_gauge, 0, wxGROW | wxALL, 5);
m_range = val;
m_gauge->SetRange(val);
+ m_chkIndeterminate->SetValue(0);
}
void GaugeWidgetsPage::OnButtonSetValue(wxCommandEvent& WXUNUSED(event))
return;
m_gauge->SetValue(val);
+ m_chkIndeterminate->SetValue(0);
}
void GaugeWidgetsPage::OnUpdateUIValueButton(wxUpdateUIEvent& event)