Files
qt5-legatus-legacy/Lts/Plugins/PlanOverlays/plan_overlays_plugin_interface.h
T
2026-08-13 18:33:10 +02:00

86 lines
2.4 KiB
C++
Executable File

/**
**
** @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 <PluginInterfaces/topic_replay_interface.h>
#include <TopicEditorBase/topic_editor_interface.h>
#include <QJsonArray>
#include <QJsonObject>
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