X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FDDS%2FDDS_DicGroup.cxx;h=ea2c65593771f3bfccf850bfa5467e6a900e1771;hb=e07448c48ea5b2127e34fc7b8c3427d01c7ce17b;hp=56197a523ef7287e5b20ad17b4a6786854a892fe;hpb=f830c97c748d8f8a6a7eccc8e3a58e19066a1181;p=modules%2Fgui.git diff --git a/src/DDS/DDS_DicGroup.cxx b/src/DDS/DDS_DicGroup.cxx index 56197a523..ea2c65593 100644 --- a/src/DDS/DDS_DicGroup.cxx +++ b/src/DDS/DDS_DicGroup.cxx @@ -1,11 +1,14 @@ -// Copyright (C) 2005 CEA/DEN, EDF R&D, OPEN CASCADE, PRINCIPIA R&D +// Copyright (C) 2007-2012 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. // -// 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. @@ -16,6 +19,7 @@ // // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // + #include "DDS_DicGroup.h" #include "DDS_Dictionary.h" @@ -25,8 +29,6 @@ #include -#include - #include #include @@ -35,29 +37,33 @@ IMPLEMENT_STANDARD_RTTIEXT(DDS_DicGroup, MMgt_TShared) /*! \class DDS_DicGroup - - This class to provide set of DDS_DicItem objects from one component. + \brief This class provides a set of DDS_DicItem objects from one component. */ /*! - Constructor. Create the group with name \aname. + \brief Constructor. + + Create the group with name \a name. + + \param name group name */ DDS_DicGroup::DDS_DicGroup( const TCollection_AsciiString& name ) : MMgt_TShared(), -myName( name ), -myActiveSystem( UNIT_SYSTEM_SI ) + myName( name ), + myActiveSystem( UNIT_SYSTEM_SI ) { } /*! - Copy constructor. + \brief Copy constructor (put in private section to prevent object copying). */ DDS_DicGroup::DDS_DicGroup( const DDS_DicGroup& ) { } /*! - Get the name of group (component). + \brief Get the name of group (component). + \return group name */ TCollection_AsciiString DDS_DicGroup::GetName() const { @@ -65,8 +71,8 @@ TCollection_AsciiString DDS_DicGroup::GetName() const } /*! - Returns the names list of defined unit systems. - Parameter \atheSystems will contains the sequence of string names. + \brief Get the names of all defined units systems. + \param theSystemsSeq returning sequence of names */ void DDS_DicGroup::GetUnitSystems( TColStd_SequenceOfAsciiString& theSystemSeq ) const { @@ -81,7 +87,12 @@ void DDS_DicGroup::GetUnitSystems( TColStd_SequenceOfAsciiString& theSystemSeq ) } /*! - Returns the label of unit system \aname. If unit system not found then empty string returned. + \brief Get the label of units system \a name. + + If units system is not found, empty string is returned. + + \param make units system name + \return units system label */ TCollection_ExtendedString DDS_DicGroup::GetUnitSystemLabel( const TCollection_AsciiString& name ) const { @@ -92,7 +103,8 @@ TCollection_ExtendedString DDS_DicGroup::GetUnitSystemLabel( const TCollection_A } /*! - Gets the name of active unit system. + \brief Get the name of active units system. + \return active units system name */ TCollection_AsciiString DDS_DicGroup::GetActiveUnitSystem() const { @@ -100,7 +112,8 @@ TCollection_AsciiString DDS_DicGroup::GetActiveUnitSystem() const } /*! - Sets the name of active unit system. + \brief Set the active unit system. + \param theSystem name of the units system to be made active */ void DDS_DicGroup::SetActiveUnitSystem( const TCollection_AsciiString& theSystem ) { @@ -109,14 +122,16 @@ void DDS_DicGroup::SetActiveUnitSystem( const TCollection_AsciiString& theSystem } /*! - Assignment operator. + \brief Assignment operator (put in private section to prevent object copying). */ void DDS_DicGroup::operator=( const DDS_DicGroup& ) { } /*! - Fill the internal data structures from XML parsed structures. Internal. + \brief Fill the internal data structures from XML parsed structures. + \param theComponentData component data DOM node + \param theDocElement document element DOM node */ void DDS_DicGroup::FillDataMap( const LDOM_Element& theComponentData, const LDOM_Element& theDocElement ) { @@ -140,6 +155,8 @@ void DDS_DicGroup::FillDataMap( const LDOM_Element& theComponentData, const LDOM if ( !myUnitSystem.IsBound( aName ) ) myUnitSystem.Bind( aName, aLabel ); + + } } @@ -170,14 +187,28 @@ void DDS_DicGroup::FillDataMap( const LDOM_Element& theComponentData, const LDOM aDicItem->myComponent = this; aDicItem->FillDataMap( anID, aQuantity, theComponentData, theDocElement, unitSystems ); myDataMap.Add( anID, aDicItem ); + + bool exist = false; + for( int i=1, n=myKeys.Length(); i<=n && !exist; i++ ) + if( myKeys.Value( i )==anID ) + { + cout << "Doubled key:" << anID << endl; + exist = true; + } + if( !exist ) + myKeys.Append( anID ); } } /*! - Gets dictionary item with specified identifier \atheID. - If dictionary item not found then null handle returned. + \brief Get the dictionary item with specified identifier \a theID. + + If dictionary item is not found, null handle is returned. + + \param theID item identifier + \return dictionary item */ -Handle(DDS_DicItem) DDS_DicGroup::GetDicItem( const TCollection_AsciiString& theID ) const +Handle_DDS_DicItem DDS_DicGroup::GetDicItem( const TCollection_AsciiString& theID ) const { Handle(DDS_DicItem) aDicItem; // get dictionary item by id @@ -186,3 +217,12 @@ Handle(DDS_DicItem) DDS_DicGroup::GetDicItem( const TCollection_AsciiString& the return aDicItem; } + +/*! + \brief Return all keys of the group + \param seq - string container to be filled with keys +*/ +void DDS_DicGroup::GetKeys( TColStd_SequenceOfAsciiString& seq ) const +{ + seq = myKeys; +}