]> SALOME platform Git repositories - modules/gui.git/blob - src/DDS/DDS_DicGroup.h
Salome HOME
d1c633fab89fa211dc09c10b30401a04ab3e452c
[modules/gui.git] / src / DDS / DDS_DicGroup.h
1 #ifndef DDS_DICGROUP_H
2 #define DDS_DICGROUP_H
3
4 #include "DDS.h"
5
6 #include "DDS_DicItem.h"
7
8 #include <MMgt_TShared.hxx>
9
10 #include <TCollection_AsciiString.hxx>
11
12 #include <NCollection_List.hxx>
13
14 class LDOM_Element;
15 class TColStd_SequenceOfAsciiString;
16
17 DEFINE_STANDARD_HANDLE(DDS_DicGroup, MMgt_TShared)
18
19 class DDS_DicGroup : public MMgt_TShared
20 {
21 public:
22   DDS_DicGroup( const TCollection_AsciiString& );
23
24   TCollection_AsciiString                    GetName() const;
25
26   Standard_EXPORT Handle(DDS_DicItem)        GetDicItem( const TCollection_AsciiString& ) const;
27
28   Standard_EXPORT void                       GetUnitSystems( TColStd_SequenceOfAsciiString& ) const;
29   Standard_EXPORT TCollection_ExtendedString GetUnitSystemLabel( const TCollection_AsciiString& ) const;
30
31   Standard_EXPORT TCollection_AsciiString    GetActiveUnitSystem() const;
32   Standard_EXPORT void                       SetActiveUnitSystem( const TCollection_AsciiString& );
33
34 private:
35   DDS_DicGroup( const DDS_DicGroup& );
36
37   void                                       operator=( const DDS_DicGroup& );
38
39   void                                       FillDataMap( const LDOM_Element&, const LDOM_Element& );
40
41 private:
42   typedef NCollection_DataMap<TCollection_AsciiString,
43                               TCollection_ExtendedString> UnitSystemMap;
44
45 private:
46   TCollection_AsciiString                    myName;
47   DDS_IndexedDataMapOfDicItems               myDataMap;
48   UnitSystemMap                              myUnitSystem;
49   TCollection_AsciiString                    myActiveSystem;
50
51   friend class DDS_Dictionary;
52
53 public:
54   DEFINE_STANDARD_RTTI(DDS_DicGroup)
55 };
56
57 DEFINE_BASECOLLECTION(DDS_BaseCollectionOfDicGroups, Handle(DDS_DicGroup))
58 DEFINE_INDEXEDDATAMAP(DDS_IndexedDataMapOfDicGroups, DDS_BaseCollectionOfDicGroups,
59                       TCollection_AsciiString, Handle(DDS_DicGroup))
60
61 #endif