qt-material-widgets/components/iconbutton.h

36 lines
799 B
C
Raw Normal View History

2016-03-19 07:50:48 +00:00
#ifndef ICONBUTTON_H
#define ICONBUTTON_H
#include <QAbstractButton>
#include <QStyleOptionButton>
class RippleOverlay;
class IconButton : public QAbstractButton
{
Q_OBJECT
public:
explicit IconButton(const QIcon &icon, QWidget *parent = 0);
~IconButton();
QSize sizeHint() const Q_DECL_OVERRIDE;
void setGeometryWidget(QWidget *widget);
2016-03-19 07:50:48 +00:00
protected:
void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
bool event(QEvent *event) Q_DECL_OVERRIDE;
bool eventFilter(QObject *obj, QEvent *event) Q_DECL_OVERRIDE;
2016-03-19 07:50:48 +00:00
2016-03-22 09:50:33 +00:00
QStyleOptionButton getStyleOption() const;
2016-03-19 07:50:48 +00:00
private:
void updateOverlayGeometry();
RippleOverlay *const _overlay;
QWidget *_geometryWidget;
2016-03-19 07:50:48 +00:00
};
#endif // ICONBUTTON_H