Version: 9.16.0
SALOMEDSImpl_AttributeTreeNode.hxx
Go to the documentation of this file.
1// Copyright (C) 2007-2026 CEA, EDF, 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 : SALOMEDSImpl_AttributeTreeNode.hxx
24// Author : Sergey RUIN
25// Module : SALOME
26//
27#ifndef _SALOMEDSImpl_AttributeTreeNode_HeaderFile
28#define _SALOMEDSImpl_AttributeTreeNode_HeaderFile
29
31#include "DF_Attribute.hxx"
32#include "DF_Label.hxx"
33#include <string>
35
38{
39public:
40
41 const static std::string& GetDefaultTreeID();
42 static SALOMEDSImpl_AttributeTreeNode* Set(const DF_Label& L, const std::string& ID);
43
45 void SetFather(const SALOMEDSImpl_AttributeTreeNode* value);
46 void SetPrevious(const SALOMEDSImpl_AttributeTreeNode* value);
47 void SetNext(const SALOMEDSImpl_AttributeTreeNode* value);
48 void SetFirst(const SALOMEDSImpl_AttributeTreeNode* value);
49 void SetTreeID(const std::string& value);
50
51 bool Append(SALOMEDSImpl_AttributeTreeNode* value, int* childIndex = 0 );
52 bool Prepend(SALOMEDSImpl_AttributeTreeNode* value);
53 bool Remove();
54 bool InsertBefore(SALOMEDSImpl_AttributeTreeNode* value);
55 bool InsertAfter(SALOMEDSImpl_AttributeTreeNode* value);
56
57 SALOMEDSImpl_AttributeTreeNode* GetFather() const { return myFather; }
58 SALOMEDSImpl_AttributeTreeNode* GetPrevious() const { return myPrevious; }
59 SALOMEDSImpl_AttributeTreeNode* GetNext() const { return myNext; }
60 SALOMEDSImpl_AttributeTreeNode* GetFirst() const { return myFirst; }
61
62 bool HasFather() { return (myFather); }
63 bool HasPrevious() { return (myPrevious); }
64 bool HasNext() {return (myNext); }
65 bool HasFirst() { return (myFirst); }
66 const std::string& GetTreeID() { return ID(); }
67 int Depth() const;
68 bool IsRoot() const ;
70 bool IsAscendant (const SALOMEDSImpl_AttributeTreeNode* ofTN) const;
71 bool IsDescendant(const SALOMEDSImpl_AttributeTreeNode* value) const;
72 bool IsFather(const SALOMEDSImpl_AttributeTreeNode* value) const;
73 bool IsChild(const SALOMEDSImpl_AttributeTreeNode* value) const;
74
75 virtual std::string Save();
76 virtual void Load(const std::string&);
77 virtual std::string Type();
78
79 const std::string& ID() const;
80 void Restore(DF_Attribute* with) ;
81 void Paste(DF_Attribute* into);
82 DF_Attribute* NewEmpty() const;
84
85 virtual void AfterAddition();
86 virtual void BeforeForget();
87
88private:
89
90 std::string myTreeID;
95
97
98};
99
100#endif
#define SALOMEDSIMPL_EXPORT
Definition: SALOMEDSImpl_Defines.hxx:34
Definition: DF_Attribute.hxx:30
virtual void Restore(DF_Attribute *theAttribute)=0
virtual void AfterAddition()
Definition: DF_Attribute.hxx:68
virtual const std::string & ID() const =0
virtual std::string Save()
Definition: DF_Attribute.hxx:47
virtual DF_Attribute * NewEmpty() const =0
virtual void Load(const std::string &)
Definition: DF_Attribute.hxx:48
virtual void BeforeForget()
Definition: DF_Attribute.hxx:69
virtual void Paste(DF_Attribute *theIntoAttribute)=0
Definition: DF_Label.hxx:65
Definition: SALOMEDSImpl_AttributeTreeNode.hxx:38
SALOMEDSImpl_AttributeTreeNode * myNext
Definition: SALOMEDSImpl_AttributeTreeNode.hxx:93
bool HasPrevious()
Definition: SALOMEDSImpl_AttributeTreeNode.hxx:63
SALOMEDSImpl_AttributeTreeNode * myPrevious
Definition: SALOMEDSImpl_AttributeTreeNode.hxx:92
SALOMEDSImpl_AttributeTreeNode * myFather
Definition: SALOMEDSImpl_AttributeTreeNode.hxx:91
bool HasFather()
Definition: SALOMEDSImpl_AttributeTreeNode.hxx:62
const std::string & GetTreeID()
Definition: SALOMEDSImpl_AttributeTreeNode.hxx:66
SALOMEDSImpl_AttributeTreeNode * GetFirst() const
Definition: SALOMEDSImpl_AttributeTreeNode.hxx:60
SALOMEDSImpl_AttributeTreeNode * myFirst
Definition: SALOMEDSImpl_AttributeTreeNode.hxx:94
SALOMEDSImpl_AttributeTreeNode * GetNext() const
Definition: SALOMEDSImpl_AttributeTreeNode.hxx:59
bool HasNext()
Definition: SALOMEDSImpl_AttributeTreeNode.hxx:64
~SALOMEDSImpl_AttributeTreeNode()
Definition: SALOMEDSImpl_AttributeTreeNode.hxx:83
SALOMEDSImpl_AttributeTreeNode * GetPrevious() const
Definition: SALOMEDSImpl_AttributeTreeNode.hxx:58
SALOMEDSImpl_AttributeTreeNode * GetFather() const
Definition: SALOMEDSImpl_AttributeTreeNode.hxx:57
std::string myTreeID
Definition: SALOMEDSImpl_AttributeTreeNode.hxx:90
bool HasFirst()
Definition: SALOMEDSImpl_AttributeTreeNode.hxx:65
Definition: SALOMEDSImpl_ChildNodeIterator.hxx:30
Definition: SALOMEDSImpl_GenericAttribute.hxx:39
virtual std::string Type()
Definition: SALOMEDSImpl_GenericAttribute.cxx:55
string ID
Main identifier of an object in SALOME application.
Definition: SALOMEDS.idl:48