3 #include <Scenario/Document/Event/EventPresenter.hpp>
4 #include <Scenario/Document/Interval/FullView/FullViewIntervalPresenter.hpp>
5 #include <Scenario/Document/Interval/IntervalModel.hpp>
6 #include <Scenario/Document/State/StatePresenter.hpp>
7 #include <Scenario/Document/TimeSync/TimeSyncPresenter.hpp>
9 #include <score/tools/std/IndirectContainer.hpp>
11 template <
typename Model_T,
typename IntervalPresenter_T>
24 return {m_intervalPresenter};
29 return {m_startStatePresenter, m_endStatePresenter};
34 return {m_startEventPresenter, m_endEventPresenter};
39 return {m_startNodePresenter, m_endNodePresenter};
44 if(
id == m_model.startEvent().id())
45 return *m_startEventPresenter;
46 else if(
id == m_model.endEvent().id())
47 return *m_endEventPresenter;
53 if(
id == m_model.startTimeSync().id())
54 return *m_startNodePresenter;
55 else if(
id == m_model.endTimeSync().id())
56 return *m_endNodePresenter;
61 if(
id == m_model.interval().id())
62 return *m_intervalPresenter;
67 if(
id == m_model.startState().id())
68 return *m_startStatePresenter;
69 else if(
id == m_model.endState().id())
70 return *m_endStatePresenter;
76 return m_startNodePresenter->model();
79 IntervalPresenter_T* intervalPresenter()
const {
return m_intervalPresenter; }
82 const Model_T& m_model;
84 IntervalPresenter_T* m_intervalPresenter{};
Definition: BaseScenarioPresenter.hpp:13
Definition: EventPresenter.hpp:24
Definition: StatePresenter.hpp:23
Definition: TimeSyncModel.hpp:34
Definition: TimeSyncPresenter.hpp:29
The id_base_t class.
Definition: Identifier.hpp:57
Definition: IndirectContainer.hpp:129