Sine Striker
2023-12-20 8209cdfb1d85a40cc770f854d773c3a10f5ab576
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#ifndef WIDGETWINDOWAGENT_H
#define WIDGETWINDOWAGENT_H
 
#include <QtWidgets/QWidget>
 
#include <QWKCore/windowagentbase.h>
#include <QWKWidgets/qwkwidgetsglobal.h>
 
namespace QWK {
 
    class WidgetWindowAgentPrivate;
 
    class QWK_WIDGETS_EXPORT WidgetWindowAgent : public WindowAgentBase {
        Q_OBJECT
        Q_DECLARE_PRIVATE(WidgetWindowAgent)
    public:
        explicit WidgetWindowAgent(QObject *parent = nullptr);
        ~WidgetWindowAgent() override;
 
    public:
        bool setup(QWidget *w);
 
        QWidget *titleBar() const;
        void setTitleBar(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);
 
    Q_SIGNALS:
        void titleBarWidgetChanged(const QWidget *w);
        void systemButtonChanged(SystemButton button, const QWidget *w);
 
    protected:
        WidgetWindowAgent(WidgetWindowAgentPrivate &d, QObject *parent = nullptr);
    };
 
}
 
#endif // WIDGETWINDOWAGENT_H