Loading...
Searching...
No Matches
BaseScenario.hpp
1#pragma once
2#include <Scenario/Document/BaseScenario/BaseScenarioContainer.hpp>
3
4#include <score/model/IdentifiedObject.hpp>
5#include <score/selection/Selection.hpp>
6#include <score/serialization/VisitorInterface.hpp>
7#include <score/tools/Metadata.hpp>
8
9#include <QVector>
10
11#include <verdigris>
12
13class DataStream;
14class JSONObject;
15class QObject;
16#include <score/model/Identifier.hpp>
17
18#include <score_plugin_scenario_export.h>
19
20namespace Scenario
21{
22class IntervalModel;
23class TimeSyncModel;
24class SCORE_PLUGIN_SCENARIO_EXPORT BaseScenario final
25 : public IdentifiedObject<BaseScenario>
27{
28 W_OBJECT(BaseScenario)
29 SCORE_SERIALIZE_FRIENDS
30
31public:
33 const Id<BaseScenario>& id, const score::DocumentContext& ctx,
34 QObject* parentObject);
35
36 template <IsDeserializer DeserializerVisitor>
38 DeserializerVisitor&& vis, const score::DocumentContext& ctx, QObject* parent)
39 : IdentifiedObject{vis, parent}
41 {
42 vis.writeTo(*this);
43 }
44
45 ~BaseScenario() override;
46
47 Selection selectedChildren() const;
48 bool focused() const;
49
50 using BaseScenarioContainer::event;
51 using QObject::event;
52};
53
54SCORE_PLUGIN_SCENARIO_EXPORT const QVector<Id<IntervalModel>>
55intervalsBeforeTimeSync(const BaseScenario&, const Id<TimeSyncModel>& timeSyncId);
56}
57
58DEFAULT_MODEL_METADATA(Scenario::BaseScenario, "Base Scenario")
59UNDO_NAME_METADATA(EMPTY_MACRO, Scenario::BaseScenario, "Base Scenario")
Definition VisitorInterface.hpp:53
The IdentifiedObject class.
Definition IdentifiedObject.hpp:19
Definition VisitorInterface.hpp:61
Definition BaseScenarioContainer.hpp:26
Definition BaseScenario.hpp:27
Definition Selection.hpp:12
The id_base_t class.
Definition Identifier.hpp:59
Main plug-in of score.
Definition score-plugin-dataflow/Dataflow/PortItem.hpp:13
Definition BaseScenarioContainer.hpp:30
Definition DocumentContext.hpp:18