Files
cbh/ElaWidgetTools/ElaDialog.h
2025-09-19 22:40:52 +08:00

38 lines
1.1 KiB
C++

#ifndef ELAFRAMEWORK_ELADIALOG_H
#define ELAFRAMEWORK_ELADIALOG_H
#include "ElaAppBar.h"
#include "ElaDef.h"
#include <QDialog>
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