/** * @RDE_HEADER@ * GUI Plugin for SituationReplay (Control) (Interface for access from other Plugins) * $Id$ * $HeadURL$ * $Author$ * Created by Patric Karwat, SLSE, 2016-07-27 */ #pragma once #include #include #include namespace MarkerManagement { class MarkerManagementApplyFilter; } namespace SituationMap { class ForeignGuiInterface; } namespace SituationReplay { // TODO: mv TR Ifc to actual plugin ! class ForeignGuiInterface : public TopicReplay::Factory, public TopicEditorBase::Interface { public: ForeignGuiInterface() = default; virtual ~ForeignGuiInterface() = default; virtual bool startReplay(const qint64 start, const qint64 end = 0 /* infinite */, const double speed = 1.0, const QJsonObject &attributes = QJsonObject()) = 0; virtual void pauseReplay() = 0; virtual void stopReplay() = 0; // for Topic Editor in Script Editor to start a replay in Essentials View instead of the Script Editor virtual void setEssentialsViewInterfaces(ForeignGuiInterface *srpIfc, SituationMap::ForeignGuiInterface *sitMapIfc) = 0; virtual void setSitMapIfc(SituationMap::ForeignGuiInterface *sitMapIfc) = 0; virtual QWidget *createControlWidget(bool useExistingReplay) = 0; virtual void setApplyFilter(const QPointer &applyFilter) = 0; // for the ScriptEditor's Essential Viewer }; } // namespace SituationReplay