Salome HOME
Synchronize adm files
[modules/kernel.git] / src / SALOMEDS / SALOMEDS_AttributeTreeNode_i.cxx
1 // Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License, or (at your option) any later version.
10 //
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 // Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 //
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22
23 //  File   : SALOMEDS_AttributeTreeNode_i.cxx
24 //  Author : Sergey RUIN
25 //  Module : SALOME
26 //
27 #include "SALOMEDS_AttributeTreeNode_i.hxx"
28 #include "utilities.h"
29 #include "SALOMEDS.hxx"
30
31 static SALOMEDSImpl_AttributeTreeNode* GetNode(SALOMEDS::AttributeTreeNode_ptr value,
32                                                SALOMEDSImpl_AttributeTreeNode* aNode) 
33 {
34   SALOMEDSImpl_AttributeTreeNode* aResult = NULL;
35   DF_Label aLabel = DF_Label::Label(aNode->Label(), value->Label());
36   if (aLabel.IsNull()) {
37     MESSAGE("SALOMEDS_AttributeTreeNode_i class: no such label")
38     MESSAGE("SALOMEDS_AttributeTreeNode_i class: no such label")
39     return aResult;
40   }
41   if (!(aResult=(SALOMEDSImpl_AttributeTreeNode*)aLabel.FindAttribute(aNode->ID()))) {
42     MESSAGE("SALOMEDS_AttributeTreeNode_i class: no such attribute")
43     MESSAGE("SALOMEDS_AttributeTreeNode_i class: no such attribute")
44   }
45   return aResult;
46 }
47
48 void SALOMEDS_AttributeTreeNode_i::SetFather(SALOMEDS::AttributeTreeNode_ptr value) 
49 {
50   SALOMEDS::Locker lock;
51   CheckLocked();
52   SALOMEDSImpl_AttributeTreeNode* aNode = dynamic_cast<SALOMEDSImpl_AttributeTreeNode*>(_impl);
53   aNode->SetFather(GetNode(value, aNode));
54 }
55
56 CORBA::Boolean SALOMEDS_AttributeTreeNode_i::HasFather() 
57 {
58   SALOMEDS::Locker lock;
59   return dynamic_cast<SALOMEDSImpl_AttributeTreeNode*>(_impl)->HasFather();
60 }
61
62 SALOMEDS::AttributeTreeNode_ptr SALOMEDS_AttributeTreeNode_i::GetFather() 
63 {
64   SALOMEDS::Locker lock;
65   SALOMEDS_AttributeTreeNode_i* aFather;
66   aFather = new SALOMEDS_AttributeTreeNode_i(dynamic_cast<SALOMEDSImpl_AttributeTreeNode*>(_impl)->GetFather(), _orb);
67 #ifndef WIN32
68   return aFather->POA_SALOMEDS::AttributeTreeNode::_this();
69 #else
70   return aFather->AttributeTreeNode::_this();
71 #endif
72 }
73
74 void SALOMEDS_AttributeTreeNode_i::SetPrevious(SALOMEDS::AttributeTreeNode_ptr value) 
75 {
76   SALOMEDS::Locker lock;
77   CheckLocked();
78   SALOMEDSImpl_AttributeTreeNode* aNode = dynamic_cast<SALOMEDSImpl_AttributeTreeNode*>(_impl);
79   aNode->SetPrevious(GetNode(value, aNode));
80 }
81
82 CORBA::Boolean SALOMEDS_AttributeTreeNode_i::HasPrevious() 
83 {
84   SALOMEDS::Locker lock;
85   return dynamic_cast<SALOMEDSImpl_AttributeTreeNode*>(_impl)->HasPrevious();
86 }
87
88 SALOMEDS::AttributeTreeNode_ptr SALOMEDS_AttributeTreeNode_i::GetPrevious() 
89 {
90   SALOMEDS::Locker lock;
91   SALOMEDS_AttributeTreeNode_i* aPrevious;
92   aPrevious=new SALOMEDS_AttributeTreeNode_i(dynamic_cast<SALOMEDSImpl_AttributeTreeNode*>(_impl)->GetPrevious(), _orb);
93 #ifndef WIN32
94   return aPrevious->POA_SALOMEDS::AttributeTreeNode::_this();
95 #else
96   return aPrevious->AttributeTreeNode::_this();
97 #endif
98 }
99
100 void SALOMEDS_AttributeTreeNode_i::SetNext(SALOMEDS::AttributeTreeNode_ptr value) 
101 {
102   SALOMEDS::Locker lock;
103   CheckLocked();
104   SALOMEDSImpl_AttributeTreeNode* aNode = dynamic_cast<SALOMEDSImpl_AttributeTreeNode*>(_impl);
105   aNode->SetNext(GetNode(value, aNode));
106 }
107
108 CORBA::Boolean SALOMEDS_AttributeTreeNode_i::HasNext() 
109 {
110   SALOMEDS::Locker lock;
111   return dynamic_cast<SALOMEDSImpl_AttributeTreeNode*>(_impl)->HasNext();
112 }
113
114 SALOMEDS::AttributeTreeNode_ptr SALOMEDS_AttributeTreeNode_i::GetNext() 
115 {
116   SALOMEDS::Locker lock;
117   SALOMEDS_AttributeTreeNode_i* aNext;
118   aNext = new SALOMEDS_AttributeTreeNode_i(dynamic_cast<SALOMEDSImpl_AttributeTreeNode*>(_impl)->GetNext(), _orb);
119 #ifndef WIN32
120   return aNext->POA_SALOMEDS::AttributeTreeNode::_this();
121 #else
122   return aNext->AttributeTreeNode::_this();
123 #endif
124 }
125
126 void SALOMEDS_AttributeTreeNode_i::SetFirst(SALOMEDS::AttributeTreeNode_ptr value) 
127 {
128   SALOMEDS::Locker lock;
129   CheckLocked();
130   SALOMEDSImpl_AttributeTreeNode* aNode = dynamic_cast<SALOMEDSImpl_AttributeTreeNode*>(_impl);
131   aNode->SetFirst(GetNode(value, aNode));
132 }
133
134 CORBA::Boolean SALOMEDS_AttributeTreeNode_i::HasFirst() 
135 {
136   SALOMEDS::Locker lock;
137   return dynamic_cast<SALOMEDSImpl_AttributeTreeNode*>(_impl)->HasFirst();
138 }
139
140 SALOMEDS::AttributeTreeNode_ptr SALOMEDS_AttributeTreeNode_i::GetFirst() 
141 {
142   SALOMEDS::Locker lock;
143   SALOMEDS_AttributeTreeNode_i* aFirst;
144   aFirst = new SALOMEDS_AttributeTreeNode_i(dynamic_cast<SALOMEDSImpl_AttributeTreeNode*>(_impl)->GetFirst(), _orb);
145 #ifndef WIN32
146   return aFirst->POA_SALOMEDS::AttributeTreeNode::_this();
147 #else
148   return aFirst->AttributeTreeNode::_this();
149 #endif
150 }
151
152 void SALOMEDS_AttributeTreeNode_i::SetTreeID(const char* value) 
153 {
154   SALOMEDS::Locker lock;
155   CheckLocked();
156   SALOMEDSImpl_AttributeTreeNode* aNode = dynamic_cast<SALOMEDSImpl_AttributeTreeNode*>(_impl);
157   aNode->SetTreeID(value);
158 }
159
160 char* SALOMEDS_AttributeTreeNode_i::GetTreeID() 
161 {
162   SALOMEDS::Locker lock;
163   SALOMEDSImpl_AttributeTreeNode* aNode = dynamic_cast<SALOMEDSImpl_AttributeTreeNode*>(_impl);
164   return CORBA::String_var(CORBA::string_dup(aNode->ID().c_str()))._retn();
165 }
166
167 void SALOMEDS_AttributeTreeNode_i::Append(SALOMEDS::AttributeTreeNode_ptr value) 
168 {
169   SALOMEDS::Locker lock;
170   CheckLocked();
171   SALOMEDSImpl_AttributeTreeNode* aNode = dynamic_cast<SALOMEDSImpl_AttributeTreeNode*>(_impl);
172   aNode->Append(GetNode(value, aNode));
173 }
174
175 void SALOMEDS_AttributeTreeNode_i::Prepend(SALOMEDS::AttributeTreeNode_ptr value) 
176 {
177   SALOMEDS::Locker lock;
178   CheckLocked();
179   SALOMEDSImpl_AttributeTreeNode* aNode = dynamic_cast<SALOMEDSImpl_AttributeTreeNode*>(_impl);
180   aNode->Prepend(GetNode(value, aNode));
181 }
182
183 void SALOMEDS_AttributeTreeNode_i::InsertBefore(SALOMEDS::AttributeTreeNode_ptr value) 
184 {
185   SALOMEDS::Locker lock;
186   CheckLocked();
187   SALOMEDSImpl_AttributeTreeNode* aNode = dynamic_cast<SALOMEDSImpl_AttributeTreeNode*>(_impl);
188   aNode->InsertBefore(GetNode(value, aNode));
189 }
190
191 void SALOMEDS_AttributeTreeNode_i::InsertAfter(SALOMEDS::AttributeTreeNode_ptr value) 
192 {
193   SALOMEDS::Locker lock;
194   CheckLocked();
195   SALOMEDSImpl_AttributeTreeNode* aNode = dynamic_cast<SALOMEDSImpl_AttributeTreeNode*>(_impl);
196   aNode->InsertAfter(GetNode(value, aNode));
197 }
198
199 void SALOMEDS_AttributeTreeNode_i::Remove() 
200 {
201   SALOMEDS::Locker lock;
202   CheckLocked();
203   SALOMEDSImpl_AttributeTreeNode* aNode = dynamic_cast<SALOMEDSImpl_AttributeTreeNode*>(_impl);
204   aNode->Remove();
205 }
206
207 CORBA::Long SALOMEDS_AttributeTreeNode_i::Depth() 
208 {
209   SALOMEDS::Locker lock;
210   SALOMEDSImpl_AttributeTreeNode* aNode = dynamic_cast<SALOMEDSImpl_AttributeTreeNode*>(_impl);
211   return aNode->Depth();
212 }
213
214 CORBA::Boolean SALOMEDS_AttributeTreeNode_i::IsRoot() 
215 {
216   SALOMEDS::Locker lock;
217   SALOMEDSImpl_AttributeTreeNode* aNode = dynamic_cast<SALOMEDSImpl_AttributeTreeNode*>(_impl);
218   return aNode->IsRoot();
219 }
220
221 CORBA::Boolean SALOMEDS_AttributeTreeNode_i::IsDescendant(SALOMEDS::AttributeTreeNode_ptr value) 
222 {
223   SALOMEDS::Locker lock;
224   SALOMEDSImpl_AttributeTreeNode* aNode = dynamic_cast<SALOMEDSImpl_AttributeTreeNode*>(_impl);
225   return aNode->IsDescendant(GetNode(value, aNode));
226 }
227
228 CORBA::Boolean SALOMEDS_AttributeTreeNode_i::IsFather(SALOMEDS::AttributeTreeNode_ptr value) 
229 {
230   SALOMEDS::Locker lock;
231   SALOMEDSImpl_AttributeTreeNode* aNode = dynamic_cast<SALOMEDSImpl_AttributeTreeNode*>(_impl);
232   return aNode->IsFather(GetNode(value, aNode));
233 }
234
235 CORBA::Boolean SALOMEDS_AttributeTreeNode_i::IsChild(SALOMEDS::AttributeTreeNode_ptr value) 
236 {
237   SALOMEDS::Locker lock;
238   SALOMEDSImpl_AttributeTreeNode* aNode = dynamic_cast<SALOMEDSImpl_AttributeTreeNode*>(_impl);
239   return aNode->IsChild(GetNode(value, aNode));
240 }
241
242 char* SALOMEDS_AttributeTreeNode_i::Label() 
243 {
244   SALOMEDS::Locker lock;
245   return CORBA::String_var(CORBA::string_dup(_impl->Label().Entry().c_str()))._retn();
246 }
247