X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fwx%2Fsrc%2FbbwxSlider.cxx;h=71a4b97a6a4a38ef03c806e62454f3b671e01386;hb=c429a5e1229f3dbc56e2d0100980c7e4a3506d89;hp=0636b5eddd8025029a12bb35d7a8bcee7ed064f4;hpb=6575a389b71b1b85c79e4444885becb76ecf16e4;p=bbtk.git diff --git a/packages/wx/src/bbwxSlider.cxx b/packages/wx/src/bbwxSlider.cxx index 0636b5e..71a4b97 100644 --- a/packages/wx/src/bbwxSlider.cxx +++ b/packages/wx/src/bbwxSlider.cxx @@ -2,8 +2,8 @@ Program: bbtk Module: $RCSfile: bbwxSlider.cxx,v $ Language: C++ - Date: $Date: 2008/10/17 08:18:32 $ - Version: $Revision: 1.14 $ + Date: $Date: 2008/12/11 15:30:14 $ + Version: $Revision: 1.16 $ =========================================================================*/ /* --------------------------------------------------------------------- @@ -45,7 +45,57 @@ namespace bbwx { + //-------------------------------------------------------------------------- + // 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, + int 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 + 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; + int reactiveOnTrack; + wxStaticText *label_vertical; + wxStaticText *label_min; + wxStaticText *label_max; + }; + //------------------------------------------------------------------------ + //------------------------------------------------------------------------ + //------------------------------------------------------------------------ + + //------------------------------------------------------------------------- SliderWidget::SliderWidget(Slider* box, wxWindow *parent, int orientation, @@ -368,7 +418,7 @@ namespace bbwx bbSetOutputOut( bbGetInputIn() ); } - void Slider::CreateWidget() + void Slider::CreateWidget(wxWindow* parent) { int orientation=0; @@ -378,7 +428,7 @@ namespace bbwx // std::cout << "bbGetWxParent = "<