diff options
author | Tomaz Canabrava <tcanabrava@kde.org> | 2013-04-22 16:00:27 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2013-04-22 16:09:21 -0700 |
commit | 9ffb707d9d9d478b7538a8cd9ef9ef7c6edae25c (patch) | |
tree | 72c88c133b82a5190e4a5099dbc96335c89fae7d /qt-ui/starwidget.h | |
parent | a0280ae7d2cdd483bc53c7bc91a8aa438f9234de (diff) | |
download | subsurface-9ffb707d9d9d478b7538a8cd9ef9ef7c6edae25c.tar.gz |
Initial version of the Star Picker Widget.
A very simple to use widget:
StarWidget *stars = new StarWidget( windowParent);
stars->setMaximumStars(10);
stars->setCurrentStars( rand()%10);
stars->show();
connect(stars, SIGNAL(valueChanged(int)), someObj, SLOT(starsChangedValue(int)));
It currently uses a 'star.svg' file on the same folder as the binary.
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qt-ui/starwidget.h')
-rw-r--r-- | qt-ui/starwidget.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/qt-ui/starwidget.h b/qt-ui/starwidget.h new file mode 100644 index 000000000..cdbb3ab5c --- /dev/null +++ b/qt-ui/starwidget.h @@ -0,0 +1,42 @@ +#ifndef STARWIDGET_H +#define STARWIDGET_H + +#include <QWidget> + + +class StarWidget : public QWidget +{ + Q_OBJECT +public: + explicit StarWidget(QWidget* parent = 0, Qt::WindowFlags f = 0); + + int maxStars() const; + int currentStars() const; + bool halfStarsEnabled() const; + + /*reimp*/ QSize sizeHint() const; + + enum {SPACING = 2, IMG_SIZE = 16}; + +Q_SIGNALS: + void valueChanged(int stars); + +public Q_SLOTS: + void setCurrentStars(int value); + void setMaximumStars(int maximum); + void enableHalfStars(bool enabled); + +protected: + /*reimp*/ void mouseReleaseEvent(QMouseEvent* ); + /*reimp*/ void paintEvent(QPaintEvent* ); + +private: + int stars; + int current; + bool halfStar; + QPixmap activeStar; + QPixmap inactiveStar; + QPixmap grayImage(QPixmap *coloredImg); +}; + +#endif // STARWIDGET_H |