From: guigues Date: Tue, 2 Dec 2008 13:37:54 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: v0.9.1~57 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=8cbad3dc345346d0473d93cdc06dc9eb5cbdbf23;p=bbtk.git *** empty log message *** --- diff --git a/kernel/src/bbtkKWBlackBox.cxx b/kernel/src/bbtkKWBlackBox.cxx index 501ebef..3df2005 100644 --- a/kernel/src/bbtkKWBlackBox.cxx +++ b/kernel/src/bbtkKWBlackBox.cxx @@ -2,8 +2,8 @@ Program: bbtk Module: $RCSfile: bbtkKWBlackBox.cxx,v $ Language: C++ - Date: $Date: 2008/12/02 10:21:40 $ - Version: $Revision: 1.3 $ + Date: $Date: 2008/12/02 13:37:54 $ + Version: $Revision: 1.4 $ =========================================================================*/ /* --------------------------------------------------------------------- @@ -349,12 +349,16 @@ namespace bbtk KW::GetApplication()->AddWindow((vtkKWWindowBase*)win); win->Create(); win->SetResizable(0,0); - bbUserCreateWidget(win->GetFrame()); + bbUserCreateWidget(win->GetFrame()); KW::GetApplication()->Script("place %s -x 0 -y 0 -width %d -height %d", bbGetOutputWidget()->GetWidgetName(), bbGetInputWinWidth(), bbGetInputWinHeight()); + + + + /* bbGetOutputWidget()->SetParent(win); @@ -404,7 +408,19 @@ namespace bbtk } //========================================================================= - + /* + //========================================================================= + void KWBlackBox::bbPlaceWidget() + { + vtkKWFrame* parent = (vtkKWFrame*)(bbGetOutputWidget()->GetParent()); + bbGetOutputWidget->GetApplication()->Script("place %s -x 0 -y 0 -width %s -height %s", + bbGetOutputWidget()->GetWidgetName(), + parent->GetWidth(), + parent->GetHeight()); + } + //========================================================================= + */ + /* // LG 24/11/08 : New widget pipeline void KWBlackBox::bbCreateWidgetAndEventHandler(vtkKWWidget* parent) @@ -444,7 +460,7 @@ namespace bbtk */ - vtkKWWidget* KWBlackBox::bbCreateWidgetOfInput(const std::string& in, vtkKWWidget* parent) + vtkKWWidget* KWBlackBox::bbCreateWidgetOfInput(const std::string& in, vtkKWFrame* parent) { vtkKWWidget* w = 0; // If input is connected diff --git a/kernel/src/bbtkKWBlackBox.h b/kernel/src/bbtkKWBlackBox.h index 78aa8af..754a7dd 100644 --- a/kernel/src/bbtkKWBlackBox.h +++ b/kernel/src/bbtkKWBlackBox.h @@ -2,8 +2,8 @@ Program: bbtk Module: $RCSfile: bbtkKWBlackBox.h,v $ Language: C++ - Date: $Date: 2008/12/02 08:38:08 $ - Version: $Revision: 1.2 $ + Date: $Date: 2008/12/02 13:37:54 $ + Version: $Revision: 1.3 $ ========================================================================*/ @@ -54,11 +54,12 @@ #include "bbtkKW.h" - //================================================================== - // Forward declaration of the class of window associated to a KWBlackBox - class vtkKWBlackBoxWindow; - class vtkKWBlackBoxDialog; - //================================================================== +//================================================================== +// Forward declaration of the class of window associated to a KWBlackBox +class vtkKWBlackBoxWindow; +class vtkKWBlackBoxDialog; +class vtkKWFrame; +//================================================================== namespace bbtk @@ -148,7 +149,7 @@ namespace bbtk /// User callback for creating the widget associated to the box /// ** Must be defined ** // LG 24/11/08 : New widget pipeline - virtual void bbUserCreateWidget(vtkKWWidget* parent) + virtual void bbUserCreateWidget(vtkKWFrame* parent) { bbtkError(bbGetTypeName()<<" is a KWBlackBox whose bbUserCreateWidget methods is not overloaded : is it a feature or a bug ?!?"); } @@ -156,7 +157,7 @@ namespace bbtk vtkKWWidget* bbCreateWidgetOfInput(const std::string& in, - vtkKWWidget* parent); + vtkKWFrame* parent); //================================================================== @@ -228,7 +229,7 @@ namespace bbtk /// Defines the bbUserCreateWidget method #define BBTK_CREATE_KWWIDGET(CALLBACK) \ public: \ - inline void bbUserCreateWidget(vtkKWWidget* parent) \ + inline void bbUserCreateWidget(vtkKWFrame* parent) \ { \ bbtkDebugMessageInc("kw",1,"**> Creating widget for [" \ <bbSetWindow(this); } virtual BBPointer bbGetBlackBox() { return mBox.lock(); } - vtkKWWidget* GetFrame() { return mFrame; } + vtkKWFrame* GetFrame() { return mFrame; } void CreateWidget(); // void Pack(); protected: diff --git a/packages/kw/src/bbkwLayoutSplit.cxx b/packages/kw/src/bbkwLayoutSplit.cxx index b35f7f1..10a2097 100644 --- a/packages/kw/src/bbkwLayoutSplit.cxx +++ b/packages/kw/src/bbkwLayoutSplit.cxx @@ -2,8 +2,8 @@ Program: bbtk Module: $RCSfile: bbkwLayoutSplit.cxx,v $ Language: C++ - Date: $Date: 2008/12/02 10:21:42 $ - Version: $Revision: 1.2 $ + Date: $Date: 2008/12/02 13:37:56 $ + Version: $Revision: 1.3 $ =========================================================================*/ /* --------------------------------------------------------------------- @@ -60,36 +60,73 @@ namespace bbkw } - void LayoutSplit::CreateWidget(vtkKWWidget* parent) + void LayoutSplit::CreateWidget(vtkKWFrame* parent) { vtkKWSplitFrame *splitframe = vtkKWSplitFrame::New(); bbSetOutputWidget(splitframe); splitframe->SetParent(parent); splitframe->Create(); - splitframe->SetFrame1MinimumSize(5); splitframe->SetFrame2MinimumSize(5); + splitframe->SetExpandableFrameToBothFrames(); + + + int width = parent->GetWidth(); + int height = parent->GetHeight(); + int orientation = 0; + if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"0|H|HORIZONTAL")==true) + { + orientation = 0; + } + else if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"1|V|VERTICAL")==true) + { + orientation = 1; + } + else + { + bbtkWarning("Unrecognized value '"<SetOrientationToHorizontal (); + width = width / 2; + } + else + { + splitframe->SetOrientationToVertical (); + height = height / 2 ; + } + + width = width - 5; + height = height - 5 ; + + bbGetOutputWidget()->GetApplication()->Script("place %s -x 0 -y 0 -width %d -height %d", + bbGetOutputWidget()->GetWidgetName(), + parent->GetWidth(), + parent->GetHeight() ); - splitframe->GetApplication()->Script("pack %s -side top -expand y", - splitframe->GetWidgetName()); - /* splitframe->SetReliefToGroove(); splitframe->SetBorderWidth(2); - splitframe->SetExpandableFrameToBothFrames(); - */ - bbCreateWidgetOfInput("Widget1",splitframe->GetFrame1()); - bbCreateWidgetOfInput("Widget2",splitframe->GetFrame2()); - - /* - int orientation=0; - if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"0|H|HORIZONTAL")==true) { orientation=0; } - if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"1|V|VERTICAL")==true) { orientation=1; } - - if (orientation==1) { w->SplitHorizontally( w1, w2, 100); } - else { w->SplitVertically( w1, w2, 100); } + + vtkKWWidget* w1 = bbCreateWidgetOfInput("Widget1",splitframe->GetFrame1()); + + vtkKWWidget* w2 = bbCreateWidgetOfInput("Widget2",splitframe->GetFrame2()); + + + splitframe->GetApplication()->Script("place %s -x 0 -y 0 -width %d -height %d", + w1->GetWidgetName(), + width, + height); + + splitframe->GetApplication()->Script("place %s -x 0 -y 0 -width %d -height %d", + w2->GetWidgetName(), + width, + height); - */ + + } diff --git a/packages/kw/src/bbkwLayoutSplit.h b/packages/kw/src/bbkwLayoutSplit.h index 234afb0..7aad4da 100644 --- a/packages/kw/src/bbkwLayoutSplit.h +++ b/packages/kw/src/bbkwLayoutSplit.h @@ -2,8 +2,8 @@ Program: bbtk Module: $RCSfile: bbkwLayoutSplit.h,v $ Language: C++ - Date: $Date: 2008/11/29 21:41:58 $ - Version: $Revision: 1.1 $ + Date: $Date: 2008/12/02 13:37:56 $ + Version: $Revision: 1.2 $ =========================================================================*/ /* --------------------------------------------------------------------- @@ -65,7 +65,7 @@ namespace bbkw BBTK_DECLARE_INPUT(Proportion,int); BBTK_PROCESS(Process); BBTK_CREATE_KWWIDGET(CreateWidget); - void CreateWidget(vtkKWWidget*); + void CreateWidget(vtkKWFrame*); void Process(); protected: diff --git a/packages/kw/src/bbkwSlicer.cxx b/packages/kw/src/bbkwSlicer.cxx index e122eaf..c46d3d1 100644 --- a/packages/kw/src/bbkwSlicer.cxx +++ b/packages/kw/src/bbkwSlicer.cxx @@ -2,8 +2,8 @@ Program: bbtk Module: $RCSfile: bbkwSlicer.cxx,v $ Language: C++ - Date: $Date: 2008/12/02 08:38:10 $ - Version: $Revision: 1.2 $ + Date: $Date: 2008/12/02 13:37:56 $ + Version: $Revision: 1.3 $ =========================================================================*/ /* --------------------------------------------------------------------- @@ -77,7 +77,7 @@ namespace bbkw } } //-------------------------------------------------------------------------- - void Slicer::CreateWidget(vtkKWWidget* parent) + void Slicer::CreateWidget(vtkKWFrame* parent) { vtkKWSlicer* s = vtkKWSlicer::New(); bbSetOutputWidget(s); @@ -88,9 +88,11 @@ namespace bbkw } s->Create(); + // bbPlaceWidget(); + /* s->GetApplication()->Script("pack %s -side top -expand y", s->GetWidgetName()); - + */ } diff --git a/packages/kw/src/bbkwSlicer.h b/packages/kw/src/bbkwSlicer.h index 32fc4e9..158dd0c 100644 --- a/packages/kw/src/bbkwSlicer.h +++ b/packages/kw/src/bbkwSlicer.h @@ -2,8 +2,8 @@ Program: bbtk Module: $RCSfile: bbkwSlicer.h,v $ Language: C++ - Date: $Date: 2008/11/29 21:41:58 $ - Version: $Revision: 1.1 $ + Date: $Date: 2008/12/02 13:37:56 $ + Version: $Revision: 1.2 $ =========================================================================*/ /* --------------------------------------------------------------------- @@ -73,7 +73,7 @@ namespace bbkw BBTK_PROCESS(Process); BBTK_CREATE_KWWIDGET(CreateWidget); void Process(); - void CreateWidget(vtkKWWidget*); + void CreateWidget(vtkKWFrame*); protected: virtual void bbUserConstructor(); diff --git a/packages/kw/src/bbkwSlider.cxx b/packages/kw/src/bbkwSlider.cxx index 41a8008..8547f40 100644 --- a/packages/kw/src/bbkwSlider.cxx +++ b/packages/kw/src/bbkwSlider.cxx @@ -2,8 +2,8 @@ Program: bbtk Module: $RCSfile: bbkwSlider.cxx,v $ Language: C++ - Date: $Date: 2008/11/29 21:41:58 $ - Version: $Revision: 1.1 $ + Date: $Date: 2008/12/02 13:37:56 $ + Version: $Revision: 1.2 $ =========================================================================*/ /* --------------------------------------------------------------------- @@ -44,303 +44,30 @@ #include "bbtkUtilities.h" #include "vtkKWScale.h" +#include "vtkObjectFactory.h" +#include "vtkCommand.h" namespace bbkw { - /* - //------------------------------------------------------------------------- - SliderWidget::SliderWidget(Slider* box, kwWindow *parent, - int orientation, - bool changeresolution, - bool labels, - kwString title, - int vmin, - int vmax, - int value, - int reactiveontrack) - : - kwPanel( parent, -1, kwDefaultPosition, kwDefaultSize, kwTAB_TRAVERSAL), - mBox(box), - min(vmin), - max(vmax), - reactiveOnTrack(reactiveontrack) - { - kwPanel * panel = this; - - label_min = NULL; - label_max = NULL; - label_vertical = NULL; - mResolutionOfSlider = NULL; - - int sizeX,sizeY; - long kwlabels=0; - long kworientation=0; - if (orientation==0) - { - sizeX = 2; - sizeY = 40; - kworientation = kwSL_HORIZONTAL; - if (labels==true) - { - kwlabels = kwSL_LABELS; - } - } - else - { - sizeX = 20; - sizeY = 2; - kworientation = kwSL_VERTICAL; - } - - //--------------------------------------------------------------------- - // 1) Creation of the components of the widget - // Any top level sub-widget must have the panel returned by panel - // for parent - mkwSlider = new kwSlider( panel, - -1, 0 , 0, 500 , - kwDefaultPosition, - kwSize(sizeX,sizeY), - kworientation | kwlabels ); - - // mkwSlider->SetInitialSize(kwSize(sizeX,sizeY)); - - // mkwSlider->SetTickFreq(100,0); - mkwSlider->SetRange(min,max); - mkwSlider->SetValue(value); - - // RefreshLabels(); - - // Connecting events to callbacks - Connect( mkwSlider->GetId(), - kwEVT_SCROLL_THUMBRELEASE, - - (kwObjectEventFunction) - (void (kwPanel::*)(kwScrollEvent&)) - &SliderWidget::OnSliderRelease ); - - Connect( mkwSlider->GetId(), - kwEVT_SCROLL_THUMBTRACK, - - (kwObjectEventFunction) - (void (kwPanel::*)(kwScrollEvent&)) - &SliderWidget::OnSliderTrack ); - - Connect( mkwSlider->GetId(), - kwEVT_SCROLL_CHANGED, - - (kwObjectEventFunction) - (void (kwPanel::*)(kwScrollEvent&)) - &SliderWidget::OnSliderTrack ); - - // If asked : creation of the other little slider which allows to change - // the resolution of the main slider - if (changeresolution==true){ - // has panel for parent too - mResolutionOfSlider = new kwSlider(panel, - -1,5,1,10, - kwDefaultPosition, - kwSize(25,45), - kwSL_VERTICAL | - kwSL_AUTOTICKS | - kwSL_LEFT ); - - - mResolutionOfSlider->SetRange(1,8); - mResolutionOfSlider->SetValue(5); - // Is kwEVT_COMMAND_SLIDER_UPDATED event - // is connected to the method OnResolutionOfSlider - Connect(mResolutionOfSlider->GetId(), - kwEVT_COMMAND_SLIDER_UPDATED, - (kwObjectEventFunction) - (void (kwPanel::*)(kwScrollEvent&)) - &SliderWidget::OnResolutionOfSlider ); - } - //--------------------------------------------------------------------- - - //--------------------------------------------------------------------- - // 2) Insertion of the components in the window - - // We use a FlexGridSizer - kwFlexGridSizer *sizer; - - - if (orientation==0) - { - // HORIZONTAL - if (mResolutionOfSlider!=NULL) - { - sizer = new kwFlexGridSizer(2); - if (title!=_T("")) - { - sizer -> Add( new kwStaticText(panel,-1, title ) ); - sizer -> Add( new kwStaticText(panel,-1, _T("") ) ); - } - } - else - { - sizer = new kwFlexGridSizer(1); - if (title!=_T("")) - { - sizer -> Add( new kwStaticText(panel,-1, title ) ); - } - } - sizer -> Add( mkwSlider,1,kwGROW ); - sizer -> AddGrowableCol(0); - if (mResolutionOfSlider!=NULL) - { - sizer -> Add( mResolutionOfSlider ); - } - } - else - { - // VERTICAL - sizer = new kwFlexGridSizer(1); - if (labels==true) // with lable - { - label_vertical = new kwStaticText(panel,-1,_T("")); - label_min = new kwStaticText(panel,-1,_T("")); - label_max = new kwStaticText(panel,-1,_T("")); - if (title!=_T("")) - { - sizer -> Add( new kwStaticText(panel,-1, title ) ); - sizer -> AddGrowableRow(3); - } - else - { - sizer -> AddGrowableRow(2); - } - sizer -> Add( label_vertical ); - sizer -> Add( label_min ); - sizer -> Add( mkwSlider,1,kwGROW ); - sizer -> Add( label_max ); - if (mResolutionOfSlider!=NULL) - { - sizer -> Add( mResolutionOfSlider ); - } - } - else - { - if (title!=_T("")) - { - sizer -> Add( new kwStaticText(panel,-1, title ) ); - sizer -> AddGrowableRow(1); - } - else - { - sizer -> AddGrowableRow(0); - } - sizer -> Add( mkwSlider,1,kwGROW ); - if (mResolutionOfSlider!=NULL) - { - sizer -> Add( mResolutionOfSlider ); - } - } - } - // Initialize the labels - RefreshLabels(); - // Insert the sizer in the main panel and refresh the layout - panel->SetSizer(sizer); - } - //------------------------------------------------------------------------- - - - //------------------------------------------------------------------------- - SliderWidget::~SliderWidget() - { - } - //------------------------------------------------------------------------- - - - //------------------------------------------------------------------------- - void SliderWidget::OnResolutionOfSlider(kwScrollEvent& event) - { - int value = mkwSlider->GetValue(); - int delta = (int) (pow( 4 , mResolutionOfSlider->GetValue() )); - int minTmp = value - delta/2; - int maxTmp = value + delta/2; - if (minTmpmax) - { - maxTmp = max; - } - mkwSlider->SetRange(minTmp,maxTmp); - RefreshLabels(); - } - //------------------------------------------------------------------------- - - - - //------------------------------------------------------------------------- - void SliderWidget::OnSliderTrack(kwScrollEvent& event) + //-------------------------------------------------------------------------- + class Callback : public vtkCommand { - if(reactiveOnTrack) + public: + static Callback *New() { return new Callback; } + virtual void Execute(vtkObject* caller, unsigned long, void*) { - // When user releases the slider - // we update the output of the box - - mBox->bbSetOutputOut( mkwSlider->GetValue() ); - mBox->bbSetInputIn( mkwSlider->GetValue() ); - // and signal that the output has changed - mBox->bbSignalOutputModification("Out"); + // std::cout << "$$$$$$$$$$$$ Slider CB $$$$$$$$$$$$"<bbSetOutputOut( scale->GetValue() ); + mBox->bbSetInputIn( scale->GetValue() ); + // and signal that the output has changed + mBox->bbSignalOutputModification("Out"); } - RefreshLabels(); - } - //------------------------------------------------------------------------- - - - //------------------------------------------------------------------------- - void SliderWidget::OnSliderRelease(kwScrollEvent& event) - { - // When user releases the slider - // we update the output of the box - mBox->bbSetOutputOut( mkwSlider->GetValue() ); - mBox->bbSetInputIn( mkwSlider->GetValue() ); - // and signal that the output has changed - mBox->bbSignalOutputModification("Out"); - } - //------------------------------------------------------------------------- - - - //------------------------------------------------------------------------- - void SliderWidget::RefreshLabels() - { - kwString strValue; - if (label_vertical!=NULL) - { - strValue.Printf( _T("%d"), mkwSlider->GetValue() ); - label_vertical->SetLabel(strValue); - } - if (label_min!=NULL) - { - strValue.Printf( _T("%d"), mkwSlider->GetMin() ); - label_min->SetLabel(strValue); - } - if (label_max!=NULL) - { - strValue.Printf( _T("%d"), mkwSlider->GetMax() ); - label_max->SetLabel(strValue); - } - } - //------------------------------------------------------------------------- - - - //------------------------------------------------------------------------- - void SliderWidget::SetRange(int min, int max) - { - this->min = min; - this->max = max; - mkwSlider->SetRange(min,max); - RefreshLabels(); - } - //------------------------------------------------------------------------- - - */ - + Slider* mBox; + }; + //-------------------------------------------------------------------------- + */ //-------------------------------------------------------------------------- //------------------------------------------------------------------------- @@ -348,7 +75,7 @@ namespace bbkw //-------------------------------------------------------------------------- //-------------------------------------------------------------------------- - //-------------------------------------------------------------------------- + //-------------------------------------------------------------------------- BBTK_BLACK_BOX_IMPLEMENTATION(Slider,bbtk::KWBlackBox); BBTK_ADD_BLACK_BOX_TO_PACKAGE(kw,Slider); @@ -363,25 +90,30 @@ namespace bbkw bbSetInputOrientation("HORIZONTAL"); bbSetInputChangeResolution(false); bbSetInputLabel(true); + bbSetInputTitle(""); bbSetInputReactiveOnTrack(0); } //-------------------------------------------------------------------------- void Slider::Process() { + bbSetOutputOut( bbGetInputIn() ); } //-------------------------------------------------------------------------- - void Slider::CreateWidget(vtkKWWidget* parent) + + //-------------------------------------------------------------------------- + void Slider::CreateWidget(vtkKWFrame* parent) { vtkKWScale* s = vtkKWScale::New(); bbSetOutputWidget(s); - s->SetParent(parent); + s->AddObserver(vtkKWScale::ScaleValueChangingEvent,this); + s->SetParent((vtkKWWidget*)parent); s->Create(); s->SetRange(bbGetInputMin(),bbGetInputMax()); // s->SetResolution(1.0); // s->SetLength(150); - s->SetLabelText("A simple scale:"); + s->SetLabelText(bbGetInputTitle().c_str()); if (bbtk::Utilities::loosematch(bbGetInputOrientation(),"0|H|HORIZONTAL")==true) { s->SetOrientationToHorizontal(); @@ -394,12 +126,25 @@ namespace bbkw { bbtkWarning("Unrecognized value for input 'Orientation' of "<GetApplication()->Script("pack %s -side left -anchor c -expand y", - s->GetWidgetName()); bbSetOutputOut( bbGetInputIn() ); } + //-------------------------------------------------------------------------- + + //-------------------------------------------------------------------------- + + void Slider::Execute(vtkObject* caller, unsigned long, void*) + { + // std::cout << "$$$$$$$$$$$$ Slider CB $$$$$$$$$$$$"<GetValue() ); + bbSetInputIn( scale->GetValue() ); + // and signal that the output has changed + bbSignalOutputModification("Out"); + } + //-------------------------------------------------------------------------- + + } //namespace bbkw diff --git a/packages/kw/src/bbkwSlider.h b/packages/kw/src/bbkwSlider.h index 33f40f9..f2be2cc 100644 --- a/packages/kw/src/bbkwSlider.h +++ b/packages/kw/src/bbkwSlider.h @@ -2,8 +2,8 @@ Program: bbtk Module: $RCSfile: bbkwSlider.h,v $ Language: C++ - Date: $Date: 2008/11/29 21:41:58 $ - Version: $Revision: 1.1 $ + Date: $Date: 2008/12/02 13:37:56 $ + Version: $Revision: 1.2 $ =========================================================================*/ /* --------------------------------------------------------------------- @@ -55,7 +55,9 @@ // Include KWBlackBox definition #include "bbtkKWBlackBox.h" - +class vtkObject; +class vtkCommand; +#include "vtkCommand.h" // Namespace of the package "kw" is "bbkw" // Namespace associated to packages should be of the form : @@ -63,66 +65,9 @@ namespace bbkw { - - /* //-------------------------------------------------------------------------- - // Forward declaration of the box - class Slider; - - //-------------------------------------------------------------------------- - // The widget created by the box - class SliderWidget : public kwPanel - { - public: - /// Ctor with the two first params the parent window and the creator box - /// which must be passed to the KwBlackBoxWidget constructor. - /// The other params initialize the widget - SliderWidget(Slider* box, kwWindow *parent, - int orientation, - bool changeresolution, - bool label, - kwString title, - int vmin, - int vmax, - int value, - int track); - /// Dtor - ~SliderWidget(); - /// Events callbacks - /// Called when the slider is moved - void OnSliderTrack(kwScrollEvent& event); - /// Called when the slider is released - void OnSliderRelease(kwScrollEvent& event); - /// Called when the little slider which controls the resolution - /// of the main slider is moved (if activated) - void OnResolutionOfSlider(kwScrollEvent& event); - - // Accessors - int GetValue() { return mkwSlider->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; - kwSlider *mkwSlider; - kwSlider *mResolutionOfSlider; - int min; - int max; - int reactiveOnTrack; - kwStaticText *label_vertical; - kwStaticText *label_min; - kwStaticText *label_max; - }; - //------------------------------------------------------------------------ - //------------------------------------------------------------------------ - //------------------------------------------------------------------------ - - */ - - //------------------------------------------------------------------------ // The black box - class /*BBTK_EXPORT*/ Slider : public bbtk::KWBlackBox + class /*BBTK_EXPORT*/ Slider : public bbtk::KWBlackBox, public vtkCommand { BBTK_BLACK_BOX_INTERFACE(Slider,bbtk::KWBlackBox); @@ -138,9 +83,10 @@ namespace bbkw BBTK_PROCESS(Process); BBTK_CREATE_KWWIDGET(CreateWidget); void Process(); - void CreateWidget(vtkKWWidget*); - - protected: + void CreateWidget(vtkKWFrame*); + virtual void Execute(vtkObject* caller, unsigned long, void*); + + protected: virtual void bbUserConstructor(); }; //================================================================= diff --git a/packages/kw/src/vtkKWSlicer.cxx b/packages/kw/src/vtkKWSlicer.cxx index 3de69e8..0e14bb1 100644 --- a/packages/kw/src/vtkKWSlicer.cxx +++ b/packages/kw/src/vtkKWSlicer.cxx @@ -37,7 +37,7 @@ extern "C" int Bbkw_Init(Tcl_Interp *interp); //---------------------------------------------------------------------------- vtkStandardNewMacro( vtkKWSlicer ); -vtkCxxRevisionMacro(vtkKWSlicer, "$Revision: 1.3 $"); +vtkCxxRevisionMacro(vtkKWSlicer, "$Revision: 1.4 $"); //---------------------------------------------------------------------------- vtkKWSlicer::vtkKWSlicer() @@ -305,7 +305,7 @@ void vtkKWSlicer::CreateWidget() void vtkKWSlicer::ProcessCallbackCommandEvents( vtkObject *caller, unsigned long event, void *calldata) { - std::cout << "###### vtkKWSlicer::ProcessCallbackCommandEvents" << std::endl; + // std::cout << "###### vtkKWSlicer::ProcessCallbackCommandEvents" << std::endl; if (caller == this->SliceScale && event == vtkKWScale::ScaleValueChangingEvent) {