#ifndef ELAPIVOTVIEW_H #define ELAPIVOTVIEW_H #include "ElaProperty.h" #include #include class ElaPivotStyle; class ElaPivotView : public QListView { Q_OBJECT Q_PROPERTY_CREATE(int, MarkX) Q_PRIVATE_CREATE(int, MarkWidth) Q_PROPERTY_CREATE(int, MarkAnimationWidth) Q_PRIVATE_CREATE(ElaPivotStyle *, PivotStyle) Q_PRIVATE_CREATE(QModelIndex, CurrentIndex) Q_PRIVATE_CREATE(QRect, CurrentIndexRect) Q_PRIVATE_CREATE(bool, IsAnimationFinished) public: explicit ElaPivotView(QWidget *parent = nullptr); ~ElaPivotView() override; void doCurrentIndexChangedAnimation(const QModelIndex &index); protected: void mouseDoubleClickEvent(QMouseEvent *event) override; void mouseReleaseEvent(QMouseEvent *event) override; virtual void wheelEvent(QWheelEvent *event) override; virtual void paintEvent(QPaintEvent *event) override; }; #endif // ELAPIVOTVIEW_H