#ifndef WIDGETWINDOWAGENT_H #define WIDGETWINDOWAGENT_H #include #include #include namespace QWK { class WidgetWindowAgentPrivate; class QWK_WIDGETS_EXPORT WidgetWindowAgent : public CoreWindowAgent { 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); bool isHitTestVisible(QWidget *w) const; void setHitTestVisible(QWidget *w, bool visible); void setHitTestVisible(const QRect &rect, bool visible); Q_SIGNALS: void titleBarWidgetChanged(QWidget *w); void systemButtonChanged(SystemButton button, QWidget *w); protected: WidgetWindowAgent(WidgetWindowAgentPrivate &d, QObject *parent = nullptr); }; } #endif // WIDGETWINDOWAGENT_H