CID1321282 fixed - Remove the default constructor
[scilab.git] / scilab / modules / scicos / src / cpp / model / Annotation.hxx
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2014-2014 - Scilab Enterprises - Clement DAVID
4  *
5  * Copyright (C) 2012 - 2016 - Scilab Enterprises
6  *
7  * This file is hereby licensed under the terms of the GNU GPL v2.0,
8  * pursuant to article 5.3.4 of the CeCILL v.2.1.
9  * This file was originally licensed under the terms of the CeCILL v2.1,
10  * and continues to be available under such terms.
11  * For more information, see the COPYING file which you should have received
12  * along with this program.
13  *
14  */
15
16 #ifndef ANNOTATION_HXX_
17 #define ANNOTATION_HXX_
18
19 #include <string>
20 #include <vector>
21
22 #include "utilities.hxx"
23 #include "Model.hxx"
24 #include "model/BaseObject.hxx"
25
26 namespace org_scilab_modules_scicos
27 {
28 namespace model
29 {
30
31 class Annotation: public BaseObject
32 {
33 public:
34     Annotation(): BaseObject(ANNOTATION), m_parentDiagram(ScicosID()), m_parentBlock(ScicosID()),
35         m_description("Text"), m_font("2"), m_font_size("1"), m_style(""), m_relatedTo(ScicosID()), m_uid()
36     {
37         m_geometry = {0, 0, 2, 1};
38     };
39     Annotation(const Annotation& o) : BaseObject(ANNOTATION), m_parentDiagram(o.m_parentDiagram), m_parentBlock(o.m_parentBlock), m_geometry(o.m_geometry),
40         m_description(o.m_description), m_font(o.m_font), m_font_size(o.m_font_size), m_style(o.m_style), m_relatedTo(o.m_relatedTo), m_uid(o.m_uid) {};
41
42 private:
43     friend class ::org_scilab_modules_scicos::Model;
44
45     void getDescription(std::string& data) const
46     {
47         data = m_description;
48     }
49
50     update_status_t setDescription(const std::string& data)
51     {
52         if (data == m_description)
53         {
54             return NO_CHANGES;
55         }
56
57         m_description = data;
58         return SUCCESS;
59     }
60
61     void getFont(std::string& data) const
62     {
63         data = m_font;
64     }
65
66     update_status_t setFont(const std::string& data)
67     {
68         if (data == m_font)
69         {
70             return NO_CHANGES;
71         }
72
73         m_font = data;
74         return SUCCESS;
75     }
76
77     void getFontSize(std::string& data) const
78     {
79         data = m_font_size;
80     }
81
82     update_status_t setFontSize(const std::string& data)
83     {
84         if (data == m_font_size)
85         {
86             return NO_CHANGES;
87         }
88
89         m_font_size = data;
90         return SUCCESS;
91     }
92
93     void getStyle(std::string& data) const
94     {
95         data = m_style;
96     }
97
98     update_status_t setStyle(const std::string& data)
99     {
100         if (data == m_style)
101         {
102             return NO_CHANGES;
103         }
104
105         m_style = data;
106         return SUCCESS;
107     }
108
109     void getGeometry(std::vector<double>& v) const
110     {
111         m_geometry.fill(v);
112     }
113
114     update_status_t setGeometry(const std::vector<double>& v)
115     {
116         if (v.size() != 4)
117         {
118             return FAIL;
119         }
120
121         Geometry g = Geometry(v);
122         if (g == m_geometry)
123         {
124             return NO_CHANGES;
125         }
126
127         m_geometry = g;
128         return SUCCESS;
129     }
130
131     void getParentDiagram(ScicosID& v) const
132     {
133         v = m_parentDiagram;
134     }
135
136     update_status_t setParentDiagram(const ScicosID v)
137     {
138         if (v == m_parentDiagram)
139         {
140             return NO_CHANGES;
141         }
142
143         m_parentDiagram = v;
144         return SUCCESS;
145     }
146
147     void getParentBlock(ScicosID& v) const
148     {
149         v = m_parentBlock;
150     }
151
152     update_status_t setParentBlock(const ScicosID v)
153     {
154         if (v == m_parentBlock)
155         {
156             return NO_CHANGES;
157         }
158
159         m_parentBlock = v;
160         return SUCCESS;
161     }
162
163     ScicosID getRelatedTo() const
164     {
165         return m_relatedTo;
166     }
167
168     update_status_t setRelatedTo(ScicosID relatedTo)
169     {
170         if (this->m_relatedTo == relatedTo)
171         {
172             return NO_CHANGES;
173         }
174
175         this->m_relatedTo = relatedTo;
176         return SUCCESS;
177     }
178
179     void getUID(std::string& data) const
180     {
181         data = m_uid;
182     }
183
184     update_status_t setUID(const std::string& data)
185     {
186         if (data == m_uid)
187         {
188             return NO_CHANGES;
189         }
190
191         m_uid = data;
192         return SUCCESS;
193     }
194
195 private:
196     ScicosID m_parentDiagram;
197     ScicosID m_parentBlock;
198
199     Geometry m_geometry;
200     std::string m_description;
201     std::string m_font;
202     std::string m_font_size;
203     std::string m_style;
204     ScicosID m_relatedTo;
205     std::string m_uid;
206 };
207
208 } /* namespace model */
209 } /* namespace org_scilab_modules_scicos */
210
211 #endif /* ANNOTATION_HXX_ */