Salome HOME
cb589bb5da2665da2121d520053171bed969f7d9
[modules/kernel.git] / src / SALOMEDS / SALOMEDS_AttributeTreeNode_i.cxx
1 using namespace std;
2 //  File      : SALOMEDS_AttributeTreeNode_i.cxx
3 //  Created   : Fri Aug 02 14:25:13 2002
4 //  Author    : Yves FRICAUD
5
6 //  Project   : SALOME
7 //  Module    : SALOMEDS
8 //  Copyright : Open CASCADE 2002
9 //  $Header: 
10
11
12 #include "SALOMEDS_AttributeTreeNode_i.hxx"
13 #include "SALOMEDS_SObject_i.hxx"
14 #include "utilities.h"
15
16 static Handle(TDataStd_TreeNode) GetNode(SALOMEDS::AttributeTreeNode_ptr value,
17                                          const Handle(TDataStd_TreeNode)& aNode) {
18   Handle(TDataStd_TreeNode) aResult = new TDataStd_TreeNode;
19   CORBA::String_var aString = CORBA::string_dup(value->Label());
20   TDF_Label aLabel;
21   TDF_Tool::Label(aNode->Label().Data(), TCollection_AsciiString(aString), aLabel, 0);
22   if (aLabel.IsNull()) {
23     MESSAGE("SALOMEDS_AttributeTreeNode_i class: no such label")
24     MESSAGE("SALOMEDS_AttributeTreeNode_i class: no such label")
25     return aResult;
26   }
27   if (!aLabel.FindAttribute(aNode->ID(), aResult)) {
28     MESSAGE("SALOMEDS_AttributeTreeNode_i class: no such attribute")
29     MESSAGE("SALOMEDS_AttributeTreeNode_i class: no such attribute")
30   }
31   return aResult;
32 }
33
34 void SALOMEDS_AttributeTreeNode_i::SetFather(SALOMEDS::AttributeTreeNode_ptr value) {
35   CheckLocked();
36   Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
37   aNode->SetFather(GetNode(value, aNode));
38 }
39
40 CORBA::Boolean SALOMEDS_AttributeTreeNode_i::HasFather() {
41   return Handle(TDataStd_TreeNode)::DownCast(_myAttr)->HasFather();
42 }
43
44 SALOMEDS::AttributeTreeNode_ptr SALOMEDS_AttributeTreeNode_i::GetFather() {
45   SALOMEDS_AttributeTreeNode_i* aFather = new SALOMEDS_AttributeTreeNode_i(Handle(TDataStd_TreeNode)::DownCast(_myAttr)->Father(), _myOrb);
46   return aFather->POA_SALOMEDS::AttributeTreeNode::_this();
47 }
48
49 void SALOMEDS_AttributeTreeNode_i::SetPrevious(SALOMEDS::AttributeTreeNode_ptr value) {
50   CheckLocked();
51   Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
52   aNode->SetPrevious(GetNode(value, aNode));
53 }
54
55 CORBA::Boolean SALOMEDS_AttributeTreeNode_i::HasPrevious() {
56   return Handle(TDataStd_TreeNode)::DownCast(_myAttr)->HasPrevious();
57 }
58
59 SALOMEDS::AttributeTreeNode_ptr SALOMEDS_AttributeTreeNode_i::GetPrevious() {
60   SALOMEDS_AttributeTreeNode_i* aPrevious = new SALOMEDS_AttributeTreeNode_i(Handle(TDataStd_TreeNode)::DownCast(_myAttr)->Previous(), _myOrb);
61   return aPrevious->POA_SALOMEDS::AttributeTreeNode::_this();
62 }
63
64 void SALOMEDS_AttributeTreeNode_i::SetNext(SALOMEDS::AttributeTreeNode_ptr value) {
65   CheckLocked();
66   Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
67   aNode->SetNext(GetNode(value, aNode));
68 }
69
70 CORBA::Boolean SALOMEDS_AttributeTreeNode_i::HasNext() {
71   return Handle(TDataStd_TreeNode)::DownCast(_myAttr)->HasNext();
72 }
73
74 SALOMEDS::AttributeTreeNode_ptr SALOMEDS_AttributeTreeNode_i::GetNext() {
75   SALOMEDS_AttributeTreeNode_i* aNext = new SALOMEDS_AttributeTreeNode_i(Handle(TDataStd_TreeNode)::DownCast(_myAttr)->Next(), _myOrb);
76   return aNext->POA_SALOMEDS::AttributeTreeNode::_this();
77 }
78
79 void SALOMEDS_AttributeTreeNode_i::SetFirst(SALOMEDS::AttributeTreeNode_ptr value) {
80   CheckLocked();
81   Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
82   aNode->SetFirst(GetNode(value, aNode));
83 }
84
85 CORBA::Boolean SALOMEDS_AttributeTreeNode_i::HasFirst() {
86   return Handle(TDataStd_TreeNode)::DownCast(_myAttr)->HasFirst();
87 }
88
89 SALOMEDS::AttributeTreeNode_ptr SALOMEDS_AttributeTreeNode_i::GetFirst() {
90   SALOMEDS_AttributeTreeNode_i* aFirst = new SALOMEDS_AttributeTreeNode_i(Handle(TDataStd_TreeNode)::DownCast(_myAttr)->First(), _myOrb);
91   return aFirst->POA_SALOMEDS::AttributeTreeNode::_this();
92 }
93
94 void SALOMEDS_AttributeTreeNode_i::SetTreeID(const char* value) {
95   CheckLocked();
96   Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
97   aNode->SetTreeID(Standard_GUID(aNode->ID()));
98 }
99
100 char* SALOMEDS_AttributeTreeNode_i::GetTreeID() {
101   Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
102   char aGUID[40];
103   aNode->ID().ToCString(aGUID);
104   return CORBA::String_var(CORBA::string_dup(aGUID))._retn();
105 }
106
107 void SALOMEDS_AttributeTreeNode_i::Append(SALOMEDS::AttributeTreeNode_ptr value) {
108   CheckLocked();
109   Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
110   aNode->Append(GetNode(value, aNode));
111 }
112
113 void SALOMEDS_AttributeTreeNode_i::Prepend(SALOMEDS::AttributeTreeNode_ptr value) {
114   CheckLocked();
115   Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
116   aNode->Prepend(GetNode(value, aNode));
117 }
118
119 void SALOMEDS_AttributeTreeNode_i::InsertBefore(SALOMEDS::AttributeTreeNode_ptr value) {
120   CheckLocked();
121   Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
122   aNode->InsertBefore(GetNode(value, aNode));
123 }
124
125 void SALOMEDS_AttributeTreeNode_i::InsertAfter(SALOMEDS::AttributeTreeNode_ptr value) {
126   CheckLocked();
127   Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
128   aNode->InsertAfter(GetNode(value, aNode));
129 }
130
131 void SALOMEDS_AttributeTreeNode_i::Remove() {
132   CheckLocked();
133   Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
134   aNode->Remove();
135 }
136
137 CORBA::Long SALOMEDS_AttributeTreeNode_i::Depth() {
138   Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
139   return aNode->Depth();
140 }
141
142 CORBA::Boolean SALOMEDS_AttributeTreeNode_i::IsRoot() {
143   Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
144   return aNode->IsRoot();
145 }
146
147 CORBA::Boolean SALOMEDS_AttributeTreeNode_i::IsDescendant(SALOMEDS::AttributeTreeNode_ptr value) {
148   Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
149   return aNode->IsDescendant(GetNode(value, aNode));
150 }
151
152 CORBA::Boolean SALOMEDS_AttributeTreeNode_i::IsFather(SALOMEDS::AttributeTreeNode_ptr value) {
153   Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
154   return aNode->IsFather(GetNode(value, aNode));
155 }
156
157 CORBA::Boolean SALOMEDS_AttributeTreeNode_i::IsChild(SALOMEDS::AttributeTreeNode_ptr value) {
158   Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
159   return aNode->IsChild(GetNode(value, aNode));
160 }
161
162 char* SALOMEDS_AttributeTreeNode_i::Label() {
163   TCollection_AsciiString aLabelName;
164   TDF_Tool::Entry(_myAttr->Label(),aLabelName);
165   return CORBA::String_var(CORBA::string_dup(aLabelName.ToCString()))._retn();
166 }