qt-material-widgets/components/flatbutton.h

44 lines
931 B
C
Raw Normal View History

2016-03-18 11:14:06 +00:00
#ifndef FLATBUTTON_H
#define FLATBUTTON_H
2016-05-14 08:52:28 +00:00
#include <QPushButton>
2016-05-14 11:06:20 +00:00
#include <QScopedPointer>
2016-05-14 12:18:57 +00:00
#include "lib/theme.h"
2016-03-18 11:14:06 +00:00
2016-05-14 11:06:20 +00:00
class FlatButtonPrivate;
2016-05-14 09:42:15 +00:00
2016-05-14 08:52:28 +00:00
class FlatButton : public QPushButton
2016-03-18 11:14:06 +00:00
{
Q_OBJECT
public:
enum RippleStyle {
CenteredRipple,
PositionedRipple,
NoRipple
};
2016-03-18 11:14:06 +00:00
explicit FlatButton(QWidget *parent = 0);
explicit FlatButton(const QString &text, QWidget *parent = 0);
~FlatButton();
2016-05-14 09:10:30 +00:00
2016-05-24 21:13:01 +00:00
virtual void setRole(Material::Role role);
2016-05-14 12:18:57 +00:00
void setRippleStyle(RippleStyle style);
2016-05-14 09:10:30 +00:00
protected:
FlatButton(FlatButtonPrivate &d, QWidget *parent = 0);
2016-05-14 09:42:15 +00:00
void resizeEvent(QResizeEvent *event) Q_DECL_OVERRIDE;
2016-05-14 09:10:30 +00:00
void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
2016-05-14 09:42:15 +00:00
void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
2016-05-14 11:06:20 +00:00
const QScopedPointer<FlatButtonPrivate> d_ptr;
2016-05-14 09:42:15 +00:00
private:
2016-05-14 11:06:20 +00:00
Q_DISABLE_COPY(FlatButton)
Q_DECLARE_PRIVATE(FlatButton)
2016-03-18 11:14:06 +00:00
};
#endif // FLATBUTTON_H