]> SALOME platform Git repositories - modules/geom.git/commitdiff
Salome HOME
Mantis issue 0021110: Low efficiency of the explode.
authorjfa <jfa@opencascade.com>
Wed, 20 Apr 2011 14:22:21 +0000 (14:22 +0000)
committerjfa <jfa@opencascade.com>
Wed, 20 Apr 2011 14:22:21 +0000 (14:22 +0000)
src/EntityGUI/EntityGUI_SubShapeDlg.cxx

index 368a04c01d739a0c88f3905d32f3e8e3eb42bc8e..9fbc5775b157d6bf869ebf232b5b96087aa143b8 100644 (file)
@@ -203,7 +203,29 @@ void EntityGUI_SubShapeDlg::closeEvent(QCloseEvent* e)
 void EntityGUI_SubShapeDlg::ClickOnOk()
 {
   setIsApplyAndClose(true);
-  if (ClickOnApply())
+
+  SUIT_Session::session()->activeApplication()->putInfo("");
+
+  /* Explode all sub shapes */
+  bool isOk = true;
+  if (isAllSubShapes()) {
+    /* More than 30 subshapes : ask confirmation */
+    unsigned int nb = NumberOfSubShapes(myShape, shapeType());
+    if (nb > 30) {
+      const QString caption = tr("GEOM_CONFIRM");
+      const QString text = tr("GEOM_CONFIRM_INFO").arg(nb);
+      const QString button0 = tr("GEOM_BUT_EXPLODE");
+      const QString button1 = tr("GEOM_BUT_CANCEL");
+
+      if (QMessageBox::warning(this, caption, text, button0, button1) != 0)
+        isOk = false;  /* aborted */
+    }
+  }
+
+  if (isOk)
+    isOk = onAccept();
+
+  if (isOk)
     ClickOnCancel();
 }