/**************************************************************************** ** ** Copyright (C) 2022 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtWidgets module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:COMM$ ** ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** ** $QT_END_LICENSE$ ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ******************************************************************************/ #ifndef QDIALOG_H #define QDIALOG_H #include #include QT_REQUIRE_CONFIG(dialog); QT_BEGIN_NAMESPACE class QPushButton; class QDialogPrivate; class Q_WIDGETS_EXPORT QDialog : public QWidget { Q_OBJECT friend class QPushButton; Q_PROPERTY(bool sizeGripEnabled READ isSizeGripEnabled WRITE setSizeGripEnabled) Q_PROPERTY(bool modal READ isModal WRITE setModal) public: explicit QDialog(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags()); ~QDialog(); enum DialogCode { Rejected, Accepted }; int result() const; void setVisible(bool visible) override; QSize sizeHint() const override; QSize minimumSizeHint() const override; void setSizeGripEnabled(bool); bool isSizeGripEnabled() const; void setModal(bool modal); void setResult(int r); Q_SIGNALS: void finished(int result); void accepted(); void rejected(); public Q_SLOTS: virtual void open(); virtual int exec(); virtual void done(int); virtual void accept(); virtual void reject(); protected: QDialog(QDialogPrivate &, QWidget *parent, Qt::WindowFlags f = Qt::WindowFlags()); void keyPressEvent(QKeyEvent *) override; void closeEvent(QCloseEvent *) override; void showEvent(QShowEvent *) override; void resizeEvent(QResizeEvent *) override; #ifndef QT_NO_CONTEXTMENU void contextMenuEvent(QContextMenuEvent *) override; #endif bool eventFilter(QObject *, QEvent *) override; void adjustPosition(QWidget*); private: Q_DECLARE_PRIVATE(QDialog) Q_DISABLE_COPY(QDialog) }; QT_END_NAMESPACE #endif // QDIALOG_H