/** ** ** @RDE_HEADER@ ** plan_editor.h ** $Id$ ** $HeadURL$ ** $Author$ ** ** ----------------------------------------------------------------------------------------------- ** ** Hardware-Environment: Intel-PC ** Software-Environment: Windows 7, Qt 5.7. ArcGIS 100 ** ** Language ........: C++ 11 ** ** ----------------------------------------------------------------------------------------------- ** ** Author ...........: Jörg Turla, SPD G, Tel. 3132 ** ** ----------------------------------------------------------------------------------------------- ** ** Notes .........: ** ** 29.06.2017, JT : First edition for use with Qt5 ** ** ----------------------------------------------------------------------------------------------- */ #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"); } /** Set SituationMapGuiPlugin interface from forgein session. Is used by ScriptEditor to define map view displaying plans. @param foreignSitMapIfc Pointer to SituationMapGuiPlugin interface used to load plan into map when used by ScriptEditor */ virtual void setForeignSitMapGuiIfc(SituationMap::ForeignGuiInterface *foreignSitMapIfc) = 0; virtual void setForeignPlanOverlaysGuiIfc(ForeignGuiInterface *ifc) = 0; virtual QWidget *openPlanOverlayDialog(const QJsonArray &planItems = QJsonArray(), bool removePlansOnClose = false) = 0; /** Load a plan as overlay into map @param planFileId File-Id of plan in file management service */ virtual bool loadPlan(int planFileId, const QJsonObject &planItemObject) = 0; virtual bool loadPlan(int planFileId) = 0; /** * @brief unloadAllPlans * Unload all plans: remove from update model (update GUI), removePlan from sitMap * (Usefull for SnapshotDialog::showSnapshotInternal) * @return true */ virtual bool unloadAllPlans() = 0; virtual PlanOverlayModel *planOverlayModel() = 0; }; // ForeignGuiInterface } // namespace PlanOverlaysPlugin