00001 #ifndef __CONTROLS_H
00002 #define __CONTROLS_H
00003
00004 #include <qguardedptr.h>
00005
00006 #include <kaction.h>
00007 #include <ktoolbar.h>
00008 #include <qslider.h>
00009 #include <qstringlist.h>
00010
00011 class QComboBox;
00012 class QLabel;
00013
00018 class L33tSlider : public QSlider
00019 {
00020 Q_OBJECT
00021 public:
00022 L33tSlider(QWidget * parent, const char * name=0);
00023 L33tSlider(Orientation, QWidget * parent, const char * name=0);
00024 L33tSlider(int minValue, int maxValue, int pageStep, int value,
00025 Orientation, QWidget * parent, const char * name=0);
00026
00027 bool currentlyPressed() const;
00028 signals:
00032 void userChanged(int value);
00033
00034 public slots:
00035 virtual void setValue(int);
00036 protected:
00037 virtual void mousePressEvent(QMouseEvent*);
00038 virtual void mouseReleaseEvent(QMouseEvent*);
00039 virtual void wheelEvent(QWheelEvent *);
00040 private:
00041 bool pressed;
00042 };
00043
00047 class SliderAction : public KAction
00048 {
00049 Q_OBJECT
00050 public:
00051 SliderAction(const QString& text, int accel, const QObject *receiver,
00052 const char *member, QObject* parent, const char* name );
00053 virtual int plug( QWidget *w, int index = -1 );
00054 virtual void unplug( QWidget *w );
00055 QSlider* slider() const { return m_slider; }
00056
00057 signals:
00058 void plugged();
00059
00060 public slots:
00061 void toolbarMoved(KToolBar::BarPosition pos);
00062 private:
00063 QGuardedPtr<QSlider> m_slider;
00064 QStringList m_items;
00065 const QObject *m_receiver;
00066 const char *m_member;
00067 };
00068
00069 #endif