Version: 8.3.0
Main Page
Related Pages
Packages
Data Structures
Files
File List
Globals
SALOMEDSImpl_AttributeTreeNode.hxx
Go to the documentation of this file.
1
// Copyright (C) 2007-2016 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 : SALOMEDSImpl_AttributeTreeNode.hxx
24
// Author : Sergey RUIN
25
// Module : SALOME
26
//
27
#ifndef _SALOMEDSImpl_AttributeTreeNode_HeaderFile
28
#define _SALOMEDSImpl_AttributeTreeNode_HeaderFile
29
30
#include "
SALOMEDSImpl_Defines.hxx
"
31
#include "
DF_Attribute.hxx
"
32
#include "
DF_Label.hxx
"
33
#include <string>
34
#include "
SALOMEDSImpl_GenericAttribute.hxx
"
35
36
class
SALOMEDSIMPL_EXPORT
SALOMEDSImpl_AttributeTreeNode
:
37
public
SALOMEDSImpl_GenericAttribute
38
{
39
public
:
40
41
const
static
std::string& GetDefaultTreeID();
42
static
SALOMEDSImpl_AttributeTreeNode
* Set(
const
DF_Label
& L,
const
std::string&
ID
);
43
44
SALOMEDSImpl_AttributeTreeNode
();
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);
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
;
69
SALOMEDSImpl_AttributeTreeNode
* Root()
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
;
83
~SALOMEDSImpl_AttributeTreeNode
() {;}
84
85
virtual
void
AfterAddition
();
86
virtual
void
BeforeForget
();
87
88
private
:
89
90
std::string
myTreeID
;
91
SALOMEDSImpl_AttributeTreeNode
*
myFather
;
92
SALOMEDSImpl_AttributeTreeNode
*
myPrevious
;
93
SALOMEDSImpl_AttributeTreeNode
*
myNext
;
94
SALOMEDSImpl_AttributeTreeNode
*
myFirst
;
95
96
friend
class
SALOMEDSImpl_ChildNodeIterator
;
97
98
};
99
100
#endif
src
SALOMEDSImpl
SALOMEDSImpl_AttributeTreeNode.hxx
Copyright © 2007-2017 CEA/DEN, EDF R&D, OPEN CASCADE
Copyright © 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS