Salome HOME
Automatic assigning of default name for the group at the dialog box initialization
authorvsr <vsr@opencascade.com>
Tue, 9 Oct 2012 05:25:18 +0000 (05:25 +0000)
committervsr <vsr@opencascade.com>
Tue, 9 Oct 2012 05:25:18 +0000 (05:25 +0000)
src/SMESHGUI/SMESHGUI_GroupDlg.cxx
src/SMESHGUI/SMESHGUI_GroupDlg.h

index 668681496edb16bd69f4842a2bd94fbadc20c4c1..41270689a12924e118b3c720ce20376b02a5e8bd 100644 (file)
@@ -521,6 +521,22 @@ QString SMESHGUI_GroupDlg::GetDefaultName(const QString& theOperation)
   return aName;
 }
 
+void  SMESHGUI_GroupDlg::setDefaultName() const
+{
+  QString aResName;
+  _PTR(Study) aStudy = SMESH::GetActiveStudyDocument();
+  int i=1;
+  QString aPrefix ="Group_";
+  _PTR(SObject) anObj;
+  do
+  {
+    aResName = aPrefix + QString::number( i++ );
+    anObj = aStudy->FindObject( aResName.toLatin1().data() );
+  }
+  while ( anObj );
+  myName->setText(aResName); 
+}
+
 //=================================================================================
 // function : Init()
 // purpose  :
@@ -543,6 +559,8 @@ void SMESHGUI_GroupDlg::init (SMESH::SMESH_Mesh_ptr theMesh)
   SetAppropriateActor();
 
   setDefaultGroupColor();
+  setDefaultName();
+
 
   SALOME_ListIO aList;
   mySelectionMgr->selectedObjects( aList );
@@ -1112,7 +1130,7 @@ bool SMESHGUI_GroupDlg::onApply()
       SMESH::setFileType ( aMeshGroupSO, "COULEURGROUP" );
 
       /* init for the next operation */
-      myName->setText( "" );
+      setDefaultName();
       myElements->clear();
       myGroup         = SMESH::SMESH_Group::_nil();
       myGroupOnGeom   = SMESH::SMESH_GroupOnGeom::_nil();
index 2592f4dc491dcfdeb9efe43cd81d501b1f90b357..f3cb58f0fe5e90730c2bec23c4228438a8bc3773 100644 (file)
@@ -141,7 +141,7 @@ private:
   
   void                          setGroupQColor( const QColor& );
   QColor                        getGroupQColor() const;
-  
+  void                          setDefaultName() const;
   void                          setDefaultGroupColor();
 
   void                          setIsApplyAndClose( const bool theFlag );