]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
Change in name generation + behavior of apply buttons skv/22751
authorskv <skv@opencascade.com>
Fri, 10 Oct 2014 07:17:09 +0000 (11:17 +0400)
committerskv <skv@opencascade.com>
Fri, 10 Oct 2014 07:17:09 +0000 (11:17 +0400)
doc/salome/gui/GEOM/images/repair10.png
src/GEOMGUI/GEOM_msg_en.ts
src/RepairGUI/RepairGUI_FreeFacesDlg.cxx
src/RepairGUI/RepairGUI_FreeFacesDlg.h

index 5db64674207bdfdc68fd8aed87bb9af4615924c0..9c67419a585812dadf59ce6a9cf5893769481ce7 100755 (executable)
Binary files a/doc/salome/gui/GEOM/images/repair10.png and b/doc/salome/gui/GEOM/images/repair10.png differ
index 75ef896f850ad323638040789c56d4d4b86f3a1d..bd50af4ce374cf9f28e150422328a815218a20fd 100644 (file)
@@ -838,7 +838,7 @@ Please, select face, shell or solid and try again</translation>
     </message>
     <message>
         <source>GEOM_FREE_FACES_NAME</source>
-        <translation>Free_face_%1</translation>
+        <translation>Free_face</translation>
     </message>
     <message>
         <source>GEOM_FREE_FACES_TITLE</source>
index 8cc5a6560e44f74a399bdb9c08960307553634a7..00e08c13a99931a17719b39cf08cca8f65c594be 100644 (file)
@@ -143,6 +143,9 @@ void RepairGUI_FreeFacesDlg::Init()
   connect(myGeomGUI->getApp()->selectionMgr(), SIGNAL(currentSelectionChanged()),
           this, SLOT(SelectionIntoArgument()));
 
+  initName(tr("GEOM_FREE_FACES_NAME"));
+  buttonOk()->setEnabled(false);
+  buttonApply()->setEnabled(false);
   activateSelection();
   SelectionIntoArgument();
 }
@@ -165,6 +168,8 @@ bool RepairGUI_FreeFacesDlg::ClickOnApply()
 {
   if (!onAccept())
     return false;
+
+  initName();
   return true;
 }
 
@@ -208,6 +213,8 @@ void RepairGUI_FreeFacesDlg::SelectionIntoArgument()
   aSelMgr->selectedObjects(aSelList);
 
   if ( aSelList.Extent() != 1 ) {
+    buttonOk()->setEnabled(false);
+    buttonApply()->setEnabled(false);
     return;
   }
 
@@ -215,6 +222,8 @@ void RepairGUI_FreeFacesDlg::SelectionIntoArgument()
     GEOMBase::ConvertIOinGEOMObject( aSelList.First() );
 
   if ( !GEOMBase::IsShape( anObj ) ) {
+    buttonOk()->setEnabled(false);
+    buttonApply()->setEnabled(false);
     return;
   } else {
     myObj = anObj;
@@ -265,11 +274,15 @@ bool RepairGUI_FreeFacesDlg::execute( ObjectList& objects )
   TopoDS_Shape aSelShape;
   TopoDS_Shape aFace; 
   TopTools_IndexedMapOfShape anIndices;
+  int aNbObj = 0;
+
   if ( !myObj->_is_nil() && GEOMBase::GetShape( myObj, aSelShape ) ) {
     myEdit->setText( GEOMBase::GetName( myObj ) );
     QString aMess;
     if ( !isValid( aMess ) ) {
       erasePreview( true );
+      buttonOk()->setEnabled(false);
+      buttonApply()->setEnabled(false);
       return false;
     }
     
@@ -315,6 +328,8 @@ bool RepairGUI_FreeFacesDlg::execute( ObjectList& objects )
       catch( const SALOME::SALOME_Exception& e )
       {
         SalomeApp_Tools::QtCatchCorbaException( e );
+        buttonOk()->setEnabled(false);
+        buttonApply()->setEnabled(false);
         return false;
       }
     }
@@ -322,12 +337,18 @@ bool RepairGUI_FreeFacesDlg::execute( ObjectList& objects )
     // Create sub-objects
     GEOM::ListOfGO_var aList = anOper->MakeSubShapes(myObj, aFaceLst);
 
-    for (i = 0, n = aList->length(); i < n; i++) {
+    aNbObj = aList->length();
+
+    for (i = 0; i < aNbObj; i++) {
       objects.push_back(GEOM::GEOM_Object::_duplicate(aList[i]));
     }
 
     aResult = true;
   }
+
+  buttonOk()->setEnabled(aNbObj > 0);
+  buttonApply()->setEnabled(aNbObj > 0);
+
   return aResult;
 }
 
@@ -342,17 +363,6 @@ GEOM_Displayer* RepairGUI_FreeFacesDlg::getDisplayer()
   return myDisplayer;
 }
 
-//================================================================
-// Function : getNewObjectName
-// Purpose  : Redefine this method to return proper name for a new object
-//================================================================
-QString RepairGUI_FreeFacesDlg::getNewObjectName (int currObj) const
-{
-  QString aName = tr("GEOM_FREE_FACES_NAME").arg(currObj);
-
-  return aName;
-}
-
 //================================================================
 // Function : getFather
 // Purpose  : Get father object for object to be added in study
index 2fa420285fbc5ceb0e01f240d9566211fd126015..2e3f12f7f0d660e212881b4fb9cca7f8559e0a8e 100644 (file)
@@ -50,8 +50,7 @@ protected:
   virtual GEOM::GEOM_IOperations_ptr createOperation();
   virtual bool                       isValid( QString& );
   virtual bool                       execute( ObjectList& );
-  virtual GEOM::GEOM_Object_ptr         getFather (GEOM::GEOM_Object_ptr);
-  virtual QString                       getNewObjectName (int CurrObj = -1) const;
+  virtual GEOM::GEOM_Object_ptr      getFather (GEOM::GEOM_Object_ptr);
 
 private:
   void                               Init();