]> Creatis software - creaWT.git/blobdiff - wt/bbtk_wt_PKG/src/bbwtSlider.cxx~
2498 BBTK FeatureNewNormal wt-version PackageWt
[creaWT.git] / wt / bbtk_wt_PKG / src / bbwtSlider.cxx~
index ec59dc405da04832fee0358378a496851e2e042f..7d1939e3c623f41d7df9f167eb879cd542b070fe 100644 (file)
@@ -24,6 +24,7 @@ namespace bbwt
                /// Events callbacks
     /// Called when the slider is moved
        void OnSliderTrack();
+       void OnSliderMove();
     /// Called when the little slider which controls the resolution
     /// of the main slider is moved (if activated)
        void OnResolutionOfSlider();
@@ -101,16 +102,16 @@ namespace bbwt
     // Any top level sub-widget must have the panel returned by panel
     // for parent
     
-                               std::cout<<"Creando SLIDER  --  2  "<<std::endl;
+               std::cout<<"Creando SLIDER  --  2  "<<std::endl;
                mwtSlider = new Wt::WSlider(wtorientation);
                mwtSlider->resize(sizeX,sizeY);
                mwtSlider->setMinimum(min);
                mwtSlider->setMaximum(max);             
                mwtSlider->setValue(value);
                mwtSlider->setTickPosition(Wt::WSlider::TicksBothSides);
-               mwtSlider->setValueText(title);
+               //mwtSlider->setValueText(title);
                mwtSlider->valueChanged().connect(this,&SliderWidget::OnSliderTrack);
-               mwtSlider->sliderMoved().connect(this,&SliderWidget::OnSliderTrack);
+               mwtSlider->sliderMoved().connect(this,&SliderWidget::OnSliderMove);
 
               
     // If asked : creation of the other little slider which allows to change 
@@ -145,6 +146,7 @@ namespace bbwt
     //---------------------------------------------------------------------
     // 2) Insertion of the components in the window
                std::cout<<"Creando SLIDER  --  4  "<<std::endl;
+               layout->addWidget(new Wt::WText(title),,Wt::WBorderLayout::North);
                layout->addWidget(mwtSlider,Wt::WBorderLayout::Center);
                                std::cout<<"Creando SLIDER  --  5  "<<std::endl;
     // Insert the sizer in the main panel and refresh the layout
@@ -201,6 +203,23 @@ namespace bbwt
     mBox->bbSignalOutputModification(std::string("Out"));    
 
   }
+  
+  
+  //-------------------------------------------------------------------------
+  void SliderWidget::OnSliderMove()
+  {
+
+    // When user releases the slider 
+    // we update the output of the box
+     if(!reactiveOnTrack)
+    {
+                 mBox->bbSetOutputOut( mwtSlider->value() );
+                 mBox->bbSetInputIn( mwtSlider->value() );
+       }
+    // and signal that the output has changed
+    mBox->bbSignalOutputModification(std::string("Out"));    
+
+  }
 
   //-------------------------------------------------------------------------
   
@@ -235,6 +254,7 @@ namespace bbwt
                bbtkDebugMessage("process",3,
                                   "Slider "<<bbGetName()<<" input="
                                   <<bbGetInputIn()<<std::endl);
+               
 
                        // desperate try // JPR
                if ( bbGetInputMin() != ((SliderWidget*)bbGetOutputWidget())->GetMin() ||  bbGetInputMax() != ((SliderWidget*)bbGetOutputWidget())->GetMax() )