#ifndef SERVER_CONFIGURING_PROGRESS_LOGIC_H #define SERVER_CONFIGURING_PROGRESS_LOGIC_H #include #include "PageLogicBase.h" #include "core/defs.h" using namespace amnezia; class UiLogic; class ServerConfiguringProgressLogic : public PageLogicBase { Q_OBJECT AUTO_PROPERTY(double, progressBarValue) AUTO_PROPERTY(bool, labelWaitInfoVisible) AUTO_PROPERTY(QString, labelWaitInfoText) AUTO_PROPERTY(bool, progressBarVisible) AUTO_PROPERTY(int, progressBarMaximium) AUTO_PROPERTY(bool, progressBarTextVisible) AUTO_PROPERTY(QString, progressBarText) public: explicit ServerConfiguringProgressLogic(UiLogic *uiLogic, QObject *parent = nullptr); ~ServerConfiguringProgressLogic() = default; void onUpdatePage() override; ErrorCode doInstallAction(const std::function &action); private: struct ProgressFunc { std::function setVisibleFunc; std::function setValueFunc; std::function getValueFunc; std::function getMaximiumFunc; std::function setTextVisibleFunc; std::function setTextFunc; }; struct PageFunc { std::function setEnabledFunc; }; struct ButtonFunc { std::function setVisibleFunc; }; struct LabelFunc { std::function setVisibleFunc; std::function setTextFunc; }; }; #endif // SERVER_CONFIGURING_PROGRESS_LOGIC_H