Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members | Related Pages

qwt_sldbase.h

Go to the documentation of this file.
00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
00002  * Qwt Widget Library
00003  * Copyright (C) 1997   Josef Wilgen
00004  * Copyright (C) 2002   Uwe Rathmann
00005  * 
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the Qwt License, Version 1.0
00008  *****************************************************************************/
00009 
00010 #ifndef QWT_SLDBASE_H
00011 #define QWT_SLDBASE_H
00012 
00013 #include <qframe.h>
00014 #include <qpixmap.h>
00015 #include <qdatetime.h>
00016 #include "qwt_global.h"
00017 #include "qwt_drange.h"
00018 
00030 class QWT_EXPORT QwtSliderBase : public QWidget, public QwtDblRange
00031 {
00032     Q_OBJECT 
00033     Q_PROPERTY( bool readOnly READ isReadOnly WRITE setReadOnly )
00034     Q_PROPERTY( double mass READ mass WRITE setMass )
00035     Q_PROPERTY( Orientation orientation READ orientation WRITE setOrientation )
00036 
00037 public:
00038     enum ScrollMode { ScrNone, ScrMouse, 
00039         ScrTimer, ScrDirect, ScrPage };
00040     
00041     QwtSliderBase(Qt::Orientation orientation, QWidget *parent = 0, 
00042         const char *name = 0, WFlags flags = 0 );
00043     virtual ~QwtSliderBase();
00044 
00045     void setUpdateTime(int t);
00046     void stopMoving();
00047     void setTracking(bool enable);
00048     
00049     virtual void setMass(double val);
00050     virtual double mass() const;
00051 
00052     virtual void setOrientation(Orientation o);
00053     Orientation orientation() const;
00054 
00055     bool isReadOnly() const;
00056 
00057 public slots:
00058     virtual void setValue(double val);
00059     virtual void fitValue(double val);
00060     virtual void incValue(int steps);
00061 
00062     virtual void setReadOnly(bool); 
00063 
00064 signals:
00065 
00074     void valueChanged(double value);
00075 
00080     void sliderPressed();
00081 
00087     void sliderReleased();
00093     void sliderMoved(double value);
00094     
00095 protected:
00096     void setPosition(const QPoint &p);
00097     virtual void valueChange();
00098 
00099     virtual void timerEvent(QTimerEvent *e);
00100     virtual void mousePressEvent(QMouseEvent *e);
00101     virtual void mouseReleaseEvent(QMouseEvent *e);
00102     virtual void mouseMoveEvent(QMouseEvent *e);
00103     virtual void keyPressEvent(QKeyEvent *e);
00104     virtual void wheelEvent(QWheelEvent *e);
00105 
00114     virtual double getValue(const QPoint & p) = 0;
00140     virtual void getScrollMode( const QPoint &p,
00141                   int &scrollMode, int &direction) = 0;
00142 
00143     int d_scrollMode;
00144     double d_mouseOffset;
00145     int d_direction;
00146     int d_tracking;
00147 
00148 private:
00149     void buttonReleased();
00150 
00151     int d_tmrID;
00152     int d_updTime;
00153     int d_timerTick;
00154     QTime d_time;
00155     double d_speed;
00156     double d_mass;
00157     Orientation d_orientation;
00158   bool d_readOnly;
00159 };
00160 
00161 #endif

Generated on Fri Nov 7 14:11:46 2003 for Qwt Developer's Guide by doxygen 1.3.2