#ifndef ELAFRAMEWORK_ELAWIDGETTOOLS_INCLUDE_ELAROLLER_H_ #define ELAFRAMEWORK_ELAWIDGETTOOLS_INCLUDE_ELAROLLER_H_ #include "ElaProperty.h" #include class ElaRollerPrivate; class ELA_EXPORT ElaRoller : public QWidget { Q_OBJECT Q_Q_CREATE(ElaRoller) Q_PROPERTY_CREATE_Q_H(int, BorderRadius) Q_PROPERTY_CREATE_Q_H(QStringList, ItemList) Q_PROPERTY_CREATE_Q_H(int, ItemHeight) Q_PROPERTY_CREATE_Q_H(int, MaxVisibleItems) Q_PROPERTY_CREATE_Q_H(int, CurrentIndex) public: explicit ElaRoller(QWidget* parent = nullptr); ~ElaRoller() override; QString getCurrentData() const; protected: virtual void wheelEvent(QWheelEvent* event) override; virtual void mouseReleaseEvent(QMouseEvent* event) override; virtual void mouseMoveEvent(QMouseEvent* event); virtual void leaveEvent(QEvent* event); virtual void paintEvent(QPaintEvent* event) override; }; #endif //ELAFRAMEWORK_ELAWIDGETTOOLS_INCLUDE_ELAROLLER_H_