From fae671f73ccd2faf0eccade10c2ffe475c82ec32 Mon Sep 17 00:00:00 2001 From: jfa Date: Tue, 20 May 2008 08:03:01 +0000 Subject: [PATCH] NPAL19658: Deletion problem. Invalid actions were called by shortcuts. --- src/SMESHGUI/SMESHGUI.cxx | 52 +++++++++++++++++++++++++----------- src/SMESHGUI/SMESH_msg_en.po | 4 +++ 2 files changed, 40 insertions(+), 16 deletions(-) diff --git a/src/SMESHGUI/SMESHGUI.cxx b/src/SMESHGUI/SMESHGUI.cxx index 996e6eef3..73d08b61f 100644 --- a/src/SMESHGUI/SMESHGUI.cxx +++ b/src/SMESHGUI/SMESHGUI.cxx @@ -184,8 +184,8 @@ using namespace std; } QString anInitialPath = ""; - if ( SUIT_FileDlg::getLastVisitedPath().isEmpty() ) - anInitialPath = QDir::currentDirPath(); + //if ( SUIT_FileDlg::getLastVisitedPath().isEmpty() ) + // anInitialPath = QDir::currentDirPath(); QString filename = SUIT_FileDlg::getFileName(SMESHGUI::desktop(), anInitialPath, @@ -284,8 +284,8 @@ using namespace std; return; } // PAL18696 - QString v21( aMesh->GetVersionString( SMESH::MED_V2_1, 2)); - QString v22( aMesh->GetVersionString( SMESH::MED_V2_2, 2)); + QString v21 (aMesh->GetVersionString(SMESH::MED_V2_1, 2)); + QString v22 (aMesh->GetVersionString(SMESH::MED_V2_2, 2)); aFilterMap.insert( QString("MED ") + v21 + " (*.med)", SMESH::MED_V2_1 ); aFilterMap.insert( QString("MED ") + v22 + " (*.med)", SMESH::MED_V2_2 ); } @@ -1950,6 +1950,8 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) if( aSel ) aSel->selectedObjects( selected ); + bool isAny = false; // iss there any appropriate object selected + SALOME_ListIteratorOfListIO It( selected ); for ( ; It.More(); It.Next() ) { @@ -1963,22 +1965,40 @@ bool SMESHGUI::OnGUIEvent( int theCommandID ) { aName = anAttr; QString newName = QString(aName->Value().c_str()); - newName = LightApp_NameDlg::getName(desktop(), newName); - if ( !newName.isEmpty() ) - { - //old source: aStudy->renameIObject( IObject, newName ); - aName->SetValue( newName.latin1() ); - // if current object is group update group's name - SMESH::SMESH_GroupBase_var aGroup = - SMESH::IObjectToInterface(IObject); - if (!aGroup->_is_nil() ) - aGroup->SetName( newName.latin1() ); - - updateObjBrowser(); + // check type to prevent renaming of inappropriate objects + int aType = SMESHGUI_Selection::type(IObject->getEntry(), aStudy); + if (aType == MESH || aType == GROUP || + aType == SUBMESH || aType == SUBMESH_COMPOUND || + aType == SUBMESH_SOLID || aType == SUBMESH_FACE || + aType == SUBMESH_EDGE || aType == SUBMESH_VERTEX || + aType == HYPOTHESIS || aType == ALGORITHM) + { + isAny = true; + newName = LightApp_NameDlg::getName(desktop(), newName); + if ( !newName.isEmpty() ) + { + //old source: aStudy->renameIObject( IObject, newName ); + aName->SetValue( newName.latin1() ); + + // if current object is group update group's name + SMESH::SMESH_GroupBase_var aGroup = + SMESH::IObjectToInterface(IObject); + if (!aGroup->_is_nil() ) + aGroup->SetName( newName.latin1() ); + + updateObjBrowser(); + } } } } + } // for + + if (!isAny) { + SUIT_MessageBox::warn1(desktop(), + QObject::tr("SMESH_WRN_WARNING"), + QObject::tr("SMESH_WRN_NO_APPROPRIATE_SELECTION"), + QObject::tr("SMESH_BUT_OK")); } break; } diff --git a/src/SMESHGUI/SMESH_msg_en.po b/src/SMESHGUI/SMESH_msg_en.po index e5b3e0c16..c1f7eaacd 100644 --- a/src/SMESHGUI/SMESH_msg_en.po +++ b/src/SMESHGUI/SMESH_msg_en.po @@ -188,6 +188,10 @@ msgstr "Activate Link Selection Mode" msgid "SMESH_WRN_EMPTY_NAME" msgstr "Empty name is not valid" +#No appropriate objects +msgid "SMESH_WRN_NO_APPROPRIATE_SELECTION" +msgstr "No appropriate objects selected" + #Not available data msgid "SMESH_WRN_NO_AVAILABLE_DATA" msgstr "No available data in selection" -- 2.39.2