qt-material-widgets/components/qtmaterialscrollbar_internal.h

46 lines
967 B
C
Raw Normal View History

2017-09-29 17:59:35 +00:00
#ifndef QTMATERIALSCROLLBAR_INTERNAL_H
#define QTMATERIALSCROLLBAR_INTERNAL_H
#include <QStateMachine>
#include "qtmaterialscrollbar.h"
2022-02-17 02:46:48 +00:00
namespace md
{
2017-09-29 17:59:35 +00:00
class ScrollBar;
2022-02-17 02:46:48 +00:00
class ScrollBarStateMachine : public QStateMachine
2017-09-29 17:59:35 +00:00
{
Q_OBJECT
Q_PROPERTY(qreal opacity WRITE setOpacity READ opacity)
public:
2022-02-17 02:46:48 +00:00
ScrollBarStateMachine(ScrollBar *parent);
~ScrollBarStateMachine();
2017-09-29 17:59:35 +00:00
inline void setOpacity(qreal opacity);
inline qreal opacity() const;
private:
2022-02-17 02:46:48 +00:00
Q_DISABLE_COPY(ScrollBarStateMachine)
2017-09-29 17:59:35 +00:00
2022-02-17 02:46:48 +00:00
ScrollBar *const m_scrollBar;
QState *const m_focusState;
QState *const m_blurState;
2017-09-29 17:59:35 +00:00
qreal m_opacity;
};
2022-02-17 02:46:48 +00:00
inline void ScrollBarStateMachine::setOpacity(qreal opacity)
2017-09-29 17:59:35 +00:00
{
m_opacity = opacity;
// m_scrollBar->update(); // FIXME: incomplete type 'class md::ScrollBar'
2017-09-29 17:59:35 +00:00
}
2022-02-17 02:46:48 +00:00
inline qreal ScrollBarStateMachine::opacity() const
2017-09-29 17:59:35 +00:00
{
return m_opacity;
}
2022-02-17 02:46:48 +00:00
}
2017-09-29 17:59:35 +00:00
#endif // QTMATERIALSCROLLBAR_INTERNAL_H