#pragma once #include #include #include #include namespace SituationMap { class ForeignGuiInterface; } namespace PlanOverlaysPlugin { class PlanOverlayModel; class ForeignGuiInterface : public TopicReplay::Factory, public TopicEditorBase::Interface { public: ForeignGuiInterface() = default; virtual ~ForeignGuiInterface() = default; static QString pluginName() { return QStringLiteral("PlanOverlaysGuiPlugin"); } virtual void setForeignSitMapGuiIfc(SituationMap::ForeignGuiInterface *foreignSitMapIfc) = 0; virtual void setForeignPlanOverlaysGuiIfc(ForeignGuiInterface *ifc) = 0; virtual QWidget *openPlanOverlayDialog(const QJsonArray &planItems = QJsonArray(), bool removePlansOnClose = false) = 0; virtual bool loadPlan(int planFileId, const QJsonObject &planItemObject) = 0; virtual bool loadPlan(int planFileId) = 0; virtual bool unloadAllPlans() = 0; virtual PlanOverlayModel *planOverlayModel() = 0; }; }