From eaad2c710b0ddd11943e059aee40d8a6c2623804 Mon Sep 17 00:00:00 2001 From: mzn Date: Wed, 20 Nov 2013 07:41:15 +0000 Subject: [PATCH] Add possibility to generate name without indexes. --- src/HYDROData/HYDROData_Tool.cxx | 21 +++++++++++++-------- src/HYDROData/HYDROData_Tool.h | 4 +++- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/HYDROData/HYDROData_Tool.cxx b/src/HYDROData/HYDROData_Tool.cxx index c217725a..fee6e110 100644 --- a/src/HYDROData/HYDROData_Tool.cxx +++ b/src/HYDROData/HYDROData_Tool.cxx @@ -68,7 +68,8 @@ void HYDROData_Tool::SetMustBeUpdatedImages( QString HYDROData_Tool::GenerateObjectName( const Handle(HYDROData_Document)& theDoc, const QString& thePrefix, - const QStringList& theUsedNames ) + const QStringList& theUsedNames, + const bool theIsTryToUsePurePrefix ) { QStringList aNamesList( theUsedNames ); @@ -89,14 +90,18 @@ QString HYDROData_Tool::GenerateObjectName( const Handle(HYDROData_Document)& th QString aName; - int anId = 1; - while( anId < 1000 ) - { - aName = QString( "%1_%2" ).arg( thePrefix ).arg( QString::number( anId++ ) ); + if ( theIsTryToUsePurePrefix && !aNamesList.contains( thePrefix ) ) { + aName = thePrefix; + } else { + int anId = 1; + while( anId < 1000 ) + { + aName = QString( "%1_%2" ).arg( thePrefix ).arg( QString::number( anId++ ) ); - // check that there are no other objects with the same name in the document - if ( !aNamesList.contains( aName ) ) - break; + // check that there are no other objects with the same name in the document + if ( !aNamesList.contains( aName ) ) + break; + } } return aName; diff --git a/src/HYDROData/HYDROData_Tool.h b/src/HYDROData/HYDROData_Tool.h index 5b550ca2..a1fc8337 100644 --- a/src/HYDROData/HYDROData_Tool.h +++ b/src/HYDROData/HYDROData_Tool.h @@ -32,11 +32,13 @@ public: * \param theModule module * \param thePrefix name prefix * \param theUsedNames list of already used names + * \param theIsTryToUsePurePrefix if true - the prefix will be returned if the name equal to the prefix is not busy * \return generated name */ static QString GenerateObjectName( const Handle(HYDROData_Document)& theDoc, const QString& thePrefix, - const QStringList& theUsedNames = QStringList() ); + const QStringList& theUsedNames = QStringList(), + const bool theIsTryToUsePurePrefix = false ); /** * \brief Find the data object with the specified name. -- 2.39.2