/**************************************************************************** ** ** Definition of TQRangeControl class ** ** Created : 940427 ** ** Copyright (C) 1992-2008 Trolltech ASA. All rights reserved. ** ** This file is part of the widgets module of the TQt GUI Toolkit. ** ** This file may be used under the terms of the GNU General ** Public License versions 2.0 or 3.0 as published by the Free ** Software Foundation and appearing in the files LICENSE.GPL2 ** and LICENSE.GPL3 included in the packaging of this file. ** Alternatively you may (at your option) use any later version ** of the GNU General Public License if such license has been ** publicly approved by Trolltech ASA (or its successors, if any) ** and the KDE Free TQt Foundation. ** ** Please review the following information to ensure GNU General ** Public Licensing requirements will be met: ** http://trolltech.com/products/qt/licenses/licensing/opensource/. ** If you are unsure which license is appropriate for your use, please ** review the following information: ** http://trolltech.com/products/qt/licenses/licensing/licensingoverview ** or contact the sales department at sales@trolltech.com. ** ** This file may be used under the terms of the Q Public License as ** defined by Trolltech ASA and appearing in the file LICENSE.TQPL ** included in the packaging of this file. Licensees holding valid TQt ** Commercial licenses may use this file in accordance with the TQt ** Commercial License Agreement provided with the Software. ** ** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, ** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR ** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted ** herein. ** **********************************************************************/ #ifndef TQRANGECONTROL_H #define TQRANGECONTROL_H #ifndef QT_H #include "ntqglobal.h" #include "ntqframe.h" #endif // QT_H #ifndef QT_NO_RANGECONTROL class TQRangeControlPrivate; class Q_EXPORT TQRangeControl { public: TQRangeControl(); TQRangeControl( int minValue, int maxValue, int lineStep, int pageStep, int value ); virtual ~TQRangeControl(); int value() const; void setValue( int ); void addPage(); void subtractPage(); void addLine(); void subtractLine(); int minValue() const; int maxValue() const; void setRange( int minValue, int maxValue ); void setMinValue( int minVal ); void setMaxValue( int minVal ); int lineStep() const; int pageStep() const; void setSteps( int line, int page ); int bound( int ) const; protected: int positionFromValue( int val, int space ) const; int valueFromPosition( int pos, int space ) const; void directSetValue( int val ); int prevValue() const; virtual void valueChange(); virtual void rangeChange(); virtual void stepChange(); private: int minVal, maxVal; int line, page; int val, prevVal; TQRangeControlPrivate * d; private: // Disabled copy constructor and operator= #if defined(TQ_DISABLE_COPY) TQRangeControl( const TQRangeControl & ); TQRangeControl &operator=( const TQRangeControl & ); #endif }; inline int TQRangeControl::value() const { return val; } inline int TQRangeControl::prevValue() const { return prevVal; } inline int TQRangeControl::minValue() const { return minVal; } inline int TQRangeControl::maxValue() const { return maxVal; } inline int TQRangeControl::lineStep() const { return line; } inline int TQRangeControl::pageStep() const { return page; } #endif // QT_NO_RANGECONTROL #ifndef QT_NO_SPINWIDGET class TQSpinWidgetPrivate; class Q_EXPORT TQSpinWidget : public TQWidget { TQ_OBJECT public: TQSpinWidget( TQWidget* parent=0, const char* name=0 ); ~TQSpinWidget(); void setEditWidget( TQWidget * widget ); TQWidget * editWidget(); TQRect upRect() const; TQRect downRect() const; void setUpEnabled( bool on ); void setDownEnabled( bool on ); bool isUpEnabled() const; bool isDownEnabled() const; enum ButtonSymbols { UpDownArrows, PlusMinus }; virtual void setButtonSymbols( ButtonSymbols bs ); ButtonSymbols buttonSymbols() const; void arrange(); signals: void stepUpPressed(); void stepDownPressed(); public slots: void stepUp(); void stepDown(); protected: void mousePressEvent( TQMouseEvent *e ); void resizeEvent( TQResizeEvent* ev ); void mouseReleaseEvent( TQMouseEvent *e ); void mouseMoveEvent( TQMouseEvent *e ); #ifndef QT_NO_WHEELEVENT void wheelEvent( TQWheelEvent * ); #endif void styleChange( TQStyle& ); void paintEvent( TQPaintEvent * ); void enableChanged( bool old ); void windowActivationChange( bool ); private slots: void timerDone(); void timerDoneEx(); private: TQSpinWidgetPrivate * d; void updateDisplay(); private: // Disabled copy constructor and operator= #if defined(TQ_DISABLE_COPY) TQSpinWidget( const TQSpinWidget& ); TQSpinWidget& operator=( const TQSpinWidget& ); #endif }; #endif // QT_NO_SPINWIDGET #endif // TQRANGECONTROL_H