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

49 lines
1.5 KiB
C++
Executable File

/**
* @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 <PluginInterfaces/topic_replay_interface.h>
#include <TopicEditorBase/topic_editor_interface.h>
#include <QPointer>
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<MarkerManagement::MarkerManagementApplyFilter> &applyFilter) = 0; // for the ScriptEditor's Essential Viewer
};
} // namespace SituationReplay