#ifndef ELASCROLLPAGEPRIVATE_H #define ELASCROLLPAGEPRIVATE_H #include #include #include "ElaProperty.h" class ElaScrollPage; class ElaScrollArea; class QHBoxLayout; class QVBoxLayout; class ElaText; class QStackedWidget; class ElaBreadcrumbBar; class ElaScrollPagePrivate : public QObject { Q_OBJECT Q_D_CREATE(ElaScrollPage) Q_PROPERTY_CREATE_D(QWidget*, CustomWidget) public: explicit ElaScrollPagePrivate(QObject* parent = nullptr); ~ElaScrollPagePrivate(); Q_INVOKABLE void onNavigationRouteBack(QVariantMap routeData); private: QHBoxLayout* _pageTitleLayout{nullptr}; QVBoxLayout* _mainLayout{nullptr}; QStackedWidget* _centralStackedWidget{nullptr}; ElaBreadcrumbBar* _breadcrumbBar{nullptr}; QMap _centralWidgetMap; int _navigationTargetIndex{0}; int _pageTitleSpacing{0}; bool _isGrabGesture{false}; void _switchCentralStackIndex(int targetIndex, int lastIndex); }; #endif // ELASCROLLPAGEPRIVATE_H