add virtual method getObjectName() to check if a GEOM_Object already has a name

This commit is contained in:
fps 2013-04-25 14:44:51 +00:00
parent 15854f5a98
commit f74d6b98cb
2 changed files with 27 additions and 14 deletions

View File

@ -862,21 +862,24 @@ bool GEOMBase_Helper::onAccept( const bool publish, const bool useTransaction, b
for ( ObjectList::iterator it = objects.begin(); it != objects.end(); ++it ) {
GEOM::GEOM_Object_var obj=*it;
if ( publish ) {
QString aName = getNewObjectName();
if ( nbObjs > 1 ) {
if (aName.isEmpty())
aName = getPrefix(obj);
if (nbObjs <= 30) {
// Try to find a unique name
aName = GEOMBase::GetDefaultName(aName, extractPrefix());
QString aName = getObjectName(obj);
if (aName.isEmpty()) {
aName = getNewObjectName();
if ( nbObjs > 1 ) {
if (aName.isEmpty())
aName = getPrefix(obj);
if (nbObjs <= 30) {
// Try to find a unique name
aName = GEOMBase::GetDefaultName(aName, extractPrefix());
} else {
// Don't check name uniqueness in case of numerous objects
aName = aName + "_" + QString::number(aNumber++);
}
} else {
// Don't check name uniqueness in case of numerous objects
aName = aName + "_" + QString::number(aNumber++);
// PAL6521: use a prefix, if some dialog box doesn't reimplement getNewObjectName()
if ( aName.isEmpty() )
aName = GEOMBase::GetDefaultName( getPrefix( obj ) );
}
} else {
// PAL6521: use a prefix, if some dialog box doesn't reimplement getNewObjectName()
if ( aName.isEmpty() )
aName = GEOMBase::GetDefaultName( getPrefix( obj ) );
}
anEntryList << addInStudy( obj, aName.toLatin1().constData() );
// updateView=false
@ -1002,6 +1005,15 @@ GEOM::GEOM_Object_ptr GEOMBase_Helper::getFather( GEOM::GEOM_Object_ptr theObj )
return GEOM::GEOM_Object::_nil();
}
//================================================================
// Function : getObjectName
// Purpose : Redefine this method to return proper name for the given object
//================================================================
QString GEOMBase_Helper::getObjectName(GEOM::GEOM_Object_ptr object) const
{
return QString::null;
}
//================================================================
// Function : getNewObjectName
// Purpose : Redefine this method to return proper name for a new object

View File

@ -163,7 +163,8 @@ protected:
// for <theObj> or a nil reference if <theObj> should be published
// as a top-level object.
virtual QString getNewObjectName() const;
virtual QString getNewObjectName() const;
virtual QString getObjectName(GEOM::GEOM_Object_ptr object) const;
virtual bool extractPrefix() const;
virtual void addSubshapesToStudy();