2016-06-12 19:36:12 +00:00
|
|
|
#ifndef RADIOBUTTON_INTERNAL_H
|
|
|
|
#define RADIOBUTTON_INTERNAL_H
|
|
|
|
|
|
|
|
#include <QWidget>
|
2016-06-12 23:19:14 +00:00
|
|
|
#include <QIcon>
|
|
|
|
|
|
|
|
class QGraphicsColorizeEffect;
|
2016-06-12 19:36:12 +00:00
|
|
|
|
|
|
|
class RadioButtonIcon : public QWidget
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
2016-06-12 23:19:14 +00:00
|
|
|
Q_PROPERTY(QColor color READ color WRITE setColor)
|
|
|
|
Q_PROPERTY(int iconSize READ iconSize WRITE setIconSize)
|
|
|
|
|
2016-06-12 19:36:12 +00:00
|
|
|
public:
|
2016-06-12 23:19:14 +00:00
|
|
|
RadioButtonIcon(const QIcon &icon, QWidget *parent = 0);
|
2016-06-12 19:36:12 +00:00
|
|
|
~RadioButtonIcon();
|
|
|
|
|
2016-06-12 23:19:14 +00:00
|
|
|
inline void setIcon(const QIcon &icon) { _icon = icon; update(); }
|
|
|
|
inline QIcon icon() const { return _icon; }
|
|
|
|
|
|
|
|
void setColor(const QColor &color);
|
|
|
|
QColor color() const;
|
|
|
|
|
|
|
|
void setIconSize(int size);
|
|
|
|
int iconSize() const;
|
|
|
|
|
2016-06-12 19:36:12 +00:00
|
|
|
protected:
|
|
|
|
void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
|
|
|
|
|
|
|
|
private:
|
|
|
|
Q_DISABLE_COPY(RadioButtonIcon)
|
2016-06-12 23:19:14 +00:00
|
|
|
|
|
|
|
QIcon _icon;
|
|
|
|
int _iconSize;
|
|
|
|
QGraphicsColorizeEffect *const _effect;
|
2016-06-12 19:36:12 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // RADIOBUTTON_INTERNAL_H
|