kselect.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef __KSELECT_H__
00024 #define __KSELECT_H__
00025
00026 #include <qwidget.h>
00027 #include <qrangecontrol.h>
00028 #include <qpixmap.h>
00029
00041 class KXYSelector : public QWidget
00042 {
00043 Q_OBJECT
00044
00045 public:
00050 KXYSelector( QWidget *parent=0, const char *name=0 );
00054 ~KXYSelector();
00055
00060 void setValues( int xPos, int yPos );
00064 void setRange( int minX, int minY, int maxX, int maxY );
00065
00069 int xValue() const { return xPos; }
00073 int yValue() const { return yPos; }
00074
00078 QRect contentsRect() const;
00079
00080 signals:
00085 void valueChanged( int x, int y );
00086
00087 protected:
00094 virtual void drawContents( QPainter * );
00099 virtual void drawCursor( QPainter *p, int xp, int yp );
00100
00101 virtual void paintEvent( QPaintEvent *e );
00102 virtual void mousePressEvent( QMouseEvent *e );
00103 virtual void mouseMoveEvent( QMouseEvent *e );
00104 virtual void wheelEvent( QWheelEvent * );
00105
00109 void valuesFromPosition( int x, int y, int& xVal, int& yVal ) const;
00110
00111 private:
00112 void setPosition( int xp, int yp );
00113 int px;
00114 int py;
00115 int xPos;
00116 int yPos;
00117 int minX;
00118 int maxX;
00119 int minY;
00120 int maxY;
00121 QPixmap store;
00122
00123 protected:
00124 virtual void virtual_hook( int id, void* data );
00125 private:
00126 class KXYSelectorPrivate;
00127 KXYSelectorPrivate *d;
00128 };
00129
00130
00140 class KSelector : public QWidget, public QRangeControl
00141 {
00142 Q_OBJECT
00143 Q_PROPERTY( int value READ value WRITE setValue )
00144 Q_PROPERTY( int minValue READ minValue WRITE setMinValue )
00145 Q_PROPERTY( int maxValue READ maxValue WRITE setMaxValue )
00146 public:
00147
00151 KSelector( QWidget *parent=0, const char *name=0 );
00156 KSelector( Orientation o, QWidget *parent = 0L, const char *name = 0L );
00157
00158
00159
00160 ~KSelector();
00161
00165 Orientation orientation() const
00166 { return _orientation; }
00167
00171 QRect contentsRect() const;
00172
00177 void setIndent( bool i )
00178 { _indent = i; }
00182 bool indent() const
00183 { return _indent; }
00184
00188 void setValue(int value)
00189 { QRangeControl::setValue(value); }
00190
00194 int value() const
00195 { return QRangeControl::value(); }
00196
00200 void setMinValue(int value)
00201 { QRangeControl::setMinValue(value); }
00202
00206 int minValue() const
00207 { return QRangeControl::minValue(); }
00208
00212 void setMaxValue(int value)
00213 { QRangeControl::setMaxValue(value); }
00214
00218 int maxValue() const
00219 { return QRangeControl::maxValue(); }
00220
00221 signals:
00226 void valueChanged( int value );
00227
00228 protected:
00235 virtual void drawContents( QPainter * );
00243 virtual void drawArrow( QPainter *painter, bool show, const QPoint &pos );
00244
00245 virtual void valueChange();
00246 virtual void paintEvent( QPaintEvent * );
00247 virtual void mousePressEvent( QMouseEvent *e );
00248 virtual void mouseMoveEvent( QMouseEvent *e );
00249 virtual void wheelEvent( QWheelEvent * );
00250
00251 private:
00252 QPoint calcArrowPos( int val );
00253 void moveArrow( const QPoint &pos );
00254
00255 Orientation _orientation;
00256 bool _indent;
00257
00258 protected:
00259 virtual void virtual_hook( int id, void* data );
00260 private:
00261 class KSelectorPrivate;
00262 KSelectorPrivate *d;
00263 };
00264
00265
00274 class KGradientSelector : public KSelector
00275 {
00276 Q_OBJECT
00277
00278 Q_PROPERTY( QColor firstColor READ firstColor WRITE setFirstColor )
00279 Q_PROPERTY( QColor secondColor READ secondColor WRITE setSecondColor )
00280 Q_PROPERTY( QString firstText READ firstText WRITE setFirstText )
00281 Q_PROPERTY( QString secondText READ secondText WRITE setSecondText )
00282
00283 public:
00288 KGradientSelector( QWidget *parent=0, const char *name=0 );
00293 KGradientSelector( Orientation o, QWidget *parent=0, const char *name=0 );
00297 ~KGradientSelector();
00301 void setColors( const QColor &col1, const QColor &col2 )
00302 { color1 = col1; color2 = col2; update();}
00303 void setText( const QString &t1, const QString &t2 )
00304 { text1 = t1; text2 = t2; update(); }
00305
00309 void setFirstColor( const QColor &col )
00310 { color1 = col; update(); }
00311 void setSecondColor( const QColor &col )
00312 { color2 = col; update(); }
00313
00317 void setFirstText( const QString &t )
00318 { text1 = t; update(); }
00319 void setSecondText( const QString &t )
00320 { text2 = t; update(); }
00321
00322 const QColor firstColor() const
00323 { return color1; }
00324 const QColor secondColor() const
00325 { return color2; }
00326
00327 const QString firstText() const
00328 { return text1; }
00329 const QString secondText() const
00330 { return text2; }
00331
00332 protected:
00333
00334 virtual void drawContents( QPainter * );
00335 virtual QSize minimumSize() const
00336 { return sizeHint(); }
00337
00338 private:
00339 void init();
00340 QColor color1;
00341 QColor color2;
00342 QString text1;
00343 QString text2;
00344
00345 protected:
00346 virtual void virtual_hook( int id, void* data );
00347 private:
00348 class KGradientSelectorPrivate;
00349 KGradientSelectorPrivate *d;
00350 };
00351
00352
00353 #endif // __KSELECT_H__
00354
This file is part of the documentation for kdeui Library Version 3.2.3.