qt-material-widgets/components/snackbar_internal.h

48 lines
844 B
C
Raw Normal View History

2022-02-17 15:17:19 +00:00
#ifndef SNACKBAR_INTERNAL_H
#define SNACKBAR_INTERNAL_H
2017-09-29 13:58:00 +00:00
#include <QStateMachine>
#include <QTimer>
2022-02-17 02:57:43 +00:00
namespace md
{
2017-09-29 13:58:00 +00:00
2022-02-17 02:57:43 +00:00
class SnackBar;
2017-09-29 13:58:00 +00:00
2022-02-17 02:57:43 +00:00
class SnackBarStateMachine : public QStateMachine
2017-09-29 13:58:00 +00:00
{
Q_OBJECT
Q_PROPERTY(qreal offset WRITE setOffset READ offset)
public:
2022-02-17 02:57:43 +00:00
SnackBarStateMachine(SnackBar *parent);
~SnackBarStateMachine();
2017-09-29 13:58:00 +00:00
void setOffset(qreal offset);
inline qreal offset() const;
public slots:
void progress();
protected slots:
void snackbarShown();
protected:
bool eventFilter(QObject *watched, QEvent *event) Q_DECL_OVERRIDE;
private:
2022-02-17 02:57:43 +00:00
Q_DISABLE_COPY(SnackBarStateMachine)
2017-09-29 13:58:00 +00:00
2022-02-17 02:57:43 +00:00
SnackBar *const m_snackbar;
2017-09-29 13:58:00 +00:00
QTimer m_timer;
qreal m_offset;
};
2022-02-17 02:57:43 +00:00
inline qreal SnackBarStateMachine::offset() const
2017-09-29 13:58:00 +00:00
{
return m_offset;
}
2022-02-17 02:57:43 +00:00
}
2022-02-17 15:17:19 +00:00
#endif // SNACKBAR_INTERNAL_H