2 #include <Scenario/Process/ScenarioInterface.hpp>
4 #include <score/document/DocumentContext.hpp>
5 #include <score/model/Identifier.hpp>
7 #include <score/serialization/JSONVisitor.hpp>
8 #include <score/tools/std/IndirectContainer.hpp>
10 #include <score_plugin_scenario_export.h>
27 SCORE_SERIALIZE_FRIENDS
40 QObject& parentObject()
const {
return *m_parent; }
48 return {m_startState, m_endState};
52 return {m_startEvent, m_endEvent};
56 return {m_startNode, m_endNode};
61 EventModel* findEvent(
const Id<EventModel>&
id)
const final override;
65 StateModel* findState(
const Id<StateModel>&
id)
const final override;
75 IntervalModel& interval()
const;
77 TimeSyncModel& startTimeSync()
const;
78 TimeSyncModel& endTimeSync()
const;
80 EventModel& startEvent()
const;
81 EventModel& endEvent()
const;
83 StateModel& startState()
const;
84 StateModel& endState()
const;
89 return {m_startEvent, m_endEvent};
93 return {m_startState, m_endState};
97 return {m_startNode, m_endNode};
102 TimeSyncModel* m_startNode{};
103 TimeSyncModel* m_endNode{};
105 EventModel* m_startEvent{};
106 EventModel* m_endEvent{};
108 StateModel* m_startState{};
109 StateModel* m_endState{};
111 IntervalModel* m_interval{};
113 auto elements()
const
115 return std::make_tuple(
116 m_startNode, m_endNode, m_startEvent, m_endEvent, m_startState, m_endState,
125 inline auto intervals(
const BaseScenarioContainer& scenar)
127 return scenar.intervals();
129 inline auto events(
const BaseScenarioContainer& scenar)
131 return scenar.events();
133 inline auto timeSyncs(
const BaseScenarioContainer& scenar)
135 return scenar.timeSyncs();
137 inline auto states(
const BaseScenarioContainer& scenar)
139 return scenar.states();
145 static const constexpr
auto accessor
152 static const constexpr
auto accessor
159 static const constexpr
auto accessor
166 static const constexpr
auto accessor
Definition: VisitorInterface.hpp:53
Definition: VisitorInterface.hpp:61
Definition: BaseScenarioContainer.hpp:26
Definition: EventModel.hpp:36
Definition: IntervalModel.hpp:50
Definition: ScenarioInterface.hpp:20
Definition: StateModel.hpp:63
Definition: TimeSyncModel.hpp:34
The id_base_t class.
Definition: Identifier.hpp:57
Definition: IndirectContainer.hpp:184
Definition: IndirectContainer.hpp:129
Main plug-in of score.
Definition: score-plugin-dataflow/Dataflow/PortItem.hpp:14
Definition: BaseScenarioContainer.hpp:30
Definition: ScenarioInterface.hpp:55
Definition: DocumentContext.hpp:18