Version: 8.3.0
Main Page
Related Pages
Packages
Data Structures
Files
File List
Globals
SALOMEDSImpl_Attributes.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_Attributes.hxx
24
// Author : Sergey RUIN
25
// Module : SALOME
26
//
27
#ifndef __SALOMEDSIMPL_ATTRIBUTES__H__
28
#define __SALOMEDSIMPL_ATTRIBUTES__H__
29
30
#include "
SALOMEDSImpl_Defines.hxx
"
31
32
#include <iostream>
33
class
SALOMEDSIMPL_EXPORT
LockProtection
34
{
35
public
:
36
LockProtection
(
const
char
*message) {
37
std::cerr << message << std::endl;
38
}
39
};
40
41
#include "
SALOMEDSImpl_GenericAttribute.hxx
"
42
#include "
SALOMEDSImpl_AttributeName.hxx
"
43
#include "
SALOMEDSImpl_AttributeComment.hxx
"
44
#include "
SALOMEDSImpl_AttributeInteger.hxx
"
45
#include "
SALOMEDSImpl_AttributeReal.hxx
"
46
#include "
SALOMEDSImpl_AttributeTreeNode.hxx
"
47
#include "
SALOMEDSImpl_AttributeUserID.hxx
"
48
#include "
SALOMEDSImpl_AttributeReference.hxx
"
49
#include "
SALOMEDSImpl_AttributeSequenceOfReal.hxx
"
50
#include "
SALOMEDSImpl_AttributeSequenceOfInteger.hxx
"
51
#include "
SALOMEDSImpl_AttributeIOR.hxx
"
52
#include "
SALOMEDSImpl_AttributePersistentRef.hxx
"
53
#include "
SALOMEDSImpl_AttributeDrawable.hxx
"
54
#include "
SALOMEDSImpl_AttributeSelectable.hxx
"
55
#include "
SALOMEDSImpl_AttributeExpandable.hxx
"
56
#include "
SALOMEDSImpl_AttributeOpened.hxx
"
57
#include "
SALOMEDSImpl_AttributeTextColor.hxx
"
58
#include "
SALOMEDSImpl_AttributeTextHighlightColor.hxx
"
59
#include "
SALOMEDSImpl_AttributePixMap.hxx
"
60
#include "
SALOMEDSImpl_AttributeLocalID.hxx
"
61
#include "
SALOMEDSImpl_AttributeTarget.hxx
"
62
#include "
SALOMEDSImpl_AttributeTableOfInteger.hxx
"
63
#include "
SALOMEDSImpl_AttributeTableOfReal.hxx
"
64
#include "
SALOMEDSImpl_AttributeTableOfString.hxx
"
65
#include "
SALOMEDSImpl_AttributeStudyProperties.hxx
"
66
#include "
SALOMEDSImpl_AttributePythonObject.hxx
"
67
#include "
SALOMEDSImpl_AttributeExternalFileDef.hxx
"
68
#include "
SALOMEDSImpl_AttributeFileType.hxx
"
69
#include "
SALOMEDSImpl_AttributeFlags.hxx
"
70
#include "
SALOMEDSImpl_AttributeGraphic.hxx
"
71
#include "
SALOMEDSImpl_AttributeParameter.hxx
"
72
#include "
SALOMEDSImpl_AttributeString.hxx
"
73
74
75
#define __AttributeTypeToGUIDForSObject \
76
if(theType == "AttributeReal") return SALOMEDSImpl_AttributeReal::GetID(); \
77
if(theType == "AttributeInteger") return SALOMEDSImpl_AttributeInteger::GetID(); \
78
if(theType == "AttributeSequenceOfReal") return SALOMEDSImpl_AttributeSequenceOfReal::GetID(); \
79
if(theType == "AttributeSequenceOfInteger") return SALOMEDSImpl_AttributeSequenceOfInteger::GetID(); \
80
if(theType == "AttributeName") return SALOMEDSImpl_AttributeName::GetID(); \
81
if(theType == "AttributeComment") return SALOMEDSImpl_AttributeComment::GetID(); \
82
if(theType == "AttributeIOR") return SALOMEDSImpl_AttributeIOR::GetID(); \
83
if(theType == "AttributePersistentRef") return SALOMEDSImpl_AttributePersistentRef::GetID(); \
84
if(theType == "AttributeDrawable") return SALOMEDSImpl_AttributeDrawable::GetID(); \
85
if(theType == "AttributeSelectable") return SALOMEDSImpl_AttributeSelectable::GetID(); \
86
if(theType == "AttributeExpandable") return SALOMEDSImpl_AttributeExpandable::GetID(); \
87
if(theType == "AttributeOpened") return SALOMEDSImpl_AttributeOpened::GetID(); \
88
if(theType == "AttributeTextColor") return SALOMEDSImpl_AttributeTextColor::GetID(); \
89
if(theType == "AttributeTextHighlightColor") return SALOMEDSImpl_AttributeTextHighlightColor::GetID(); \
90
if(theType == "AttributePixMap") return SALOMEDSImpl_AttributePixMap::GetID(); \
91
if(theType == "AttributeLocalID") return SALOMEDSImpl_AttributeLocalID::GetID(); \
92
if(theType == "AttributeTarget") return SALOMEDSImpl_AttributeTarget::GetID(); \
93
if(theType == "AttributeTableOfInteger") return SALOMEDSImpl_AttributeTableOfInteger::GetID(); \
94
if(theType == "AttributeTableOfReal") return SALOMEDSImpl_AttributeTableOfReal::GetID(); \
95
if(theType == "AttributeTableOfString") return SALOMEDSImpl_AttributeTableOfString::GetID(); \
96
if(theType == "AttributeStudyProperties") return SALOMEDSImpl_AttributeStudyProperties::GetID(); \
97
if(theType == "AttributePythonObject") return SALOMEDSImpl_AttributePythonObject::GetID(); \
98
if(theType == "AttributeUserID") return std::string("FFFFFFFF-D9CD-11d6-945D-1050DA506788"); \
99
if(theType == "AttributeExternalFileDef") return SALOMEDSImpl_AttributeExternalFileDef::GetID(); \
100
if(theType == "AttributeFileType") return SALOMEDSImpl_AttributeFileType::GetID(); \
101
if(theType == "AttributeFlags") return SALOMEDSImpl_AttributeFlags::GetID(); \
102
if(theType == "AttributeGraphic") return SALOMEDSImpl_AttributeGraphic::GetID(); \
103
if(theType == "AttributeReference") return SALOMEDSImpl_AttributeReference::GetID(); \
104
if(theType == "AttributeParameter") return SALOMEDSImpl_AttributeParameter::GetID(); \
105
if(theType == "AttributeString") return SALOMEDSImpl_AttributeString::GetID();
106
107
108
#define __FindOrCreateAttributeLocked(ClassName) if (strcmp(aTypeOfAttribute.c_str(), #ClassName) == 0) { \
109
SALOMEDSImpl_##ClassName* anAttr; \
110
if (!(anAttr=(SALOMEDSImpl_##ClassName*)Lab.FindAttribute(SALOMEDSImpl_##ClassName::GetID()))) { \
111
CheckLocked(); \
112
anAttr = new SALOMEDSImpl_##ClassName; \
113
Lab.AddAttribute(anAttr); \
114
} \
115
return anAttr; \
116
}
117
118
#define __FindOrCreateAttribute(ClassName) if (strcmp(aTypeOfAttribute.c_str(), #ClassName) == 0) { \
119
SALOMEDSImpl_##ClassName* anAttr; \
120
if (!(anAttr=(SALOMEDSImpl_##ClassName*)Lab.FindAttribute(SALOMEDSImpl_##ClassName::GetID()))) { \
121
anAttr = new SALOMEDSImpl_##ClassName; \
122
Lab.AddAttribute(anAttr); \
123
} \
124
return anAttr; \
125
}
126
127
#define __FindOrCreateAttributeForBuilder \
128
__FindOrCreateAttributeLocked(AttributeReal) \
129
__FindOrCreateAttributeLocked(AttributeInteger) \
130
__FindOrCreateAttributeLocked(AttributeSequenceOfReal) \
131
__FindOrCreateAttributeLocked(AttributeSequenceOfInteger) \
132
__FindOrCreateAttributeLocked(AttributeName) \
133
__FindOrCreateAttributeLocked(AttributeComment) \
134
__FindOrCreateAttributeLocked(AttributeIOR) \
135
__FindOrCreateAttributeLocked(AttributePixMap) \
136
__FindOrCreateAttributeLocked(AttributeLocalID) \
137
__FindOrCreateAttributeLocked(AttributeTableOfInteger) \
138
__FindOrCreateAttributeLocked(AttributeTableOfReal) \
139
__FindOrCreateAttributeLocked(AttributeTableOfString) \
140
__FindOrCreateAttributeLocked(AttributePythonObject) \
141
__FindOrCreateAttributeLocked(AttributeParameter) \
142
__FindOrCreateAttributeLocked(AttributeString) \
143
__FindOrCreateAttribute(AttributePersistentRef) \
144
__FindOrCreateAttribute(AttributeDrawable) \
145
__FindOrCreateAttribute(AttributeSelectable) \
146
__FindOrCreateAttribute(AttributeExpandable) \
147
__FindOrCreateAttribute(AttributeOpened) \
148
__FindOrCreateAttribute(AttributeTextColor) \
149
__FindOrCreateAttribute(AttributeTextHighlightColor) \
150
__FindOrCreateAttribute(AttributeTarget) \
151
__FindOrCreateAttribute(AttributeStudyProperties) \
152
__FindOrCreateAttribute(AttributeExternalFileDef) \
153
__FindOrCreateAttribute(AttributeFileType) \
154
__FindOrCreateAttribute(AttributeFlags) \
155
__FindOrCreateAttribute(AttributeGraphic)
156
157
158
#endif
src
SALOMEDSImpl
SALOMEDSImpl_Attributes.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