123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- #ifndef QTMATERIALTOGGLE_INTERNAL_H
- #define QTMATERIALTOGGLE_INTERNAL_H
- #include <QtWidgets/QWidget>
- #include "lib/qtmaterialrippleoverlay.h"
- class QtMaterialToggle;
- class QtMaterialToggleThumb;
- class QtMaterialToggleTrack;
- class QtMaterialToggleRippleOverlay : public QtMaterialRippleOverlay
- {
- Q_OBJECT
- public:
- QtMaterialToggleRippleOverlay(QtMaterialToggleThumb *thumb,
- QtMaterialToggleTrack *track,
- QtMaterialToggle *parent);
- ~QtMaterialToggleRippleOverlay();
- protected slots:
- void addToggleRipple();
- protected:
- bool eventFilter(QObject *obj, QEvent *event) Q_DECL_OVERRIDE;
- QRect overlayGeometry() const Q_DECL_OVERRIDE;
- private:
- Q_DISABLE_COPY(QtMaterialToggleRippleOverlay)
- QtMaterialToggle *const m_toggle;
- QtMaterialToggleThumb *const m_thumb;
- QtMaterialToggleTrack *const m_track;
- };
- class QtMaterialToggleThumb : public QWidget
- {
- Q_OBJECT
- Q_PROPERTY(qreal shift WRITE setShift READ shift)
- Q_PROPERTY(QColor thumbColor WRITE setThumbColor READ thumbColor)
- public:
- QtMaterialToggleThumb(QtMaterialToggle *parent);
- ~QtMaterialToggleThumb();
- void setShift(qreal shift);
- inline qreal shift() const;
- inline qreal offset() const;
- inline void setThumbColor(const QColor &color);
- inline QColor thumbColor() const;
- protected:
- bool eventFilter(QObject *obj, QEvent *event) Q_DECL_OVERRIDE;
- void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
- private:
- Q_DISABLE_COPY(QtMaterialToggleThumb)
- void updateOffset();
- QtMaterialToggle *const m_toggle;
- QColor m_thumbColor;
- qreal m_shift;
- qreal m_offset;
- };
- inline qreal QtMaterialToggleThumb::shift() const
- {
- return m_shift;
- }
- inline qreal QtMaterialToggleThumb::offset() const
- {
- return m_offset;
- }
- inline void QtMaterialToggleThumb::setThumbColor(const QColor &color)
- {
- m_thumbColor = color;
- update();
- }
- inline QColor QtMaterialToggleThumb::thumbColor() const
- {
- return m_thumbColor;
- }
- class QtMaterialToggleTrack : public QWidget
- {
- Q_OBJECT
- Q_PROPERTY(QColor trackColor WRITE setTrackColor READ trackColor)
- public:
- QtMaterialToggleTrack(QtMaterialToggle *parent);
- ~QtMaterialToggleTrack();
- void setTrackColor(const QColor &color);
- inline QColor trackColor() const;
- protected:
- bool eventFilter(QObject *obj, QEvent *event) Q_DECL_OVERRIDE;
- void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
- private:
- Q_DISABLE_COPY(QtMaterialToggleTrack)
- QtMaterialToggle *const m_toggle;
- QColor m_trackColor;
- };
- inline QColor QtMaterialToggleTrack::trackColor() const
- {
- return m_trackColor;
- }
- #endif // QTMATERIALTOGGLE_INTERNAL_H
|