Просмотр исходного кода

Expose the double spinbox to ctkSliderWidget public API

It can be useful to move the spinbox somewhere else, but keeping the
links between the slider and spinbox.
Julien Finet лет назад: 14
Родитель
Сommit
a9f0fb5da2
2 измененных файлов с 15 добавлено и 0 удалено
  1. 7 0
      Libs/Widgets/ctkSliderWidget.cpp
  2. 8 0
      Libs/Widgets/ctkSliderWidget.h

+ 7 - 0
Libs/Widgets/ctkSliderWidget.cpp

@@ -494,3 +494,10 @@ void ctkSliderWidget::setSpinBoxVisible(bool visible)
   Q_D(ctkSliderWidget);
   d->SpinBox->setVisible(visible);
 }
+
+// --------------------------------------------------------------------------
+QDoubleSpinBox* ctkSliderWidget::spinBox()
+{
+  Q_D(ctkSliderWidget);
+  return d->SpinBox;
+}

+ 8 - 0
Libs/Widgets/ctkSliderWidget.h

@@ -23,6 +23,7 @@
 
 // Qt includes
 #include <QSlider>
+class QDoubleSpinBox;
 
 // CTK includes
 #include <ctkPimpl.h>
@@ -165,6 +166,13 @@ public:
   /// isSpinBoxVisible().
   bool isSpinBoxVisible()const;
 
+  ///
+  /// Sometimes it can be useful to have a direct control to the spinbox
+  /// To place it somewhere else that ctkDoubleSlider can't. Be careful
+  /// with what you do with the spinbox as ctkDoubleSlider might change
+  /// properties automatically.
+  QDoubleSpinBox* spinBox();
+
 public slots:
   /// 
   /// Reset the slider and spinbox to zero (value and position)