]> SALOME platform Git repositories - modules/smesh.git/commitdiff
Salome HOME
NPAL 13421
authordmv <dmv@opencascade.com>
Thu, 22 Nov 2007 07:12:52 +0000 (07:12 +0000)
committerdmv <dmv@opencascade.com>
Thu, 22 Nov 2007 07:12:52 +0000 (07:12 +0000)
src/SMESHGUI/SMESHGUI_GroupDlg.cxx
src/SMESHGUI/SMESHGUI_GroupDlg.h
src/SMESHGUI/SMESH_msg_en.po

index 8c0cd520af22092fd86f417a23a5929611c7b958..3a575049c95b7117114da1a8cffe979f1e7833bb 100644 (file)
@@ -88,6 +88,7 @@
 // STL includes
 #include <vector>
 #include <algorithm>
+#include <set>
 
 using namespace std;
 
@@ -421,6 +422,7 @@ void SMESHGUI_GroupDlg::initDialog(bool create)
     myTypeGroup->setButton(0);
 
   updateButtons();
+  //myName->setText(GetDefaultName(tr("SMESH_GROUP")));
 }
 
 //=================================================================================
@@ -437,6 +439,43 @@ SMESHGUI_GroupDlg::~SMESHGUI_GroupDlg()
   }
 }
 
+//=================================================================================
+// function : GetDefaultName()
+// purpose  : Get the Group Name if Create new Group
+//=================================================================================
+QString SMESHGUI_GroupDlg::GetDefaultName(const QString& theOperation)
+{
+    QString aName = "";
+
+    // collect all object names of SMESH component
+    SalomeApp_Study* appStudy =
+      dynamic_cast<SalomeApp_Study*>( SUIT_Session::session()->activeApplication()->activeStudy() );
+    if ( !appStudy ) return aName;
+    _PTR(Study) aStudy = appStudy->studyDS();
+
+    std::set<std::string> aSet;
+    _PTR(SComponent) aMeshCompo (aStudy->FindComponent("SMESH"));
+    if (aMeshCompo) {
+      _PTR(ChildIterator) it (aStudy->NewChildIterator(aMeshCompo));
+      _PTR(SObject) obj;
+      for (it->InitEx(true); it->More(); it->Next()) {
+       obj = it->Value();
+       aSet.insert(obj->GetName());
+      }
+    }
+
+    // build a unique name
+    int aNumber = 0;
+    bool isUnique = false;
+    while (!isUnique) {
+      aName = theOperation + "_" + QString::number(++aNumber);
+      isUnique = (aSet.count(aName.latin1()) == 0);
+    }
+
+    return aName;
+}
+
+
 //=================================================================================
 // function : Init()
 // purpose  :
@@ -478,6 +517,7 @@ void SMESHGUI_GroupDlg::init (SMESH::SMESH_GroupBase_ptr theGroup)
   
   myName->setText(theGroup->GetName());
   myName->home(false);
+  myOldName = myName->text();
 
   myColorSpinBox->setValue( theGroup->GetColorNumber() );
   
@@ -543,6 +583,8 @@ void SMESHGUI_GroupDlg::init (SMESH::SMESH_GroupBase_ptr theGroup)
              aShapeName = aGroupShapeSO->GetName().c_str();
            }
          myGeomGroupLine->setText( aShapeName );
+         myName->setText("Group On " + aShapeName);
+         cout << aShapeName << endl;
        }
     }
 }
@@ -612,6 +654,8 @@ void SMESHGUI_GroupDlg::onGrpTypeChanged (int id)
 {
   if (myGrpTypeId != id) {
     myWGStack->raiseWidget( id );
+    if (id == 0)
+      myName->setText(myOldName);
     onSelectGeomGroup(id == 1);
   }
   myGrpTypeId = id;
@@ -1108,6 +1152,8 @@ void SMESHGUI_GroupDlg::onObjectSelectionChanged()
     }
 
     myCurrentLineEdit->setText(aString);
+    myOldName = myName->text();
+    myName->setText(aString);
     myCurrentLineEdit->home(false);
 
     updateButtons();
index 13297cc94479b9c316af6811878a7b61b8fad68e..7d39e4248ad3bc1901c0b930372b6d3337745aab 100644 (file)
@@ -78,6 +78,8 @@ public:
                       bool modal = FALSE, WFlags fl = 0 );
     ~SMESHGUI_GroupDlg();
 
+    static QString GetDefaultName(const QString& theOperation);
+
 public slots:
 
     void onAdd();
@@ -142,6 +144,7 @@ private:
     
     QButtonGroup*                 myTypeGroup;
     QLineEdit*                    myName;
+    QString                       myOldName;
 
     QButtonGroup*                 myGrpTypeGroup;
 
index 1c1c76186c76fd7c71f2cd0f763534924cd31fd2..155df11d08c304eb5914288e73089254b7e91a63 100644 (file)
@@ -2506,7 +2506,7 @@ msgid "MEN_HIDE"
 msgstr "Hide"
 
 msgid "MEN_DISPLAY_ONLY"
-msgstr "Display only"
+msgstr "Show only"
 
 
 #------ TOP -----#