#ifndef WINDOWITEMDELEGATE_H #define WINDOWITEMDELEGATE_H #include #include #include #include namespace QWK { class QWK_CORE_EXPORT WindowItemDelegate { public: WindowItemDelegate(); virtual ~WindowItemDelegate(); public: // Item property query virtual QWindow *window(const QObject *obj) const = 0; virtual bool isEnabled(const QObject *obj) const = 0; virtual bool isVisible(const QObject *obj) const = 0; virtual QRect mapGeometryToScene(const QObject *obj) const = 0; // Host property query virtual QWindow *hostWindow(const QObject *host) const = 0; virtual bool isHostSizeFixed(const QObject *host) const = 0; // Callbacks virtual void resetQtGrabbedControl() const; private: Q_DISABLE_COPY_MOVE(WindowItemDelegate) }; } #endif // WINDOWITEMDELEGATE_H