diff options
Diffstat (limited to 'desktop-widgets/starwidget.h')
-rw-r--r-- | desktop-widgets/starwidget.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/desktop-widgets/starwidget.h b/desktop-widgets/starwidget.h new file mode 100644 index 000000000..989aa527d --- /dev/null +++ b/desktop-widgets/starwidget.h @@ -0,0 +1,44 @@ +#ifndef STARWIDGET_H +#define STARWIDGET_H + +#include <QWidget> + +enum StarConfig { + TOTALSTARS = 5 +}; + +class StarWidget : public QWidget { + Q_OBJECT +public: + explicit StarWidget(QWidget *parent = 0, Qt::WindowFlags f = 0); + int currentStars() const; + + /*reimp*/ QSize sizeHint() const; + + static const QImage& starActive(); + static const QImage& starInactive(); + +signals: + void valueChanged(int stars); + +public +slots: + void setCurrentStars(int value); + void setReadOnly(bool readOnly); + +protected: + /*reimp*/ void mouseReleaseEvent(QMouseEvent *); + /*reimp*/ void paintEvent(QPaintEvent *); + /*reimp*/ void focusInEvent(QFocusEvent *); + /*reimp*/ void focusOutEvent(QFocusEvent *); + /*reimp*/ void keyPressEvent(QKeyEvent *); + +private: + int current; + bool readOnly; + + static QImage activeStar; + static QImage inactiveStar; +}; + +#endif // STARWIDGET_H |