| | |
| | | |
| | | inline QObject *host() const; |
| | | inline QWindow *window() const; |
| | | inline WId windowId() const; |
| | | inline WindowItemDelegate *delegate() const; |
| | | |
| | | inline bool isHitTestVisible(const QObject *obj) const; |
| | |
| | | |
| | | bool isInSystemButtons(const QPoint &pos, WindowAgentBase::SystemButton *button) const; |
| | | bool isInTitleBarDraggableArea(const QPoint &pos) const; |
| | | |
| | | inline bool isHostWidthFixed() const { |
| | | return m_windowHandle |
| | | ? ((m_windowHandle->flags() & Qt::MSWindowsFixedSizeDialogHint) || |
| | | m_windowHandle->minimumWidth() == m_windowHandle->maximumWidth()) |
| | | : false; |
| | | } |
| | | inline bool isHostHeightFixed() const { |
| | | return m_windowHandle |
| | | ? ((m_windowHandle->flags() & Qt::MSWindowsFixedSizeDialogHint) || |
| | | m_windowHandle->minimumHeight() == m_windowHandle->maximumHeight()) |
| | | : false; |
| | | } |
| | | inline bool isHostSizeFixed() const { |
| | | return m_windowHandle ? ((m_windowHandle->flags() & Qt::MSWindowsFixedSizeDialogHint) || |
| | | m_windowHandle->minimumSize() == m_windowHandle->maximumSize()) |
| | | : false; |
| | | } |
| | | |
| | | virtual QString key() const; |
| | | |
| | |
| | | virtual bool setWindowAttribute(const QString &key, const QVariant &attribute); |
| | | |
| | | protected: |
| | | bool eventFilter(QObject *obj, QEvent *event) override; |
| | | |
| | | protected: |
| | | virtual void winIdChanged(WId winId, WId oldWinId) = 0; |
| | | virtual bool windowAttributeChanged(const QString &key, const QVariant &attribute, |
| | | const QVariant &oldAttribute); |
| | |
| | | protected: |
| | | QObject *m_host{}; |
| | | std::unique_ptr<WindowItemDelegate> m_delegate; |
| | | QWindow *m_windowHandle{}; |
| | | QPointer<QWindow> m_windowHandle; |
| | | WId m_windowId{}; |
| | | |
| | | QSet<const QObject *> m_hitTestVisibleItems; |
| | |
| | | std::array<QObject *, WindowAgentBase::Close + 1> m_systemButtons{}; |
| | | |
| | | QVariantHash m_windowAttributes; |
| | | |
| | | std::unique_ptr<QObject> m_windowEventFilter; |
| | | std::unique_ptr<WinIdChangeEventFilter> m_winIdChangeEventFilter; |
| | | }; |
| | | |
| | |
| | | return m_windowHandle; |
| | | } |
| | | |
| | | inline WId AbstractWindowContext::windowId() const { |
| | | return m_windowId; |
| | | } |
| | | |
| | | inline WindowItemDelegate *AbstractWindowContext::delegate() const { |
| | | return m_delegate.get(); |
| | | } |