Sine Striker
2023-12-06 a0bede6ff6a700a6eea9702c49d378f07de22f63
src/core/windowitemdelegate.h
@@ -1,25 +1,32 @@
#ifndef WINDOWITEMDELEGATE_H
#define WINDOWITEMDELEGATE_H
#include <memory>
#include <QtCore/QObject>
#include <QtCore/QPoint>
#include <QtGui/QWindow>
#include <QWKCore/qwkcoreglobal.h>
#include <QWKCore/corewindowagent.h>
namespace QWK {
    class WindowItemDelegate {
    class QWK_CORE_EXPORT WindowItemDelegate {
    public:
        WindowItemDelegate() = default;
        virtual ~WindowItemDelegate() = default;
        WindowItemDelegate();
        virtual ~WindowItemDelegate();
    public:
        virtual QWindow *window(QObject *obj) const = 0;
        // 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;
        virtual bool isEnabled(QObject *obj) const = 0;
        virtual bool isVisible(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 bool resetQtGrabbedControl() const;
    private:
        Q_DISABLE_COPY_MOVE(WindowItemDelegate)