qwt_abstract_slider.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_ABSTRACT_SLIDER_H
00011 #define QWT_ABSTRACT_SLIDER_H
00012 
00013 #include "qwt_global.h"
00014 #include "qwt_abstract_scale.h"
00015 
00032 class QWT_EXPORT QwtAbstractSlider: public QwtAbstractScale
00033 {
00034     Q_OBJECT
00035 
00036     Q_PROPERTY( double value READ value WRITE setValue NOTIFY valueChanged USER true )
00037 
00038     Q_PROPERTY( uint totalSteps READ totalSteps WRITE setTotalSteps )
00039     Q_PROPERTY( uint singleSteps READ singleSteps WRITE setSingleSteps )
00040     Q_PROPERTY( uint pageSteps READ pageSteps WRITE setPageSteps )
00041     Q_PROPERTY( bool stepAlignment READ stepAlignment WRITE setStepAlignment )
00042 
00043     Q_PROPERTY( bool readOnly READ isReadOnly WRITE setReadOnly )
00044     Q_PROPERTY( bool tracking READ isTracking WRITE setTracking )
00045     Q_PROPERTY( bool wrapping READ wrapping WRITE setWrapping )
00046 
00047     Q_PROPERTY( bool invertedControls READ invertedControls WRITE setInvertedControls )
00048 
00049 public:
00050     explicit QwtAbstractSlider( QWidget *parent = NULL );
00051     virtual ~QwtAbstractSlider();
00052 
00053     void setValid( bool );
00054     bool isValid() const;
00055 
00056     double value() const;
00057 
00058     void setWrapping( bool );
00059     bool wrapping() const;
00060 
00061     void setTotalSteps( uint );
00062     uint totalSteps() const;
00063 
00064     void setSingleSteps( uint );
00065     uint singleSteps() const;
00066 
00067     void setPageSteps( uint );
00068     uint pageSteps() const;
00069 
00070     void setStepAlignment( bool ); 
00071     bool stepAlignment() const;
00072 
00073     void setTracking( bool );
00074     bool isTracking() const;
00075 
00076     void setReadOnly( bool );
00077     bool isReadOnly() const;
00078 
00079     void setInvertedControls( bool );
00080     bool invertedControls() const;
00081 
00082 public Q_SLOTS:
00083     void setValue( double val );
00084 
00085 Q_SIGNALS:
00086 
00097     void valueChanged( double value );
00098 
00103     void sliderPressed();
00104 
00109     void sliderReleased();
00110 
00119     void sliderMoved( double value );
00120 
00121 protected:
00122     virtual void mousePressEvent( QMouseEvent * );
00123     virtual void mouseReleaseEvent( QMouseEvent * );
00124     virtual void mouseMoveEvent( QMouseEvent * );
00125     virtual void keyPressEvent( QKeyEvent * );
00126     virtual void wheelEvent( QWheelEvent * );
00127 
00136     virtual bool isScrollPosition( const QPoint &pos ) const = 0;
00137 
00147     virtual double scrolledTo( const QPoint &pos ) const = 0;
00148 
00149     void incrementValue( int numSteps );
00150 
00151     virtual void scaleChange();
00152 
00153 protected:
00154     virtual void sliderChange();
00155 
00156     double incrementedValue( 
00157         double value, int stepCount ) const;
00158 
00159 private:
00160     double alignedValue( double ) const;
00161     double boundedValue( double ) const;
00162 
00163     class PrivateData;
00164     PrivateData *d_data;
00165 };
00166 
00167 #endif


plotjuggler
Author(s): Davide Faconti
autogenerated on Fri Sep 1 2017 02:41:56