+ //--------------------------------------------------------------------------
+ // The widget created by the box
+ class SliderWidget : public wxPanel
+ {
+ public:
+ /// Ctor with the two first params the parent window and the creator box
+ /// which must be passed to the WxBlackBoxWidget constructor.
+ /// The other params initialize the widget
+ SliderWidget(Slider* box, wxWindow *parent,
+ int orientation,
+ bool changeresolution,
+ bool label,
+ wxString title,
+ int vmin,
+ int vmax,
+ int value,
+ bool track);
+ /// Dtor
+ ~SliderWidget();
+ /// Events callbacks
+ /// Called when the slider is moved
+ void OnSliderTrack(wxScrollEvent& event);
+ /// Called when the slider is released
+ void OnSliderRelease(wxScrollEvent& event);
+ /// Called when the little slider which controls the resolution
+ /// of the main slider is moved (if activated)
+ void OnResolutionOfSlider(wxScrollEvent& event);
+
+ // Accessors
+ void SetValue(int v) { mwxSlider->SetValue(v); }
+ int GetValue() { return mwxSlider->GetValue(); }
+ void SetRange(int min, int max);
+ // Update the texts which display the min/max/current values of the slider
+ void RefreshLabels();
+
+ private:
+ Slider* mBox;
+ wxSlider *mwxSlider;
+ wxSlider *mResolutionOfSlider;
+ int min;
+ int max;
+ bool reactiveOnTrack;
+ wxStaticText *label_vertical;
+ wxStaticText *label_min;
+ wxStaticText *label_max;
+ };
+ //------------------------------------------------------------------------
+ //------------------------------------------------------------------------
+ //------------------------------------------------------------------------
+