1 #ifndef FGQQWINDOWMANAGER_HXX 2 #define FGQQWINDOWMANAGER_HXX 3 4 #include <QObject> 5 #include <memory> 6 7 // forward decls 8 class QAbstractItemModel; 9 class QQmlEngine; 10 11 class FGQQWindowManager : public QObject 12 { 13 Q_OBJECT 14 public: 15 explicit FGQQWindowManager(QQmlEngine* engine, QObject* parent = nullptr); 16 ~FGQQWindowManager(); 17 18 Q_PROPERTY(QAbstractItemModel* windows READ windows CONSTANT) 19 20 QAbstractItemModel* windows() const; 21 22 Q_INVOKABLE bool show(QString windowId); 23 24 Q_INVOKABLE bool requestPopout(QString windowId); 25 26 Q_INVOKABLE bool requestClose(QString windowId); 27 28 Q_INVOKABLE bool requestPopin(QString windowId); 29 signals: 30 31 public slots: 32 33 private: 34 class WindowManagerPrivate; 35 36 std::unique_ptr<WindowManagerPrivate> _d; 37 QQmlEngine* _engine = nullptr; 38 }; 39 40 #endif // FGQQWINDOWMANAGER_HXX 41