]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/widgets/slider.cpp
reSWIGged
[wxWidgets.git] / samples / widgets / slider.cpp
index 2c5344eb03bff3e33ee400fd529d2c79a4ed4252..9fc211cc6309a75fb76ce0b11ca001ec107e752c 100644 (file)
@@ -24,6 +24,8 @@
     #pragma hdrstop
 #endif
 
+#if wxUSE_SLIDER
+
 // for all others, include the necessary headers
 #ifndef WX_PRECOMP
     #include "wx/log.h"
@@ -44,7 +46,7 @@
 #include "wx/sizer.h"
 
 #include "widgets.h"
-#if wxUSE_SLIDER
+
 #include "icons/slider.xpm"
 
 // ----------------------------------------------------------------------------
@@ -87,7 +89,7 @@ enum
 class SliderWidgetsPage : public WidgetsPage
 {
 public:
-    SliderWidgetsPage(wxNotebook *notebook, wxImageList *imaglist);
+    SliderWidgetsPage(wxBookCtrl *book, wxImageList *imaglist);
     virtual ~SliderWidgetsPage(){};
 
     virtual wxControl *GetWidget() const { return m_slider; }
@@ -141,6 +143,7 @@ protected:
     // the check/radio boxes for styles
     wxCheckBox *m_chkLabels,
                *m_chkVert,
+               *m_chkInverse,
                *m_chkTicks,
                *m_chkBothSides;
 
@@ -197,9 +200,9 @@ END_EVENT_TABLE()
 
 IMPLEMENT_WIDGETS_PAGE(SliderWidgetsPage, _T("Slider"));
 
-SliderWidgetsPage::SliderWidgetsPage(wxNotebook *notebook,
-                                       wxImageList *imaglist)
-                  : WidgetsPage(notebook)
+SliderWidgetsPage::SliderWidgetsPage(wxBookCtrl *book,
+                                     wxImageList *imaglist)
+                  : WidgetsPage(book)
 {
     imaglist->Add(wxBitmap(slider_xpm));
 
@@ -208,6 +211,7 @@ SliderWidgetsPage::SliderWidgetsPage(wxNotebook *notebook,
     m_max = 100;
 
     m_chkVert =
+    m_chkInverse =
     m_chkTicks =
     m_chkLabels =
     m_chkBothSides = (wxCheckBox *)NULL;
@@ -224,6 +228,7 @@ SliderWidgetsPage::SliderWidgetsPage(wxNotebook *notebook,
     wxSizer *sizerLeft = new wxStaticBoxSizer(box, wxVERTICAL);
 
     m_chkVert = CreateCheckBoxAndAddToSizer(sizerLeft, _T("&Vertical"));
+    m_chkInverse = CreateCheckBoxAndAddToSizer(sizerLeft, _T("&Inverse"));
     m_chkTicks = CreateCheckBoxAndAddToSizer(sizerLeft, _T("Show &ticks"));
     m_chkLabels = CreateCheckBoxAndAddToSizer(sizerLeft, _T("Show &labels"));
     static const wxString sides[] =
@@ -322,6 +327,7 @@ SliderWidgetsPage::SliderWidgetsPage(wxNotebook *notebook,
 void SliderWidgetsPage::Reset()
 {
     m_chkVert->SetValue(false);
+    m_chkInverse->SetValue(false);
     m_chkTicks->SetValue(true);
     m_chkLabels->SetValue(true);
     m_chkBothSides->SetValue(false);
@@ -339,6 +345,11 @@ void SliderWidgetsPage::CreateSlider()
     else
         flags |= wxSL_HORIZONTAL;
 
+    if ( m_chkInverse->GetValue() )
+    {
+        flags |= wxSL_INVERSE;
+    }
+
     if ( m_chkLabels->GetValue() )
     {
         flags |= wxSL_LABELS;
@@ -528,6 +539,7 @@ void SliderWidgetsPage::OnUpdateUIMinMaxButton(wxUpdateUIEvent& event)
 void SliderWidgetsPage::OnUpdateUIResetButton(wxUpdateUIEvent& event)
 {
     event.Enable( m_chkVert->GetValue() ||
+                  m_chkInverse->GetValue() ||
                   !m_chkTicks->GetValue() ||
                   !m_chkLabels->GetValue() ||
                   m_chkBothSides->GetValue() );
@@ -594,11 +606,11 @@ void SliderWidgetsPage::OnSlider(wxScrollEvent& event)
 
     static int s_numSliderEvents = 0;
 
-    wxLogMessage(wxT("Slider event #%d: %s (pos = %d)"),
+    wxLogMessage(wxT("Slider event #%d: %s (pos = %d, int value = %ld)"),
                  s_numSliderEvents++,
                  eventNames[index],
-                 event.GetPosition());
+                 event.GetPosition(),
+                 event.GetInt());
 }
 
-#endif
-    // wxUSE_SLIDER
+#endif // wxUSE_SLIDER