/**************************************************************************** ** $Id: qscrollbar.h,v 2.7.2.2 1998/08/21 19:13:26 hanord Exp $ ** ** Definition of QScrollBar class ** ** Created : 940427 ** ** Copyright (C) 1992-1998 Troll Tech AS. All rights reserved. ** ** This file is part of Qt Free Edition, version 1.42. ** ** See the file LICENSE included in the distribution for the usage ** and distribution terms, or http://www.troll.no/free-license.html. ** ** IMPORTANT NOTE: You may NOT copy this file or any part of it into ** your own programs or libraries. ** ** Please see http://www.troll.no/pricing.html for information about ** Qt Professional Edition, which is this same library but with a ** license which allows creation of commercial/proprietary software. ** *****************************************************************************/ #ifndef QSCROLLBAR_H #define QSCROLLBAR_H #ifndef QT_H #include "qwidget.h" #include "qrangecontrol.h" #include "qdrawutil.h" #endif // QT_H class Q_EXPORT QScrollBar : public QWidget, public QRangeControl { Q_OBJECT public: enum Orientation { Horizontal, Vertical }; QScrollBar( QWidget *parent=0, const char *name=0 ); QScrollBar( Orientation, QWidget *parent=0, const char *name=0 ); QScrollBar( int minValue, int maxValue, int LineStep, int PageStep, int value, Orientation, QWidget *parent=0, const char *name=0 ); void setOrientation( Orientation ); Orientation orientation() const; void setTracking( bool enable ); bool tracking() const; bool draggingSlider() const; void setPalette( const QPalette & ); QSize sizeHint() const; signals: void valueChanged( int value ); void sliderPressed(); void sliderMoved( int value ); void sliderReleased(); void nextLine(); void prevLine(); void nextPage(); void prevPage(); protected: void timerEvent( QTimerEvent * ); void keyPressEvent( QKeyEvent * ); void resizeEvent( QResizeEvent * ); void paintEvent( QPaintEvent * ); void mousePressEvent( QMouseEvent * ); void mouseReleaseEvent( QMouseEvent * ); void mouseMoveEvent( QMouseEvent * ); void valueChange(); void stepChange(); void rangeChange(); int sliderStart() const; QRect sliderRect() const; private: void init(); void positionSliderFromValue(); int calculateValueFromSlider() const; uint pressedControl : 8; uint track : 1; uint clickedAt : 1; uint orient : 1; uint thresholdReached : 1; uint isTiming : 1; int slidePrevVal; QCOORD sliderPos; QCOORD clickOffset; private: // Disabled copy constructor and operator= #if defined(Q_DISABLE_COPY) QScrollBar( const QScrollBar & ); QScrollBar &operator=( const QScrollBar & ); #endif }; inline void QScrollBar::setTracking( bool t ) { track = t; } inline bool QScrollBar::tracking() const { return track; } inline QScrollBar::Orientation QScrollBar::orientation() const { return (Orientation)orient; } inline int QScrollBar::sliderStart() const { return sliderPos; } void qDrawArrow( QPainter *, ArrowType type, GUIStyle style, bool down, int x, int y, int w, int h, const QColorGroup & ); #endif // QSCROLLBAR_H
Copyright © 1998 Troll Tech | Trademarks | Qt version 1.42
|