OpenTwin 0.1
OpenTwin
 
Loading...
Searching...
No Matches
GraphicsPackage.h
Go to the documentation of this file.
1
4// ###########################################################################################################################################################################################################################################################################################################################
5
6#pragma once
7
8// OpenTwin header
12
13// std header
14#include <list>
15
16namespace ot {
17
18 class GraphicsItemCfg;
19 class GraphicsPickerCollectionCfg;
20
26 public:
29
33 virtual void addToJsonObject(JsonValue& _object, JsonAllocator& _allocator) const override;
34
38 virtual void setFromJsonObject(const ConstJsonObject& _object) override;
39
40 void addCollection(GraphicsPickerCollectionCfg* _collection);
41 const std::list<GraphicsPickerCollectionCfg*>& collections(void) const { return m_collections; };
42
43 private:
44 void memFree(void);
45
46 std::list<GraphicsPickerCollectionCfg*> m_collections;
47 };
48
49 // ###########################################################################################################################################################################################################################################################################################################################
50
51 // ###########################################################################################################################################################################################################################################################################################################################
52
53 // ###########################################################################################################################################################################################################################################################################################################################
54
59 public:
62 GraphicsNewEditorPackage(const std::string& _editorName = std::string(), const std::string& _editorTitle = std::string());
64
68 virtual void addToJsonObject(JsonValue& _object, JsonAllocator& _allocator) const override;
69
73 virtual void setFromJsonObject(const ConstJsonObject& _object) override;
74
75 const std::string& name(void) const { return m_name; };
76 const std::string& title(void) const { return m_title; };
77
78 private:
79 std::string m_name;
80 std::string m_title;
81
83 GraphicsNewEditorPackage& operator = (const GraphicsNewEditorPackage&) = delete;
84 };
85
86 // ###########################################################################################################################################################################################################################################################################################################################
87
88 // ###########################################################################################################################################################################################################################################################################################################################
89
90 // ###########################################################################################################################################################################################################################################################################################################################
91
95 public:
96 GraphicsScenePackage(const std::string& _editorName = std::string());
97 virtual ~GraphicsScenePackage();
98
102 virtual void addToJsonObject(JsonValue& _object, JsonAllocator& _allocator) const override;
103
107 virtual void setFromJsonObject(const ConstJsonObject& _object) override;
108
112 void addItem(GraphicsItemCfg* _item);
113 const std::list<GraphicsItemCfg*>& items(void) const { return m_items; };
114
115 void setName(const std::string& _name) { m_name = _name; };
116 const std::string& name(void) const { return m_name; };
117
118 private:
119 void memFree(void);
120
121 std::string m_name;
122 std::list<ot::GraphicsItemCfg*> m_items;
123
125 GraphicsScenePackage& operator = (const GraphicsScenePackage&) = delete;
126 };
127
128 // ###########################################################################################################################################################################################################################################################################################################################
129
130 // ###########################################################################################################################################################################################################################################################################################################################
131
132 // ###########################################################################################################################################################################################################################################################################################################################
133
135 public:
136 GraphicsConnectionPackage(const std::string& _editorName = std::string());
138
142 virtual void addToJsonObject(JsonValue& _object, JsonAllocator& _allocator) const override;
143
147 virtual void setFromJsonObject(const ConstJsonObject& _object) override;
148
149 void setName(const std::string& _name) { m_name = _name; };
150 const std::string& name(void) const { return m_name; };
151
152 void addConnection(const ot::UID& _fromUid, const std::string& _fromConnectable, const ot::UID& _toUid, const std::string& _toConnectable);
153 void addConnection(const GraphicsConnectionCfg& _info) { m_connections.push_back(_info); };
154 const std::list<GraphicsConnectionCfg>& connections(void) const { return m_connections; };
155
156 private:
157 std::string m_name;
158 std::list<GraphicsConnectionCfg> m_connections;
159
161 GraphicsConnectionPackage& operator = (const GraphicsConnectionPackage&) = delete;
162 };
163
164}
#define OT_DECL_NOCOPY(___class)
Removes the default copy constructor and assignment operator.
Definition OTClassHelper.h:14
#define OT_GUI_API_EXPORT
Definition OTGuiAPIExport.h:9
Definition GraphicsConnectionCfg.h:22
Definition GraphicsPackage.h:134
void setName(const std::string &_name)
Definition GraphicsPackage.h:149
void addConnection(const GraphicsConnectionCfg &_info)
Definition GraphicsPackage.h:153
const std::list< GraphicsConnectionCfg > & connections(void) const
Definition GraphicsPackage.h:154
const std::string & name(void) const
Definition GraphicsPackage.h:150
The GraphicsItemCfg is the base class for all graphics item configurations.
Definition GraphicsItemCfg.h:33
Package that will be used to create a new graphics editor The name of the editor must be unique....
Definition GraphicsPackage.h:58
const std::string & title(void) const
Definition GraphicsPackage.h:76
const std::string & name(void) const
Definition GraphicsPackage.h:75
Definition GraphicsPickerCollectionCfg.h:20
Package that will be used to fill the graphics picker The name of the editor must be unique....
Definition GraphicsPackage.h:24
const std::list< GraphicsPickerCollectionCfg * > & collections(void) const
Definition GraphicsPackage.h:41
Package that will be used to add graphics items to an existing scene. Note that the request to the UI...
Definition GraphicsPackage.h:94
const std::list< GraphicsItemCfg * > & items(void) const
Definition GraphicsPackage.h:113
const std::string & name(void) const
Definition GraphicsPackage.h:116
void setName(const std::string &_name)
Definition GraphicsPackage.h:115
The Serializable class is the default interface of serializable objects.
Definition Serializable.h:17
Definition Connector.h:8
unsigned long UID
Unique identifier (32 bit unsigned integer)
Definition CoreTypes.h:27
rapidjson::Value JsonValue
Writable JSON value.
Definition JSON.h:27
rapidjson::GenericObject< true, rapidjson::GenericValue< rapidjson::UTF8<>, rapidjson::MemoryPoolAllocator< rapidjson::CrtAllocator > > > ConstJsonObject
Read only JSON Object.
Definition JSON.h:35
rapidjson::MemoryPoolAllocator< rapidjson::CrtAllocator > JsonAllocator
Allocator used for writing to JSON values.
Definition JSON.h:30