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 );
00103 virtual void paintEvent( QPaintEvent *e );
00107 virtual void mousePressEvent( QMouseEvent *e );
00111 virtual void mouseMoveEvent( QMouseEvent *e );
00112
00113 private:
00114 void setPosition( int xp, int yp );
00115 int px;
00116 int py;
00117 int xPos;
00118 int yPos;
00119 int minX;
00120 int maxX;
00121 int minY;
00122 int maxY;
00123 QPixmap store;
00124
00125 protected:
00126 virtual void virtual_hook( int id, void* data );
00127 private:
00128 class KXYSelectorPrivate;
00129 KXYSelectorPrivate *d;
00130 };
00131
00132
00142 class KSelector : public QWidget, public QRangeControl
00143 {
00144 Q_OBJECT
00145 Q_PROPERTY( int value READ value WRITE setValue )
00146 Q_PROPERTY( int minValue READ minValue WRITE setMinValue )
00147 Q_PROPERTY( int maxValue READ maxValue WRITE setMaxValue )
00148 public:
00149
00153 KSelector( QWidget *parent=0, const char *name=0 );
00158 KSelector( Orientation o, QWidget *parent = 0L, const char *name = 0L );
00159
00160
00161
00162 ~KSelector();
00163
00167 Orientation orientation() const
00168 { return _orientation; }
00169
00173 QRect contentsRect() const;
00174
00179 void setIndent( bool i )
00180 { _indent = i; }
00184 bool indent() const
00185 { return _indent; }
00186
00190 void setValue(int value)
00191 { QRangeControl::setValue(value); }
00192
00196 int value() const
00197 { return QRangeControl::value(); }
00198
00202 void setMinValue(int value)
00203 { QRangeControl::setMinValue(value); }
00204
00208 int minValue() const
00209 { return QRangeControl::minValue(); }
00210
00214 void setMaxValue(int value)
00215 { QRangeControl::setMaxValue(value); }
00216
00220 int maxValue() const
00221 { return QRangeControl::maxValue(); }
00222
00223 signals:
00228 void valueChanged( int value );
00229
00230 protected:
00237 virtual void drawContents( QPainter * );
00245 virtual void drawArrow( QPainter *painter, bool show, const QPoint &pos );
00246
00250 virtual void valueChange();
00254 virtual void paintEvent( QPaintEvent * );
00258 virtual void mousePressEvent( QMouseEvent *e );
00262 virtual void mouseMoveEvent( QMouseEvent *e );
00263
00264 private:
00265 QPoint calcArrowPos( int val );
00266 void moveArrow( const QPoint &pos );
00267
00268 Orientation _orientation;
00269 bool _indent;
00270
00271 protected:
00272 virtual void virtual_hook( int id, void* data );
00273 private:
00274 class KSelectorPrivate;
00275 KSelectorPrivate *d;
00276 };
00277
00278
00284 class KGradientSelector : public KSelector
00285 {
00286 Q_OBJECT
00287
00288 Q_PROPERTY( QColor firstColor READ firstColor WRITE setFirstColor )
00289 Q_PROPERTY( QColor secondColor READ secondColor WRITE setSecondColor )
00290 Q_PROPERTY( QString firstText READ firstText WRITE setFirstText )
00291 Q_PROPERTY( QString secondText READ secondText WRITE setSecondText )
00292
00293 public:
00298 KGradientSelector( QWidget *parent=0, const char *name=0 );
00303 KGradientSelector( Orientation o, QWidget *parent=0, const char *name=0 );
00307 ~KGradientSelector();
00311 void setColors( const QColor &col1, const QColor &col2 )
00312 { color1 = col1; color2 = col2; update();}
00313 void setText( const QString &t1, const QString &t2 )
00314 { text1 = t1; text2 = t2; update(); }
00315
00319 void setFirstColor( const QColor &col )
00320 { color1 = col; update(); }
00321 void setSecondColor( const QColor &col )
00322 { color2 = col; update(); }
00323
00327 void setFirstText( const QString &t )
00328 { text1 = t; update(); }
00329 void setSecondText( const QString &t )
00330 { text2 = t; update(); }
00331
00332 const QColor firstColor() const
00333 { return color1; }
00334 const QColor secondColor() const
00335 { return color2; }
00336
00337 const QString firstText() const
00338 { return text1; }
00339 const QString secondText() const
00340 { return text2; }
00341
00342 protected:
00346 virtual void drawContents( QPainter * );
00347
00351 virtual QSize minimumSize() const
00352 { return sizeHint(); }
00353
00354 private:
00355 void init();
00356 QColor color1;
00357 QColor color2;
00358 QString text1;
00359 QString text2;
00360
00361 protected:
00362 virtual void virtual_hook( int id, void* data );
00363 private:
00364 class KGradientSelectorPrivate;
00365 KGradientSelectorPrivate *d;
00366 };
00367
00368
00369 #endif // __KSELECT_H__
00370
This file is part of the documentation for kdelibs Version 3.1.5.