2 // File : SALOMEDS_AttributeTreeNode_i.cxx
3 // Created : Fri Aug 02 14:25:13 2002
4 // Author : Yves FRICAUD
8 // Copyright : Open CASCADE 2002
12 #include "SALOMEDS_AttributeTreeNode_i.hxx"
13 #include "SALOMEDS_SObject_i.hxx"
14 #include "utilities.h"
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());
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")
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")
34 void SALOMEDS_AttributeTreeNode_i::SetFather(SALOMEDS::AttributeTreeNode_ptr value) {
36 Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
37 aNode->SetFather(GetNode(value, aNode));
40 CORBA::Boolean SALOMEDS_AttributeTreeNode_i::HasFather() {
41 return Handle(TDataStd_TreeNode)::DownCast(_myAttr)->HasFather();
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();
49 void SALOMEDS_AttributeTreeNode_i::SetPrevious(SALOMEDS::AttributeTreeNode_ptr value) {
51 Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
52 aNode->SetPrevious(GetNode(value, aNode));
55 CORBA::Boolean SALOMEDS_AttributeTreeNode_i::HasPrevious() {
56 return Handle(TDataStd_TreeNode)::DownCast(_myAttr)->HasPrevious();
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();
64 void SALOMEDS_AttributeTreeNode_i::SetNext(SALOMEDS::AttributeTreeNode_ptr value) {
66 Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
67 aNode->SetNext(GetNode(value, aNode));
70 CORBA::Boolean SALOMEDS_AttributeTreeNode_i::HasNext() {
71 return Handle(TDataStd_TreeNode)::DownCast(_myAttr)->HasNext();
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();
79 void SALOMEDS_AttributeTreeNode_i::SetFirst(SALOMEDS::AttributeTreeNode_ptr value) {
81 Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
82 aNode->SetFirst(GetNode(value, aNode));
85 CORBA::Boolean SALOMEDS_AttributeTreeNode_i::HasFirst() {
86 return Handle(TDataStd_TreeNode)::DownCast(_myAttr)->HasFirst();
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();
94 void SALOMEDS_AttributeTreeNode_i::SetTreeID(const char* value) {
96 Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
97 aNode->SetTreeID(Standard_GUID(aNode->ID()));
100 char* SALOMEDS_AttributeTreeNode_i::GetTreeID() {
101 Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
103 aNode->ID().ToCString(aGUID);
104 return CORBA::String_var(CORBA::string_dup(aGUID))._retn();
107 void SALOMEDS_AttributeTreeNode_i::Append(SALOMEDS::AttributeTreeNode_ptr value) {
109 Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
110 aNode->Append(GetNode(value, aNode));
113 void SALOMEDS_AttributeTreeNode_i::Prepend(SALOMEDS::AttributeTreeNode_ptr value) {
115 Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
116 aNode->Prepend(GetNode(value, aNode));
119 void SALOMEDS_AttributeTreeNode_i::InsertBefore(SALOMEDS::AttributeTreeNode_ptr value) {
121 Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
122 aNode->InsertBefore(GetNode(value, aNode));
125 void SALOMEDS_AttributeTreeNode_i::InsertAfter(SALOMEDS::AttributeTreeNode_ptr value) {
127 Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
128 aNode->InsertAfter(GetNode(value, aNode));
131 void SALOMEDS_AttributeTreeNode_i::Remove() {
133 Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
137 CORBA::Long SALOMEDS_AttributeTreeNode_i::Depth() {
138 Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
139 return aNode->Depth();
142 CORBA::Boolean SALOMEDS_AttributeTreeNode_i::IsRoot() {
143 Handle(TDataStd_TreeNode) aNode = Handle(TDataStd_TreeNode)::DownCast(_myAttr);
144 return aNode->IsRoot();
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));
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));
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));
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();