2 #include <Process/Instantiations.hpp>
3 #include <Process/Process.hpp>
5 #include <Scenario/Document/Event/EventModel.hpp>
6 #include <Scenario/Document/Event/ExecutionStatus.hpp>
7 #include <Scenario/Document/Metatypes.hpp>
8 #include <Scenario/Document/State/ItemModel/ControlItemModel.hpp>
9 #include <Scenario/Document/State/ItemModel/MessageItemModel.hpp>
11 #include <score/model/Component.hpp>
12 #include <score/model/EntityImpl.hpp>
13 #include <score/model/IdentifiedObject.hpp>
14 #include <score/model/Identifier.hpp>
15 #include <score/selection/Selectable.hpp>
16 #include <score/serialization/VisitorInterface.hpp>
17 #include <score/tools/Metadata.hpp>
18 #include <score/tools/std/Optional.hpp>
20 #include <nano_signal_slot.hpp>
21 #include <score_plugin_scenario_export.h>
37 class CommandStackFacade;
43 class MessageItemModel;
62 ,
public Nano::Observer
66 SCORE_SERIALIZE_FRIENDS
68 using ProcessVector = std::list<ProcessStateWrapper>;
80 template <IsDeserializer DeserializerVisitor>
92 double heightPercentage()
const;
100 const OptionalId<IntervalModel>& previousInterval()
const;
101 const OptionalId<IntervalModel>& nextInterval()
const;
105 void setNextInterval(
const OptionalId<IntervalModel>&);
106 void setPreviousInterval(
const OptionalId<IntervalModel>&);
108 ProcessVector& previousProcesses() {
return m_previousProcesses; }
109 ProcessVector& followingProcesses() {
return m_nextProcesses; }
110 const ProcessVector& previousProcesses()
const {
return m_previousProcesses; }
111 const ProcessVector& followingProcesses()
const {
return m_nextProcesses; }
113 void setStatus(ExecutionStatus);
114 ExecutionStatus status()
const {
return m_status.get(); }
116 void setHeightPercentage(
double y);
118 bool empty()
const {
return !messages().rootNode().hasChild(0); }
121 void sig_statesUpdated() E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, sig_statesUpdated)
122 void sig_controlMessagesUpdated()
123 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, sig_controlMessagesUpdated)
125 void heightPercentageChanged()
126 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, heightPercentageChanged)
127 void statusChanged(Scenario::ExecutionStatus arg_1)
128 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, statusChanged, arg_1)
131 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, eventChanged, oldev, newev)
134 double, heightPercentage READ heightPercentage WRITE setHeightPercentage NOTIFY
135 heightPercentageChanged)
137 void statesUpdated_slt();
142 ProcessVector m_previousProcesses;
143 ProcessVector m_nextProcesses;
147 OptionalId<IntervalModel> m_previousInterval;
148 OptionalId<IntervalModel> m_nextInterval;
150 double m_heightPercentage{0.5};
Definition: VisitorInterface.hpp:53
Definition: VisitorInterface.hpp:61
Metadata to get the name that will be shown in the user interface.
Definition: lib/score/tools/Metadata.hpp:42
Definition: ProcessStateDataInterface.hpp:24
Definition: ControlItemModel.hpp:14
The MessageItemModel class.
Definition: MessageItemModel.hpp:38
Definition: StateModel.hpp:45
Definition: StateModel.hpp:63
The Selectable class.
Definition: Selectable.hpp:14
The id_base_t class.
Definition: Identifier.hpp:57
Base for complex model objects.
Definition: EntityBase.hpp:24
Base classes and tools to implement processes and layers.
Definition: JSONVisitor.hpp:1324
Main plug-in of score.
Definition: score-plugin-dataflow/Dataflow/PortItem.hpp:14
Utilities for OSSIA data structures.
Definition: DeviceInterface.hpp:33
Base toolkit upon which the software is built.
Definition: Application.cpp:90
Definition: ExecutionStatus.hpp:33
Definition: DocumentContext.hpp:18