#ifndef _AEROBUTTON_H_ #define _AEROBUTTON_H_ #include namespace SIF { class AeroButton : public QPushButton // TODO: QAbstractButton ? { Q_OBJECT public: AeroButton(QWidget * parent = 0); AeroButton(const QString & text, QWidget * parent = 0); AeroButton(const QIcon & icon, const QString & text, QWidget * parent = 0); ~AeroButton(); void setColor(const QColor &color); void setHighlight(const QColor &highlight); void setShadow(const QColor &shadow); //Range: 0.0 [invisible] - 1.0 [opaque] void setOpacity(qreal opacity); //Range: 0 [rectangle] - 99 [oval] void setRoundness(int roundness); protected: virtual void paintEvent(QPaintEvent * pe); virtual void enterEvent(QEvent * e); virtual void leaveEvent(QEvent * e); virtual void mousePressEvent(QMouseEvent * e); virtual void mouseReleaseEvent(QMouseEvent * e); private: struct Private; Private *const d; }; } #endif // _AEROBUTTON_H_