Browse Source

ENH: Don't emit signal ctkSliderWidget::valueIsChanging if tracking is on

Julien Finet 15 years ago
parent
commit
604256ca62
2 changed files with 11 additions and 4 deletions
  1. 1 1
      Libs/Widgets/ctkSliderWidget.cpp
  2. 10 3
      Libs/Widgets/ctkSliderWidget.h

+ 1 - 1
Libs/Widgets/ctkSliderWidget.cpp

@@ -258,7 +258,7 @@ void ctkSliderWidget::stopChanging()
 void ctkSliderWidget::changeValue(double newValue)
 {
   CTK_D(ctkSliderWidget);
-  //if (d->Tracking)
+  if (!d->Tracking)
     {
     emit this->valueIsChanging(newValue);
     }

+ 10 - 3
Libs/Widgets/ctkSliderWidget.h

@@ -158,10 +158,17 @@ public slots:
   void setValue(double value);
 
 signals:
-  /// Use with care:
-  /// sliderMoved is emitted only when the user moves the slider
-  //void sliderMoved(double position);
+  /// When tracking is on (default), valueChanged is emitted when the
+  /// user drags the slider.
+  /// If tracking is off, valueChanged() is emitted only when the user
+  /// releases the mouse.
+  /// \sa valueIsChanging QAbstractSlider::valueChanged
   void valueChanged(double value);
+
+  /// valueIsChanging() is emitted whenever the slider is dragged and tracking
+  /// is turned off. You might want to use valueChanged instead.
+  /// It behaves the same way than QAbstractSlider::sliderMoved()
+  /// \sa valueChanged QAbstractSlider::sliderMoved
   void valueIsChanging(double value);
 
 protected slots: