From 9286c8b9c23a613f96636b8e2d1391d89cedd199 Mon Sep 17 00:00:00 2001 From: Zhao Yuhang <2546789017@qq.com> Date: 周六, 07 12月 2024 21:11:05 +0800 Subject: [PATCH] Win32 code cleanup & improve --- src/widgets/widgetwindowagent.h | 30 ++++++++++++++++++++---------- 1 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/widgets/widgetwindowagent.h b/src/widgets/widgetwindowagent.h index 7c627c2..4a0f9c8 100644 --- a/src/widgets/widgetwindowagent.h +++ b/src/widgets/widgetwindowagent.h @@ -1,20 +1,22 @@ +// Copyright (C) 2023-2024 Stdware Collections (https://www.github.com/stdware) +// Copyright (C) 2021-2023 wangwenx190 (Yuhang Zhao) +// SPDX-License-Identifier: Apache-2.0 + #ifndef WIDGETWINDOWAGENT_H #define WIDGETWINDOWAGENT_H #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_DISABLE_COPY(WidgetWindowAgent) Q_DECLARE_PRIVATE(WidgetWindowAgent) - public: explicit WidgetWindowAgent(QObject *parent = nullptr); ~WidgetWindowAgent() override; @@ -22,18 +24,26 @@ public: bool setup(QWidget *w); - bool isHitTestVisible(QWidget *w) const; - void setHitTestVisible(QWidget *w, bool visible); - void setHitTestVisible(const QRect &rect, bool visible); + QWidget *titleBar() const; + void setTitleBar(QWidget *w); QWidget *systemButton(SystemButton button) const; void setSystemButton(SystemButton button, QWidget *w); - QWidget *titleBar() const; - void setTitleBar(QWidget *w); +#ifdef Q_OS_MAC + // The system button area APIs are experimental, very likely to change in the future. + QWidget *systemButtonArea() const; + void setSystemButtonArea(QWidget *widget); + + ScreenRectCallback systemButtonAreaCallback() const; + void setSystemButtonAreaCallback(const ScreenRectCallback &callback); +#endif + + bool isHitTestVisible(const QWidget *w) const; + void setHitTestVisible(QWidget *w, bool visible = true); Q_SIGNALS: - void titleBarWidgetChanged(QWidget *w); + void titleBarChanged(QWidget *w); void systemButtonChanged(SystemButton button, QWidget *w); protected: -- Gitblit v1.9.1