Version: 9.16.0
DDS_DicItem.h
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#ifndef DDS_DICITEM_H
24#define DDS_DICITEM_H
25
26#include "DDS.h"
27
28#include <Standard_Transient.hxx>
29
30#include <TCollection_AsciiString.hxx>
31
32#include <TColStd_HArray1OfInteger.hxx>
33#include <TColStd_HArray1OfExtendedString.hxx>
34
35#include <NCollection_DataMap.hxx>
36#include <NCollection_IndexedDataMap.hxx>
37
38#include <TColStd_MapOfReal.hxx>
39#include <TColStd_SequenceOfInteger.hxx>
40#include <TColStd_SequenceOfAsciiString.hxx>
41#include <TColStd_SequenceOfExtendedString.hxx>
42
43class LDOM_Element;
44class DDS_Dictionary;
45
46// Class, containing all information about one parameter:
47// unique : id
48// obligative: label, type, short description, required
49// optional : format, units,
50// min value, max value, default value.
51
53{
54public:
56 enum Type
57 {
62 Unknown
63 };
64
66 enum Data
67 {
68 MinValue = 0x01,
69 MaxValue = 0x02,
70 DefaultValue = 0x04
71 };
72
73 // This struct is intended for map of Format, Units, Precision and Scale
74 struct UnitData
75 {
76 Standard_Real myZero;
77 Standard_Real myScale;
78 TCollection_AsciiString myUnits;
79 TCollection_AsciiString myFormat;
80 Standard_Integer myPrecision;
81 };
82
83 typedef TCollection_AsciiString UnitSystem;
84
85public:
86 Standard_EXPORT DDS_DicItem();
87
88 Standard_EXPORT TCollection_AsciiString GetId() const;
89 Standard_EXPORT DDS_DicItem::Type GetType() const;
90 Standard_EXPORT TCollection_ExtendedString GetLabel() const;
91 Standard_EXPORT TCollection_ExtendedString GetFilter() const;
92 Standard_EXPORT TCollection_ExtendedString GetRequired() const;
93 Standard_EXPORT DDS_MsgType GetWarningLevel() const;
94 Standard_EXPORT TCollection_ExtendedString GetLongDescription() const;
95 Standard_EXPORT TCollection_ExtendedString GetShortDescription() const;
96 Standard_EXPORT TCollection_AsciiString GetComponent() const;
97
98 Standard_EXPORT virtual TCollection_AsciiString GetUnits() const;
99 Standard_EXPORT virtual TCollection_AsciiString GetUnits( const UnitSystem& ) const;
100
101 Standard_EXPORT TCollection_ExtendedString GetDefaultValue() const;
102 Standard_EXPORT TCollection_ExtendedString GetDefaultValue( const UnitSystem& ) const;
103
104 Standard_EXPORT Standard_Real GetMinValue() const;
105 Standard_EXPORT Standard_Real GetMinValue( const UnitSystem& ) const;
106
107 Standard_EXPORT Standard_Real GetMaxValue() const;
108 Standard_EXPORT Standard_Real GetMaxValue( const UnitSystem& ) const;
109
110 Standard_EXPORT virtual Standard_Integer GetPrecision() const;
111 Standard_EXPORT virtual Standard_Integer GetPrecision( const UnitSystem& ) const;
112
113 Standard_EXPORT virtual TCollection_AsciiString GetFormat( const Standard_Boolean = Standard_True ) const;
114 Standard_EXPORT virtual TCollection_AsciiString GetFormat( const UnitSystem&,
115 const Standard_Boolean = Standard_True ) const;
116 Standard_EXPORT TCollection_ExtendedString GetNameOfValues() const;
117 Standard_EXPORT Standard_Boolean GetListOfValues( Handle(TColStd_HArray1OfExtendedString)&,
118 Handle(TColStd_HArray1OfInteger)& ) const;
119 Standard_EXPORT Standard_Boolean GetListOfValues( Handle(TColStd_HArray1OfExtendedString)&,
120 Handle(TColStd_HArray1OfInteger)&,
121 Handle(TColStd_HArray1OfExtendedString)& ) const;
122 Standard_EXPORT Standard_Boolean GetSpecialValues( TColStd_MapOfReal& ) const;
123
124 Standard_EXPORT Standard_Real GetMinZoom() const;
125 Standard_EXPORT Standard_Real GetMaxZoom() const;
126 Standard_EXPORT Standard_Real GetZoomOrder() const;
127
128 Standard_EXPORT virtual Standard_Real ToSI( const Standard_Real ) const;
129 Standard_EXPORT virtual Standard_Real FromSI( const Standard_Real ) const;
130
131 Standard_EXPORT virtual Standard_Real ToSI( const Standard_Real, const UnitSystem& ) const;
132 Standard_EXPORT virtual Standard_Real FromSI( const Standard_Real, const UnitSystem& ) const;
133
134 Standard_EXPORT Standard_Boolean HasData( const Standard_Integer ) const;
135
136 Standard_EXPORT TCollection_ExtendedString GetOption( const TCollection_AsciiString& ) const;
137 Standard_EXPORT Standard_Boolean GetOptionNames( TColStd_SequenceOfAsciiString& ) const;
138
139protected:
140
141 Standard_EXPORT void SetId( const TCollection_AsciiString& );
142
143 Standard_EXPORT void SetComponent( const Handle(Standard_Transient)& );
144
145 Standard_EXPORT void SetLabel( const TCollection_AsciiString& );
146
147 Standard_EXPORT void SetFilter( const TCollection_AsciiString& );
148
149 Standard_EXPORT void SetRequired( const TCollection_AsciiString& );
150
151 Standard_EXPORT void SetWarningLevel( const Standard_Integer& );
152
153 Standard_EXPORT void SetMinZoom( const Standard_Real& );
154 Standard_EXPORT void SetMaxZoom( const Standard_Real& );
155 Standard_EXPORT void SetZoomOrder( const Standard_Real& );
156
157 Standard_EXPORT void SetShortDescription( const TCollection_ExtendedString& );
158 Standard_EXPORT void SetLongDescription( const TCollection_ExtendedString& );
159
160 Standard_EXPORT bool SetOption( const TCollection_AsciiString&, const TCollection_AsciiString& );
161 Standard_EXPORT void SetType( const DDS_DicItem::Type& );
162
163 Standard_EXPORT void SetMin( const Standard_Real& );
164 Standard_EXPORT void SetMax( const Standard_Real& );
165
166 Standard_EXPORT void SetDefaultValue( const Standard_Real& );
167 Standard_EXPORT void SetDefaultValue( const TCollection_AsciiString& );
168
169 Standard_EXPORT void SetListOfValues( const Handle(TColStd_HArray1OfExtendedString)&,
170 const Handle(TColStd_HArray1OfInteger)& );
171 Standard_EXPORT void SetListOfValues( const Handle(TColStd_HArray1OfExtendedString)&,
172 const Handle(TColStd_HArray1OfInteger)&,
173 const Handle(TColStd_HArray1OfExtendedString)& );
174
175protected:
176
177 Standard_EXPORT DDS_DicItem( const DDS_DicItem& );
178
179 Standard_EXPORT void operator=( const DDS_DicItem& );
180
181 Standard_EXPORT virtual void FillDataMap( TCollection_AsciiString, const LDOM_Element&,
182 const LDOM_Element&, const LDOM_Element&,
183 const TColStd_SequenceOfAsciiString& );
184
185private:
186
187 Standard_EXPORT void PrepareFormats( const TCollection_AsciiString& );
188 Standard_EXPORT void GetDefaultFormat();
189 Standard_EXPORT UnitSystem GetActiveUnitSystem() const;
190
191 Standard_EXPORT void GetStringFormat( const TCollection_AsciiString&,
192 const TCollection_AsciiString&,
193 const TCollection_AsciiString&,
194 const TCollection_AsciiString&,
195 TCollection_AsciiString& );
196 Standard_EXPORT void GetIntegerFormat( const TCollection_AsciiString&,
197 const TCollection_AsciiString&,
198 const TCollection_AsciiString&,
199 const TCollection_AsciiString&,
200 const Standard_Character,
201 TCollection_AsciiString& );
202 Standard_EXPORT void GetFloatFormat( const TCollection_AsciiString&,
203 const TCollection_AsciiString&,
204 const TCollection_AsciiString&,
205 const TCollection_AsciiString&,
206 const Standard_Character,
207 TCollection_AsciiString& );
208 Standard_EXPORT void Split( const TCollection_AsciiString&,
209 Handle(TColStd_HArray1OfExtendedString)& );
210
211 Standard_EXPORT UnitData* GetUnitData( const UnitSystem& ) const;
212
213private:
214 typedef NCollection_DataMap<TCollection_AsciiString, TCollection_ExtendedString> OptionsMap;
215
216private:
217 TCollection_AsciiString myId;
218 TCollection_ExtendedString myLabel;
219 TCollection_ExtendedString myFilter;
220 TCollection_ExtendedString myRequired;
221
222 Standard_Integer myType;
223 Standard_Integer myWarnLevel;
224
225 TCollection_ExtendedString myLongDescr;
226 TCollection_ExtendedString myShortDescr;
227
228 Standard_Real myMax;
229 Standard_Real myMin;
230 Standard_Real myDefValue;
231 TCollection_ExtendedString myDefString;
232
233 Standard_Integer myData;
234
235 // valueList
236 TCollection_ExtendedString myListName;
237
238 Handle(TColStd_HArray1OfExtendedString) myListRef;
239 Handle(TColStd_HArray1OfInteger) myListRefID;
240 Handle(TColStd_HArray1OfExtendedString) myListRefIcons;
241
242 // presentation
243 Standard_Real myMinZoom;
244 Standard_Real myMaxZoom;
245 Standard_Real myZoomOrder;
246
248
250 // unitData
251 NCollection_DataMap<UnitSystem, UnitData> myUnitData;
252
253 friend class DDS_DicGroup;
254
255public:
256 DEFINE_STANDARD_RTTIEXT(DDS_DicItem, Standard_Transient)
257};
258
260
261typedef NCollection_IndexedDataMap<TCollection_AsciiString, Handle(DDS_DicItem)> DDS_IndexedDataMapOfDicItems;
262
263#endif
DDS_MsgType
Definition: DDS.h:30
Handle(DDS_DicItem)> DDS_IndexedDataMapOfDicItems
Get the dictionary item with specified identifier theID.
Definition: DDS_DicGroup.cxx:211
DEFINE_STANDARD_HANDLE(DDS_DicItem, Standard_Transient) typedef NCollection_IndexedDataMap< TCollection_AsciiString
This class provides a set of DDS_DicItem objects from one component.
Definition: DDS_DicGroup.cxx:35
This class provides an information about datum (phisical characteristic parameter).
Definition: DDS_DicItem.h:53
Standard_EXPORT void SetWarningLevel(const Standard_Integer &)
Set item's warning level value.
Definition: DDS_DicItem.cxx:1338
Standard_EXPORT TCollection_ExtendedString GetDefaultValue() const
Get the default value of the parameter for active units system.
Definition: DDS_DicItem.cxx:271
Standard_EXPORT DDS_DicItem()
Standard_Integer myType
Definition: DDS_DicItem.h:222
Standard_EXPORT Standard_Real GetZoomOrder() const
Get order of lateral zooming.
Definition: DDS_DicItem.cxx:471
Standard_EXPORT void PrepareFormats(const TCollection_AsciiString &)
Prepare formats for all units systems.
Definition: DDS_DicItem.cxx:1105
Standard_EXPORT Standard_Real GetMaxZoom() const
Get maximum value of lateral zooming.
Definition: DDS_DicItem.cxx:462
Standard_EXPORT void Split(const TCollection_AsciiString &, Handle(TColStd_HArray1OfExtendedString)&)
Split the string theStr separated by spaces.
Definition: DDS_DicItem.cxx:1230
Standard_EXPORT void GetFloatFormat(const TCollection_AsciiString &, const TCollection_AsciiString &, const TCollection_AsciiString &, const TCollection_AsciiString &, const Standard_Character, TCollection_AsciiString &)
Returns format for the float.
Definition: DDS_DicItem.cxx:1058
Standard_EXPORT void SetType(const DDS_DicItem::Type &)
Set item's type value.
Definition: DDS_DicItem.cxx:1403
Handle(TColStd_HArray1OfExtendedString) myListRefIcons
Standard_EXPORT void SetFilter(const TCollection_AsciiString &)
Set item's filter string.
Definition: DDS_DicItem.cxx:1320
Standard_EXPORT void SetMinZoom(const Standard_Real &)
Set item's minimum zoom value.
Definition: DDS_DicItem.cxx:1347
virtual Standard_EXPORT Standard_Real ToSI(const Standard_Real) const
Convert value theVal to the default SI units according to the active units system.
Definition: DDS_DicItem.cxx:482
Standard_EXPORT void SetShortDescription(const TCollection_ExtendedString &)
Set item's short description.
Definition: DDS_DicItem.cxx:1374
Handle(TColStd_HArray1OfInteger) myListRefID
Standard_EXPORT void SetComponent(const Handle(Standard_Transient)&)
Set item's component pointer.
Definition: DDS_DicItem.cxx:1302
Standard_Real myMax
Definition: DDS_DicItem.h:228
Standard_EXPORT TCollection_ExtendedString GetRequired() const
Get the Required attribute of the parameter.
Definition: DDS_DicItem.cxx:111
Standard_EXPORT void SetLongDescription(const TCollection_ExtendedString &)
Set item's long description.
Definition: DDS_DicItem.cxx:1383
Standard_EXPORT Standard_Real GetMinValue() const
Get the minimum value of the parameter for active units system.
Definition: DDS_DicItem.cxx:189
Standard_EXPORT void SetMaxZoom(const Standard_Real &)
Set item's maximum zoom value.
Definition: DDS_DicItem.cxx:1356
Standard_EXPORT TCollection_ExtendedString GetNameOfValues() const
Get the name of a list referenced by the parameter.
Definition: DDS_DicItem.cxx:372
Standard_Real myMin
Definition: DDS_DicItem.h:229
Standard_EXPORT TCollection_ExtendedString GetShortDescription() const
Get the short description of the parameter.
Definition: DDS_DicItem.cxx:138
Standard_EXPORT TCollection_ExtendedString GetOption(const TCollection_AsciiString &) const
Get option for specified name name.
Definition: DDS_DicItem.cxx:548
TCollection_ExtendedString myShortDescr
Definition: DDS_DicItem.h:226
Standard_Real myDefValue
Definition: DDS_DicItem.h:230
Standard_EXPORT void operator=(const DDS_DicItem &)
Assignment operator (put in private section to prevent object copying).
Definition: DDS_DicItem.cxx:67
Data
Definition: DDS_DicItem.h:67
@ DefaultValue
Flag of default value definition existence.
Definition: DDS_DicItem.h:70
@ MinValue
Flag of minimum value definition existence.
Definition: DDS_DicItem.h:68
@ MaxValue
Flag of maximum value definition existence.
Definition: DDS_DicItem.h:69
Standard_EXPORT void GetDefaultFormat()
Restore default formats for all the units systems.
Definition: DDS_DicItem.cxx:955
virtual Standard_EXPORT TCollection_AsciiString GetUnits() const
Get the parameter measure units for active units system.
Definition: DDS_DicItem.cxx:160
Standard_EXPORT Standard_Boolean GetOptionNames(TColStd_SequenceOfAsciiString &) const
Get names of all existing options.
Definition: DDS_DicItem.cxx:561
TCollection_AsciiString UnitSystem
Definition: DDS_DicItem.h:83
Standard_Real myZoomOrder
Definition: DDS_DicItem.h:245
TCollection_AsciiString myId
Definition: DDS_DicItem.h:217
Standard_Real myMaxZoom
Definition: DDS_DicItem.h:244
virtual Standard_EXPORT Standard_Integer GetPrecision() const
Get the precision (number of digits after decimal point) of the parameter for active units system.
Definition: DDS_DicItem.cxx:239
TCollection_ExtendedString myDefString
Definition: DDS_DicItem.h:231
TCollection_ExtendedString myFilter
Definition: DDS_DicItem.h:219
OptionsMap myOptions
Definition: DDS_DicItem.h:249
Standard_EXPORT Standard_Boolean GetListOfValues(Handle(TColStd_HArray1OfExtendedString)&, Handle(TColStd_HArray1OfInteger)&) const
Get item names and item identifiers of a list referenced by the parameter.
Definition: DDS_DicItem.cxx:390
Standard_EXPORT Standard_Boolean HasData(const Standard_Integer) const
Check data existence.
Definition: DDS_DicItem.cxx:535
Standard_EXPORT void SetId(const TCollection_AsciiString &)
Set item's identify string.
Definition: DDS_DicItem.cxx:1293
NCollection_DataMap< TCollection_AsciiString, TCollection_ExtendedString > OptionsMap
Definition: DDS_DicItem.h:214
Standard_EXPORT UnitSystem GetActiveUnitSystem() const
Get the active units system.
Definition: DDS_DicItem.cxx:1280
Standard_Integer myData
Definition: DDS_DicItem.h:233
Standard_EXPORT void SetDefaultValue(const Standard_Real &)
Set item's default value as a real number.
Definition: DDS_DicItem.cxx:1432
Standard_EXPORT UnitData * GetUnitData(const UnitSystem &) const
Get units structure for specified units system sys.
Definition: DDS_DicItem.cxx:1266
Standard_EXPORT void SetLabel(const TCollection_AsciiString &)
Set item's label string.
Definition: DDS_DicItem.cxx:1311
Standard_EXPORT DDS_MsgType GetWarningLevel() const
Get the wrong value warning level of the parameter.
Definition: DDS_DicItem.cxx:120
Standard_EXPORT Standard_Real GetMaxValue() const
Get the maximum value of the parameter for active units system.
Definition: DDS_DicItem.cxx:215
Standard_EXPORT TCollection_AsciiString GetComponent() const
Get the name of the component (parameter owner).
Definition: DDS_DicItem.cxx:147
Standard_EXPORT void SetMin(const Standard_Real &)
Set item's minimum value.
Definition: DDS_DicItem.cxx:1412
Standard_EXPORT void GetStringFormat(const TCollection_AsciiString &, const TCollection_AsciiString &, const TCollection_AsciiString &, const TCollection_AsciiString &, TCollection_AsciiString &)
Get format for the string.
Definition: DDS_DicItem.cxx:985
Handle(Standard_Transient) myComponent
TCollection_ExtendedString myLabel
Definition: DDS_DicItem.h:218
Standard_EXPORT bool SetOption(const TCollection_AsciiString &, const TCollection_AsciiString &)
Add item's option.
Definition: DDS_DicItem.cxx:1393
Standard_EXPORT TCollection_AsciiString GetId() const
Get the identifier of parameter.
Definition: DDS_DicItem.cxx:75
Standard_EXPORT void SetListOfValues(const Handle(TColStd_HArray1OfExtendedString)&, const Handle(TColStd_HArray1OfInteger)&)
Set item's value list.
Definition: DDS_DicItem.cxx:1452
Standard_EXPORT void SetRequired(const TCollection_AsciiString &)
Set item's required value.
Definition: DDS_DicItem.cxx:1329
TCollection_ExtendedString myLongDescr
Definition: DDS_DicItem.h:225
Standard_EXPORT void SetZoomOrder(const Standard_Real &)
Set item's zoom order value.
Definition: DDS_DicItem.cxx:1365
Standard_EXPORT TCollection_ExtendedString GetLongDescription() const
Get the long description of the parameter.
Definition: DDS_DicItem.cxx:129
TCollection_ExtendedString myRequired
Definition: DDS_DicItem.h:220
Handle(TColStd_HArray1OfExtendedString) myListRef
NCollection_DataMap< UnitSystem, UnitData > myUnitData
Definition: DDS_DicItem.h:251
Standard_EXPORT TCollection_ExtendedString GetLabel() const
Get the label of the parameter.
Definition: DDS_DicItem.cxx:93
Standard_EXPORT Standard_Boolean GetSpecialValues(TColStd_MapOfReal &) const
Get special values of the parameter.
Definition: DDS_DicItem.cxx:430
Standard_Integer myWarnLevel
Definition: DDS_DicItem.h:223
Standard_EXPORT TCollection_ExtendedString GetFilter() const
Get the filter (regular expression) for the parameter values.
Definition: DDS_DicItem.cxx:102
virtual Standard_EXPORT TCollection_AsciiString GetFormat(const Standard_Boolean=Standard_True) const
Get the format string of the parameter for active units system.
Definition: DDS_DicItem.cxx:319
TCollection_ExtendedString myListName
Definition: DDS_DicItem.h:236
Standard_EXPORT DDS_DicItem::Type GetType() const
Get the type of parameter.
Definition: DDS_DicItem.cxx:84
Standard_EXPORT void SetMax(const Standard_Real &)
Set item's maximum value.
Definition: DDS_DicItem.cxx:1422
virtual Standard_EXPORT Standard_Real FromSI(const Standard_Real) const
Convert value theVal from the default SI units according to the active units system.
Definition: DDS_DicItem.cxx:493
Type
Definition: DDS_DicItem.h:57
@ Float
Real (double) numeric type of value.
Definition: DDS_DicItem.h:59
@ Unknown
Unknown or undefined type of value.
Definition: DDS_DicItem.h:62
@ String
String type of value.
Definition: DDS_DicItem.h:58
@ Integer
Integer (int) numeric type of value.
Definition: DDS_DicItem.h:60
@ List
List type of enumerable value.
Definition: DDS_DicItem.h:61
virtual Standard_EXPORT void FillDataMap(TCollection_AsciiString, const LDOM_Element &, const LDOM_Element &, const LDOM_Element &, const TColStd_SequenceOfAsciiString &)
Parse record from XML file and retrieve information relevant for the dictionary item.
Definition: DDS_DicItem.cxx:581
Standard_Real myMinZoom
Definition: DDS_DicItem.h:243
Standard_EXPORT void GetIntegerFormat(const TCollection_AsciiString &, const TCollection_AsciiString &, const TCollection_AsciiString &, const TCollection_AsciiString &, const Standard_Character, TCollection_AsciiString &)
Get format for the integer.
Definition: DDS_DicItem.cxx:1014
Standard_EXPORT Standard_Real GetMinZoom() const
Get minimum value of lateral zooming.
Definition: DDS_DicItem.cxx:453
This class provides an information about used datums, reading them from XML file.
Definition: DDS_Dictionary.cxx:41
Definition: DDS_DicItem.h:75
TCollection_AsciiString myUnits
Definition: DDS_DicItem.h:78
Standard_Real myZero
Definition: DDS_DicItem.h:76
TCollection_AsciiString myFormat
Definition: DDS_DicItem.h:79
Standard_Real myScale
Definition: DDS_DicItem.h:77
Standard_Integer myPrecision
Definition: DDS_DicItem.h:80