#ifndef COCKPITMANAGER_H #define COCKPITMANAGER_H #include #include #include "ICockpitPlugin.h" class CockpitManager : public QObject { Q_OBJECT public: explicit CockpitManager(QObject *parent = nullptr); void registerCockpit(ICockpitPlugin *plugin); void setCurrentCockpit(const QString &name); ICockpitPlugin *currentCockpit() const { return m_current; } ICockpitPlugin *cockpit(const QString &name) const; QStringList cockpitNames() const; QWidget *currentWidget() const; signals: void cockpitChanged(const QString &name); private: QHash m_cockpits; ICockpitPlugin *m_current = nullptr; }; #endif