]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/widgets/gauge.cpp
use wxDC::GetMultiLineTextExtent() instead of duplicating its code in wxButton::DoGet...
[wxWidgets.git] / samples / widgets / gauge.cpp
index dc9e21bb0903f00411f556f3147216cc5d9560b6..372d0817b7585a5c2f4468faeaeac84fe5b1909f 100644 (file)
@@ -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
 // 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/log.h"
     #include "wx/timer.h"
 
+    #include "wx/bitmap.h"
     #include "wx/button.h"
     #include "wx/checkbox.h"
     #include "wx/combobox.h"
     #include "wx/button.h"
     #include "wx/checkbox.h"
     #include "wx/combobox.h"
@@ -41,7 +42,7 @@
 #include "wx/sizer.h"
 
 #include "widgets.h"
 #include "wx/sizer.h"
 
 #include "widgets.h"
-#if 1
+#if wxUSE_GAUGE
 #include "icons/gauge.xpm"
 
 // ----------------------------------------------------------------------------
 #include "icons/gauge.xpm"
 
 // ----------------------------------------------------------------------------
@@ -70,9 +71,11 @@ enum
 class GaugeWidgetsPage : public WidgetsPage
 {
 public:
 class GaugeWidgetsPage : public WidgetsPage
 {
 public:
-    GaugeWidgetsPage(wxNotebook *notebook, wxImageList *imaglist);
+    GaugeWidgetsPage(wxBookCtrl *book, wxImageList *imaglist);
     virtual ~GaugeWidgetsPage();
 
     virtual ~GaugeWidgetsPage();
 
+    virtual wxControl *GetWidget() const { return m_gauge; }
+
 protected:
     // event handlers
     void OnButtonReset(wxCommandEvent& event);
 protected:
     // event handlers
     void OnButtonReset(wxCommandEvent& event);
@@ -143,8 +146,8 @@ BEGIN_EVENT_TABLE(GaugeWidgetsPage, WidgetsPage)
 
     EVT_UPDATE_UI(GaugePage_CurValueText, GaugeWidgetsPage::OnUpdateUICurValueText)
 
 
     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()
 
     EVT_TIMER(GaugePage_Timer, GaugeWidgetsPage::OnProgressTimer)
 END_EVENT_TABLE()
@@ -155,9 +158,9 @@ END_EVENT_TABLE()
 
 IMPLEMENT_WIDGETS_PAGE(GaugeWidgetsPage, _T("Gauge"));
 
 
 IMPLEMENT_WIDGETS_PAGE(GaugeWidgetsPage, _T("Gauge"));
 
-GaugeWidgetsPage::GaugeWidgetsPage(wxNotebook *notebook,
-                                       wxImageList *imaglist)
-                  : WidgetsPage(notebook)
+GaugeWidgetsPage::GaugeWidgetsPage(wxBookCtrl *book,
+                                   wxImageList *imaglist)
+                 :WidgetsPage(book)
 {
     imaglist->Add(wxBitmap(gauge_xpm));
 
 {
     imaglist->Add(wxBitmap(gauge_xpm));
 
@@ -175,7 +178,7 @@ GaugeWidgetsPage::GaugeWidgetsPage(wxNotebook *notebook,
     wxSizer *sizerTop = new wxBoxSizer(wxHORIZONTAL);
 
     // left pane
     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);
 
 
     wxSizer *sizerLeft = new wxStaticBoxSizer(box, wxVERTICAL);
 
@@ -188,14 +191,15 @@ GaugeWidgetsPage::GaugeWidgetsPage(wxNotebook *notebook,
     sizerLeft->Add(btn, 0, wxALIGN_CENTRE_HORIZONTAL | wxALL, 15);
 
     // middle pane
     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);
     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);
 
 
     sizerMiddle->Add(sizerRow, 0, wxALL | wxGROW, 5);
 
@@ -233,7 +237,6 @@ GaugeWidgetsPage::GaugeWidgetsPage(wxNotebook *notebook,
     // final initializations
     Reset();
 
     // final initializations
     Reset();
 
-    SetAutoLayout(TRUE);
     SetSizer(sizerTop);
 
     sizerTop->Fit(this);
     SetSizer(sizerTop);
 
     sizerTop->Fit(this);
@@ -250,8 +253,8 @@ GaugeWidgetsPage::~GaugeWidgetsPage()
 
 void GaugeWidgetsPage::Reset()
 {
 
 void GaugeWidgetsPage::Reset()
 {
-    m_chkVert->SetValue(FALSE);
-    m_chkSmooth->SetValue(FALSE);
+    m_chkVert->SetValue(false);
+    m_chkSmooth->SetValue(false);
 }
 
 void GaugeWidgetsPage::CreateGauge()
 }
 
 void GaugeWidgetsPage::CreateGauge()
@@ -271,7 +274,7 @@ void GaugeWidgetsPage::CreateGauge()
     {
         val = m_gauge->GetValue();
 
     {
         val = m_gauge->GetValue();
 
-        m_sizerGauge->Remove(m_gauge);
+        m_sizerGauge->Detach( m_gauge );
         delete m_gauge;
     }
 
         delete m_gauge;
     }
 
@@ -332,6 +335,7 @@ void GaugeWidgetsPage::OnButtonSetRange(wxCommandEvent& WXUNUSED(event))
     if ( !m_textRange->GetValue().ToULong(&val) )
         return;
 
     if ( !m_textRange->GetValue().ToULong(&val) )
         return;
 
+    m_range = val;
     m_gauge->SetRange(val);
 }
 
     m_gauge->SetRange(val);
 }
 
@@ -361,7 +365,7 @@ void GaugeWidgetsPage::OnUpdateUIResetButton(wxUpdateUIEvent& event)
     event.Enable( m_chkVert->GetValue() || m_chkSmooth->GetValue() );
 }
 
     event.Enable( m_chkVert->GetValue() || m_chkSmooth->GetValue() );
 }
 
-void GaugeWidgetsPage::OnCheckOrRadioBox(wxCommandEvent& event)
+void GaugeWidgetsPage::OnCheckOrRadioBox(wxCommandEvent& WXUNUSED(event))
 {
     CreateGauge();
 }
 {
     CreateGauge();
 }
@@ -401,3 +405,4 @@ void GaugeWidgetsPage::StopTimer()
 }
 
 #endif
 }
 
 #endif
+    // wxUSE_GAUGE