X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FDDS%2FDDS_DicItem.h;h=361a952b0283ea58696eb2ed48d5aa7d2b2897a8;hb=e6caa123c65e3c4a3017364ec5bb4225fd898465;hp=0e94235158bfc99495e7c390efb8b3cfc8d1c730;hpb=aa05f2a1b23a54321ea7248ae9ac3463652c734e;p=modules%2Fgui.git diff --git a/src/DDS/DDS_DicItem.h b/src/DDS/DDS_DicItem.h index 0e9423515..361a952b0 100644 --- a/src/DDS/DDS_DicItem.h +++ b/src/DDS/DDS_DicItem.h @@ -1,11 +1,14 @@ -// Copyright (C) 2005 CEA/DEN, EDF R&D, OPEN CASCADE, PRINCIPIA R&D +// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // -// This library is distributed in the hope that it will be useful +// This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. @@ -14,8 +17,9 @@ // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // -// See http://www.salome-platform.org/ +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + #ifndef DDS_DICITEM_H #define DDS_DICITEM_H @@ -47,8 +51,23 @@ class TColStd_SequenceOfExtendedString; class DDS_DicItem : public MMgt_TShared { public: - enum Type { String, Float, Integer, List, Unknown }; - enum Data { MinValue = 0x01, MaxValue = 0x02, DefaultValue = 0x04 }; + /*! Enum describes type of datum value */ + enum Type + { + String, //!< String type of value + Float, //!< Real (double) numeric type of value + Integer, //!< Integer (int) numeric type of value + List, //!< List type of enumerable value + Unknown //!< Unknown or undefined type of value + }; + + /*! Enum describes the flags for existance of domain data */ + enum Data + { + MinValue = 0x01, //!< Flag of minimum value definition existence + MaxValue = 0x02, //!< Flag of maximum value definition existence + DefaultValue = 0x04 //!< Flag of default value definition existence + }; // This struct is intended for map of Format, Units, Precision and Scale struct UnitData @@ -63,146 +82,135 @@ public: typedef TCollection_AsciiString UnitSystem; public: - DDS_DicItem(); - - Standard_EXPORT TCollection_AsciiString GetId() const; - // to access Type of the parameter + Standard_EXPORT DDS_DicItem(); - Standard_EXPORT DDS_DicItem::Type GetType() const; - // to access Type of the parameter + Standard_EXPORT TCollection_AsciiString GetId() const; + Standard_EXPORT DDS_DicItem::Type GetType() const; + Standard_EXPORT TCollection_ExtendedString GetLabel() const; + Standard_EXPORT TCollection_ExtendedString GetFilter() const; + Standard_EXPORT TCollection_ExtendedString GetRequired() const; + Standard_EXPORT DDS_MsgType GetWarningLevel() const; + Standard_EXPORT TCollection_ExtendedString GetLongDescription() const; + Standard_EXPORT TCollection_ExtendedString GetShortDescription() const; + Standard_EXPORT TCollection_AsciiString GetComponent() const; - Standard_EXPORT TCollection_ExtendedString GetLabel() const; - // to access Label (name) of the parameter + Standard_EXPORT virtual TCollection_AsciiString GetUnits() const; + Standard_EXPORT virtual TCollection_AsciiString GetUnits( const UnitSystem& ) const; - Standard_EXPORT TCollection_ExtendedString GetFilter() const; - // to access filter (regexp) for the parameter values + Standard_EXPORT TCollection_ExtendedString GetDefaultValue() const; + Standard_EXPORT TCollection_ExtendedString GetDefaultValue( const UnitSystem& ) const; - Standard_EXPORT TCollection_ExtendedString GetRequired() const; - // to access Required of the parameter + Standard_EXPORT Standard_Real GetMinValue() const; + Standard_EXPORT Standard_Real GetMinValue( const UnitSystem& ) const; - Standard_EXPORT DDS_MsgType GetWarningLevel() const; - // to access wrong value warning level of the parameter + Standard_EXPORT Standard_Real GetMaxValue() const; + Standard_EXPORT Standard_Real GetMaxValue( const UnitSystem& ) const; - Standard_EXPORT TCollection_ExtendedString GetLongDescription() const; - // to access Long Description of the parameter + Standard_EXPORT virtual Standard_Integer GetPrecision() const; + Standard_EXPORT virtual Standard_Integer GetPrecision( const UnitSystem& ) const; - Standard_EXPORT TCollection_ExtendedString GetShortDescription() const; - // to access Short Description of the parameter + Standard_EXPORT virtual TCollection_AsciiString GetFormat( const Standard_Boolean = Standard_True ) const; + Standard_EXPORT virtual TCollection_AsciiString GetFormat( const UnitSystem&, + const Standard_Boolean = Standard_True ) const; + Standard_EXPORT TCollection_ExtendedString GetNameOfValues() const; + Standard_EXPORT Standard_Boolean GetListOfValues( Handle(TColStd_HArray1OfExtendedString)&, + Handle(TColStd_HArray1OfInteger)& ) const; + Standard_EXPORT Standard_Boolean GetListOfValues( Handle(TColStd_HArray1OfExtendedString)&, + Handle(TColStd_HArray1OfInteger)&, + Handle(TColStd_HArray1OfExtendedString)& ) const; + Standard_EXPORT Standard_Boolean GetSpecialValues( TColStd_MapOfReal& ) const; - Standard_EXPORT TCollection_AsciiString GetComponent() const; + Standard_EXPORT Standard_Real GetMinZoom() const; + Standard_EXPORT Standard_Real GetMaxZoom() const; + Standard_EXPORT Standard_Real GetZoomOrder() const; - Standard_EXPORT TCollection_AsciiString GetUnits() const; - Standard_EXPORT TCollection_AsciiString GetUnits( const UnitSystem& ) const; - // returns units for indicated unit systems + Standard_EXPORT virtual Standard_Real ToSI( const Standard_Real ) const; + Standard_EXPORT virtual Standard_Real FromSI( const Standard_Real ) const; - Standard_EXPORT TCollection_ExtendedString GetDefaultValue() const; - Standard_EXPORT TCollection_ExtendedString GetDefaultValue( const UnitSystem& ) const; - // to access Default Value of the parameter + Standard_EXPORT virtual Standard_Real ToSI( const Standard_Real, const UnitSystem& ) const; + Standard_EXPORT virtual Standard_Real FromSI( const Standard_Real, const UnitSystem& ) const; - Standard_EXPORT Standard_Real GetMinValue() const; - Standard_EXPORT Standard_Real GetMinValue( const UnitSystem& ) const; - // get Min Value of the parameter, either in specified unit system or in internal units (basic SI) + Standard_EXPORT Standard_Boolean HasData( const Standard_Integer ) const; - Standard_EXPORT Standard_Real GetMaxValue() const; - Standard_EXPORT Standard_Real GetMaxValue( const UnitSystem& ) const; - // get Max Value of the parameter, either in specified unit system or in internal units (basic SI) + Standard_EXPORT TCollection_ExtendedString GetOption( const TCollection_AsciiString& ) const; + Standard_EXPORT Standard_Boolean GetOptionNames( TColStd_SequenceOfAsciiString& ) const; - Standard_EXPORT Standard_Integer GetPrecision() const; - Standard_EXPORT Standard_Integer GetPrecision( const UnitSystem& ) const; - // returns precision for indicated unit systems +protected: + + Standard_EXPORT void SetId( const TCollection_AsciiString& ); - Standard_EXPORT TCollection_AsciiString GetFormat( const Standard_Boolean = Standard_True ) const; - Standard_EXPORT TCollection_AsciiString GetFormat( const UnitSystem&, - const Standard_Boolean = Standard_True ) const; - // returns format for indicated unit systems + Standard_EXPORT void SetComponent( const Handle(Standard_Transient)& ); - Standard_EXPORT TCollection_ExtendedString GetNameOfValues() const; - // to access valueList:name of the parameter. - // This string is void if the list is not defined - then use other properties: - // Type, DefaultValue, MaxValue, MinValue + Standard_EXPORT void SetLabel( const TCollection_AsciiString& ); - Standard_EXPORT Standard_Boolean GetListOfValues( Handle(TColStd_HArray1OfExtendedString)&, - Handle(TColStd_HArray1OfInteger)& ) const; - // to access valueList of the parameter - // This sequence is empty if the list not defined - then use other properties: - // Type, DefaultValue, MaxValue, MinValue + Standard_EXPORT void SetFilter( const TCollection_AsciiString& ); - Standard_EXPORT Standard_Boolean GetListOfValues( Handle(TColStd_HArray1OfExtendedString)&, - Handle(TColStd_HArray1OfInteger)&, - Handle(TColStd_HArray1OfExtendedString)& ) const; - // to access valueList of the parameter - // This sequence is empty if the list not defined - then use other properties: - // Type, DefaultValue, MaxValue, MinValue + Standard_EXPORT void SetRequired( const TCollection_AsciiString& ); - Standard_EXPORT Standard_Boolean GetSpecialValues( TColStd_MapOfReal& ) const; - // get values from specVal + Standard_EXPORT void SetWarningLevel( const Standard_Integer& ); - Standard_EXPORT Standard_Real GetMinZoom() const; - // get Min Value of lateral zooming + Standard_EXPORT void SetMinZoom( const Standard_Real& ); + Standard_EXPORT void SetMaxZoom( const Standard_Real& ); + Standard_EXPORT void SetZoomOrder( const Standard_Real& ); - Standard_EXPORT Standard_Real GetMaxZoom() const; - // get Max Value of lateral zooming + Standard_EXPORT void SetShortDescription( const TCollection_ExtendedString& ); + Standard_EXPORT void SetLongDescription( const TCollection_ExtendedString& ); - Standard_EXPORT Standard_Real GetZoomOrder() const; - // get Order of lateral zooming + Standard_EXPORT bool SetOption( const TCollection_AsciiString&, const TCollection_AsciiString& ); + Standard_EXPORT void SetType( const DDS_DicItem::Type& ); - Standard_EXPORT Standard_Real ToSI( const Standard_Real ) const; - Standard_EXPORT Standard_Real FromSI( const Standard_Real ) const; + Standard_EXPORT void SetMin( const Standard_Real& ); + Standard_EXPORT void SetMax( const Standard_Real& ); - Standard_EXPORT Standard_Real ToSI( const Standard_Real, const UnitSystem& ) const; - Standard_EXPORT Standard_Real FromSI( const Standard_Real, const UnitSystem& ) const; - // convert value to and from default SI units according to current units + Standard_EXPORT void SetDefaultValue( const Standard_Real& ); + Standard_EXPORT void SetDefaultValue( const TCollection_AsciiString& ); - Standard_EXPORT Standard_Boolean HasData( const Standard_Integer ) const; - -private: - DDS_DicItem( const DDS_DicItem& ); - // Copy constructor - - void operator=( const DDS_DicItem& ); - // Assignment operator - - void FillDataMap( TCollection_AsciiString, const LDOM_Element&, - const LDOM_Element&, const LDOM_Element&, - const TColStd_SequenceOfAsciiString& ); - // prepares formants for each unit systems + Standard_EXPORT void SetListOfValues( const Handle(TColStd_HArray1OfExtendedString)&, + const Handle(TColStd_HArray1OfInteger)& ); + Standard_EXPORT void SetListOfValues( const Handle(TColStd_HArray1OfExtendedString)&, + const Handle(TColStd_HArray1OfInteger)&, + const Handle(TColStd_HArray1OfExtendedString)& ); +protected: - void PrepareFormats( const TCollection_AsciiString& ); - // prepares three formats for each unit systems + Standard_EXPORT DDS_DicItem( const DDS_DicItem& ); - void GetDefaultFormat(); - // returns three default formants for each unit systems + Standard_EXPORT void operator=( const DDS_DicItem& ); - UnitSystem GetActiveUnitSystem() const; + Standard_EXPORT virtual void FillDataMap( TCollection_AsciiString, const LDOM_Element&, + const LDOM_Element&, const LDOM_Element&, + const TColStd_SequenceOfAsciiString& ); - void GetStringFormat( const TCollection_AsciiString&, - const TCollection_AsciiString&, - const TCollection_AsciiString&, - const TCollection_AsciiString&, - TCollection_AsciiString& ); - // returns format for the string - - void GetIntegerFormat( const TCollection_AsciiString&, - const TCollection_AsciiString&, - const TCollection_AsciiString&, - const TCollection_AsciiString&, - const Standard_Character, - TCollection_AsciiString& ); - // returns format for the integer - - void GetFloatFormat( const TCollection_AsciiString&, - const TCollection_AsciiString&, - const TCollection_AsciiString&, - const TCollection_AsciiString&, - const Standard_Character, - TCollection_AsciiString& ); - // returns format for the float +private: - void Split( const TCollection_AsciiString&, - Handle(TColStd_HArray1OfExtendedString)& ); + Standard_EXPORT void PrepareFormats( const TCollection_AsciiString& ); + Standard_EXPORT void GetDefaultFormat(); + Standard_EXPORT UnitSystem GetActiveUnitSystem() const; + + Standard_EXPORT void GetStringFormat( const TCollection_AsciiString&, + const TCollection_AsciiString&, + const TCollection_AsciiString&, + const TCollection_AsciiString&, + TCollection_AsciiString& ); + Standard_EXPORT void GetIntegerFormat( const TCollection_AsciiString&, + const TCollection_AsciiString&, + const TCollection_AsciiString&, + const TCollection_AsciiString&, + const Standard_Character, + TCollection_AsciiString& ); + Standard_EXPORT void GetFloatFormat( const TCollection_AsciiString&, + const TCollection_AsciiString&, + const TCollection_AsciiString&, + const TCollection_AsciiString&, + const Standard_Character, + TCollection_AsciiString& ); + Standard_EXPORT void Split( const TCollection_AsciiString&, + Handle(TColStd_HArray1OfExtendedString)& ); + + Standard_EXPORT UnitData* GetUnitData( const UnitSystem& ) const; - UnitData* GetUnitData( const UnitSystem& ) const; +private: + typedef NCollection_DataMap OptionsMap; private: TCollection_AsciiString myId; @@ -237,6 +245,7 @@ private: Handle(Standard_Transient) myComponent; + OptionsMap myOptions; // unitData NCollection_DataMap myUnitData; @@ -247,12 +256,8 @@ public: DEFINE_STANDARD_RTTI(DDS_DicItem) }; -// Definition of HANDLE object using Standard_DefineHandle.hxx DEFINE_STANDARD_HANDLE(DDS_DicItem, MMgt_TShared) -// Container class XMLTools_IndexedDataMapOfDicItems (map of handles) -DEFINE_BASECOLLECTION(DDS_BaseCollectionOfDicItems, Handle(DDS_DicItem)) -DEFINE_INDEXEDDATAMAP(DDS_IndexedDataMapOfDicItems, DDS_BaseCollectionOfDicItems, - TCollection_AsciiString, Handle(DDS_DicItem)) +typedef NCollection_IndexedDataMap DDS_IndexedDataMapOfDicItems; #endif