| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 | 
							- /*=========================================================================
 
-   Library:   CTK
 
-   Copyright (c) Kitware Inc. 
 
-   All rights reserved.
 
-   Distributed under a BSD License. See LICENSE.txt file.
 
-   This software is distributed "AS IS" WITHOUT ANY WARRANTY; without even
 
-   the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
-   See the above copyright notice for more information.
 
- =========================================================================*/
 
- #ifndef __ctkRangeWidget_h
 
- #define __ctkRangeWidget_h
 
- // Qt includes
 
- #include <QSlider>
 
- // CTK includes
 
- #include <ctkPimpl.h>
 
- #include "CTKWidgetsExport.h"
 
- class ctkRangeWidgetPrivate;
 
- class CTK_WIDGETS_EXPORT ctkRangeWidget : public QWidget
 
- {
 
-   Q_OBJECT
 
-   Q_PROPERTY(double minimum READ minimum WRITE setMinimum)
 
-   Q_PROPERTY(double maximum READ maximum WRITE setMaximum)
 
-   Q_PROPERTY(double singleStep READ singleStep WRITE setSingleStep)
 
-   Q_PROPERTY(int decimals READ decimals WRITE setDecimals)
 
-   Q_PROPERTY(double minimumValue READ minimumValue WRITE setMinimumValue)
 
-   Q_PROPERTY(double maximumValue READ maximumValue WRITE setMaximumValue)
 
-   Q_PROPERTY(QString prefix READ prefix WRITE setPrefix)
 
-   Q_PROPERTY(QString suffix READ suffix WRITE setSuffix)
 
-   Q_PROPERTY(double tickInterval READ tickInterval WRITE setTickInterval)
 
-   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)
 
- public:
 
-   /// Superclass typedef
 
-   typedef QWidget Superclass;
 
-   /// Constructors
 
-   explicit ctkRangeWidget(QWidget* parent = 0);
 
-   /// 
 
-   /// This property holds the sliders and spinbox minimum value.
 
-   /// FIXME: Test following specs.
 
-   /// When setting this property, the maximum is adjusted if necessary 
 
-   /// to ensure that the range remains valid. 
 
-   /// Also the slider's current value is adjusted to be within the new range.
 
-   double minimum()const;
 
-   void setMinimum(double minimum);
 
-   
 
-   /// 
 
-   /// This property holds the sliders and spinbox minimum value.
 
-   /// FIXME: Test following specs.
 
-   /// When setting this property, the maximum is adjusted if necessary 
 
-   /// to ensure that the range remains valid. 
 
-   /// Also the slider's current value is adjusted to be within the new range.
 
-   double maximum()const;
 
-   void setMaximum(double maximum);
 
-   /// Description
 
-   /// Utility function that set the min/max in once
 
-   void setRange(double min, double max);
 
-   /// 
 
-   /// This property holds the slider and spinbox minimum value.
 
-   /// ctkRangeWidget forces the value to be within the
 
-   /// legal range: minimum <= minimumValue <= maximumValue <= maximum.
 
-   double minimumValue()const;
 
-   /// 
 
-   /// This property holds the slider and spinbox maximum value.
 
-   /// ctkRangeWidget forces the value to be within the
 
-   /// legal range: minimum <= minimumValue <= maximumValue <= maximum.
 
-   double maximumValue()const;
 
-   /// 
 
-   /// This property holds the single step.
 
-   /// The smaller of two natural steps that the 
 
-   /// slider provides and typically corresponds to the 
 
-   /// user pressing an arrow key.
 
-   double singleStep()const;
 
-   void setSingleStep(double step);
 
-   /// 
 
-   /// This property holds the precision of the spin box, in decimals.
 
-   /// Sets how many decimals the spinbox will use for displaying and interpreting doubles.
 
-   int decimals()const;
 
-   void setDecimals(int decimals);
 
-   ///
 
-   /// This property holds the spin box's prefix.
 
-   /// The prefix is prepended to the start of the displayed value. 
 
-   /// Typical use is to display a unit of measurement or a currency symbol
 
-   QString prefix()const;
 
-   void setPrefix(const QString& prefix);
 
-   ///
 
-   /// This property holds the spin box's suffix.
 
-   /// The suffix is appended to the end of the displayed value. 
 
-   /// Typical use is to display a unit of measurement or a currency symbol
 
-   QString suffix()const;
 
-   void setSuffix(const QString& suffix);
 
-   /// 
 
-   /// This property holds the interval between tickmarks.
 
-   /// This is a value interval, not a pixel interval. 
 
-   /// If it is 0, the slider will choose between lineStep() and pageStep().
 
-   /// The default value is 0.
 
-   double tickInterval()const;
 
-   void setTickInterval(double ti);
 
-   /// 
 
-   /// This property holds the alignment of the spin box.
 
-   /// Possible Values are Qt::AlignLeft, Qt::AlignRight, and Qt::AlignHCenter.
 
-   /// By default, the alignment is Qt::AlignLeft
 
-   void setSpinBoxAlignment(Qt::Alignment alignment);
 
-   Qt::Alignment spinBoxAlignment()const;
 
-   /// 
 
-   /// This property holds whether slider tracking is enabled.
 
-   /// If tracking is enabled (the default), the widget emits the valueChanged() 
 
-   /// signal while the slider or spinbox is being dragged. If tracking is 
 
-   /// disabled, the widget emits the valueChanged() signal only when the user 
 
-   /// releases the slider or spinbox.
 
-   void setTracking(bool enable);
 
-   bool hasTracking()const;
 
-   /// 
 
-   /// Set/Get the auto spinbox width
 
-   /// When the autoSpinBoxWidth property is on, the width of the SpinBox is
 
-   /// set to the same width of the largest QSpinBox of its
 
-   // ctkRangeWidget siblings.
 
-   bool isAutoSpinBoxWidth()const;
 
-   void setAutoSpinBoxWidth(bool autoWidth);
 
- public slots:
 
-   /// 
 
-   /// Reset the slider and spinbox to zero (value and position)
 
-   void reset();
 
-   void setMinimumValue(double value);
 
-   void setMaximumValue(double value);
 
- signals:
 
-   /// Use with care:
 
-   /// sliderMoved is emitted only when the user moves the slider
 
-   //void sliderMoved(double position);
 
-   void minimumValueChanged(double value);
 
-   void minimumValueIsChanging(double value);
 
-   void maximumValueChanged(double value);
 
-   void maximumValueIsChanging(double value);
 
- protected slots:
 
-   void startChanging();
 
-   void stopChanging();
 
-   void changeMinimumValue(double value);
 
-   void changeMaximumValue(double value);
 
-   void setMinimumToMaximumSpinBox(double minimum);
 
-   void setMaximumToMinimumSpinBox(double maximum);
 
-   
 
- protected:
 
-   virtual bool eventFilter(QObject *obj, QEvent *event);
 
- private:
 
-   CTK_DECLARE_PRIVATE(ctkRangeWidget);
 
- };
 
- #endif
 
 
  |