Browse Source

Add ctkSliderSpinBox::setSpinBoxVisible(bool)

Julien Finet 13 years ago
parent
commit
8ce6c8de26
2 changed files with 21 additions and 0 deletions
  1. 14 0
      Libs/Widgets/ctkSliderWidget.cpp
  2. 7 0
      Libs/Widgets/ctkSliderWidget.h

+ 14 - 0
Libs/Widgets/ctkSliderWidget.cpp

@@ -480,3 +480,17 @@ void ctkSliderWidget::setAutoSpinBoxWidth(bool autoWidth)
   d->AutoSpinBoxWidth = autoWidth;
   d->updateSpinBoxWidth();
 }
+
+// -------------------------------------------------------------------------
+bool ctkSliderWidget::isSpinBoxVisible()const
+{
+  Q_D(const ctkSliderWidget);
+  return d->SpinBox->isVisibleTo(const_cast<ctkSliderWidget*>(this));
+}
+
+// -------------------------------------------------------------------------
+void ctkSliderWidget::setSpinBoxVisible(bool visible)
+{
+  Q_D(ctkSliderWidget);
+  d->SpinBox->setVisible(visible);
+}

+ 7 - 0
Libs/Widgets/ctkSliderWidget.h

@@ -50,6 +50,7 @@ class CTK_WIDGETS_EXPORT ctkSliderWidget : public QWidget
   Q_PROPERTY(bool autoSpinBoxWidth READ isAutoSpinBoxWidth WRITE setAutoSpinBoxWidth)
   Q_PROPERTY(Qt::Alignment spinBoxAlignment READ spinBoxAlignment WRITE setSpinBoxAlignment)
   Q_PROPERTY(bool tracking READ hasTracking WRITE setTracking)
+  Q_PROPERTY(bool spinBoxVisible READ isSpinBoxVisible WRITE setSpinBoxVisible);
 
 public:
   /// Superclass typedef
@@ -159,11 +160,17 @@ public:
   bool isAutoSpinBoxWidth()const;
   void setAutoSpinBoxWidth(bool autoWidth);
 
+  ///
+  /// The Spinbox visibility can be controlled using setSpinBoxVisible() and
+  /// isSpinBoxVisible().
+  bool isSpinBoxVisible()const;
+
 public slots:
   /// 
   /// Reset the slider and spinbox to zero (value and position)
   void reset();
   void setValue(double value);
+  void setSpinBoxVisible(bool);
 
 signals:
   /// When tracking is on (default), valueChanged is emitted when the