Version: 9.15.0
DDS_DicItem.h
Go to the documentation of this file.
1 // Copyright (C) 2007-2025 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 
43 class LDOM_Element;
44 class 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 {
54 public:
56  enum Type
57  {
61  List,
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 
85 public:
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 
139 protected:
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 
175 protected:
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 
185 private:
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 
213 private:
214  typedef NCollection_DataMap<TCollection_AsciiString, TCollection_ExtendedString> OptionsMap;
215 
216 private:
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 
255 public:
256  DEFINE_STANDARD_RTTIEXT(DDS_DicItem, Standard_Transient)
257 };
258 
260 
261 typedef 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