86 lines
2.4 KiB
C++
Executable File
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
|