Yuhang Zhao
2023-12-19 f9aa4aacae56e3a82bce492196ff1802f3ecaf02
src/widgets/widgetwindowagent.h
@@ -3,14 +3,14 @@
#include <QtWidgets/QWidget>
#include <QWKCore/corewindowagent.h>
#include <QWKCore/windowagentbase.h>
#include <QWKWidgets/qwkwidgetsglobal.h>
namespace QWK {
    class WidgetWindowAgentPrivate;
    class QWK_WIDGETS_EXPORT WidgetWindowAgent : public CoreWindowAgent {
    class QWK_WIDGETS_EXPORT WidgetWindowAgent : public WindowAgentBase {
        Q_OBJECT
        Q_DECLARE_PRIVATE(WidgetWindowAgent)
    public:
@@ -20,15 +20,19 @@
    public:
        bool setup(QWidget *w);
        const QWidget *titleBar() const;
        void setTitleBar(const QWidget *w);
        QWidget *titleBar() const;
        void setTitleBar(QWidget *w);
        const QWidget *systemButton(SystemButton button) const;
        void setSystemButton(SystemButton button, const QWidget *w);
        QWidget *systemButton(SystemButton button) const;
        void setSystemButton(SystemButton button, QWidget *w);
#ifdef Q_OS_MAC
        QWidget *systemButtonArea() const;
        void setSystemButtonArea(QWidget *widget);
#endif
        bool isHitTestVisible(const QWidget *w) const;
        void setHitTestVisible(const QWidget *w, bool visible = true);
        void setHitTestVisible(const QRect &rect, bool visible = true);
    Q_SIGNALS:
        void titleBarWidgetChanged(const QWidget *w);
@@ -38,6 +42,12 @@
        WidgetWindowAgent(WidgetWindowAgentPrivate &d, QObject *parent = nullptr);
    };
    inline WidgetWindowAgent *QWK_Initialize(QWidget *w) {
        auto agent = new WidgetWindowAgent(w);
        agent->setup(w);
        return agent;
    }
}
#endif // WIDGETWINDOWAGENT_H