#ifndef ELAFRAMEWORK_ELADIALOG_H #define ELAFRAMEWORK_ELADIALOG_H #include "ElaAppBar.h" #include "ElaDef.h" #include class ElaDialogPrivate; class ELA_EXPORT ElaDialog : public QDialog { Q_OBJECT Q_Q_CREATE(ElaDialog) Q_PROPERTY_CREATE_Q_H(bool, IsStayTop) Q_PROPERTY_CREATE_Q_H(bool, IsFixedSize) Q_PROPERTY_CREATE_Q_H(bool, IsDefaultClosed) Q_PROPERTY_CREATE_Q_H(int, AppBarHeight) Q_TAKEOVER_NATIVEEVENT_H public: explicit ElaDialog(QWidget* parent = nullptr); ~ElaDialog() override; void moveToCenter(); void setWindowButtonFlag(ElaAppBarType::ButtonType buttonFlag, bool isEnable = true); void setWindowButtonFlags(ElaAppBarType::ButtonFlags buttonFlags); ElaAppBarType::ButtonFlags getWindowButtonFlags() const; Q_SIGNALS: Q_SIGNAL void routeBackButtonClicked(); Q_SIGNAL void navigationButtonClicked(); Q_SIGNAL void themeChangeButtonClicked(); Q_SIGNAL void closeButtonClicked(); protected: virtual void paintEvent(QPaintEvent* event) override; }; #endif //ELAFRAMEWORK_ELADIALOG_H