Sine Striker
2024-01-01 d08030ea8f04f056aed88a4ad96dc9233d069787
src/widgets/widgetwindowagent.h
@@ -1,16 +1,19 @@
// Copyright (C) 2023-2024 Stdware Collections
// 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_DECLARE_PRIVATE(WidgetWindowAgent)
    public:
@@ -26,13 +29,21 @@
        QWidget *systemButton(SystemButton button) const;
        void setSystemButton(SystemButton button, QWidget *w);
        bool isHitTestVisible(QWidget *w) const;
        void setHitTestVisible(QWidget *w, bool visible = true);
        void setHitTestVisible(const QRect &rect, bool visible = true);
#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(const QWidget *w, bool visible = true);
    Q_SIGNALS:
        void titleBarWidgetChanged(QWidget *w);
        void systemButtonChanged(SystemButton button, QWidget *w);
        void titleBarChanged(const QWidget *w);
        void systemButtonChanged(SystemButton button, const QWidget *w);
    protected:
        WidgetWindowAgent(WidgetWindowAgentPrivate &d, QObject *parent = nullptr);