Salome HOME
blocFissure general dialog improvement
authorPaul RASCLE <paul.rascle@edf.fr>
Sun, 1 May 2016 17:23:11 +0000 (19:23 +0200)
committerPaul RASCLE <paul.rascle@edf.fr>
Sun, 1 May 2016 17:23:11 +0000 (19:23 +0200)
src/Tools/blocFissure/ihm/fissureGenerale.ui
src/Tools/blocFissure/ihm/fissureGenerale_plugin.py

index 32deb75fa7ff7088f0bec2740960b54647937c57..5a6d1f027c464b486c773753e722070f78d6ddf5 100644 (file)
@@ -66,7 +66,7 @@
         <item row="1" column="0">
          <widget class="QPushButton" name="pb_facefiss">
           <property name="toolTip">
-           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;sélection du fichier brep (géométrie) décrivant la face de fissure.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;sélection du fichier brep (géométrie) décrivant la face de fissure.&lt;/p&gt;&lt;p&gt;Un champ rouge correspond à un fichier inexistant.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
           </property>
           <property name="text">
            <string>face fissure</string>
@@ -83,7 +83,7 @@
         <item row="0" column="0">
          <widget class="QPushButton" name="pb_maillage">
           <property name="toolTip">
-           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;sélection du fichier med du maillage sain (hexaèdres)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+           <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;sélection du fichier med du maillage sain (hexaèdres)&lt;/p&gt;&lt;p&gt;Un champ rouge correspond à un fichier inexistant.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
           </property>
           <property name="text">
            <string>maillage sain</string>
    </item>
    <item>
     <layout class="QHBoxLayout" name="horizontalLayout_3">
+     <item>
+      <widget class="QPushButton" name="pb_exemple">
+       <property name="toolTip">
+        <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;génération de jeux de données exemple :&lt;/p&gt;&lt;p&gt;maillages sain et face de fissure.&lt;/p&gt;&lt;p&gt;(from blocFissure.materielCasTests import genereMateriel)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+       </property>
+       <property name="text">
+        <string>Exemple</string>
+       </property>
+      </widget>
+     </item>
      <item>
       <widget class="QPushButton" name="pb_reset">
        <property name="toolTip">
      </item>
      <item>
       <widget class="QDialogButtonBox" name="bb_OkCancel">
+       <property name="toolTip">
+        <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;OK : lancer le calcul, sans sauver les paramètres.&lt;/p&gt;&lt;p&gt;Close : fermer le dialogue sans exécution ni sauvegarde.&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+       </property>
        <property name="orientation">
         <enum>Qt::Horizontal</enum>
        </property>
        <property name="standardButtons">
-        <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+        <set>QDialogButtonBox::Close|QDialogButtonBox::Ok</set>
        </property>
       </widget>
      </item>
index fe0627fd18559d53c00afabc0993644e11bd5116..6cc037e2a51283b282041109cfdb26632a55532c 100644 (file)
@@ -63,6 +63,8 @@ def fissureGeneraleDlg(context):
       self.ui.lb_calcul.hide()
       
       # Connect up the buttons.
+      self.connect(self.ui.pb_exemple, QtCore.SIGNAL("clicked()"),
+                   self.genereExemples)
       self.connect(self.ui.pb_valPrec, QtCore.SIGNAL("clicked()"),
                    self.readValPrec)
       self.connect(self.ui.pb_reset, QtCore.SIGNAL("clicked()"),
@@ -188,6 +190,18 @@ def fissureGeneraleDlg(context):
       f.write(str(dico))
       f.close()
     
+    def genereExemples(self):
+      maillageSain      = os.path.join(gmu.pathBloc, 'materielCasTests/CubeAngle.med')
+      brepFaceFissure   = os.path.join(gmu.pathBloc, "materielCasTests/CubeAngleFiss.brep")
+      if (os.path.exists(maillageSain) and os.path.exists(brepFaceFissure)):
+        self.initDialog(self.defaut)
+      else:
+        self.ui.lb_calcul.setText("--- Génération exemples en cours ---")
+        self.ui.lb_calcul.show()
+        from blocFissure.materielCasTests import genereMateriel
+        self.ui.lb_calcul.hide()
+        self.initDialog(self.defaut)
+      
     def readValPrec(self):
       filedef = self.fileDefault()
       if os.path.exists(filedef):
@@ -223,6 +237,8 @@ def fissureGeneraleDlg(context):
       if fileDiag.exec_() :
         fileNames = fileDiag.selectedFiles()
         filedef = fileNames[0]
+        if filedef[-4:] not in ['.dic']:
+          filedef += '.dic'
         dico = self.creeDico()
         f = open(filedef, 'w')
         f.write(str(dico))
@@ -324,6 +340,7 @@ def fissureGeneraleDlg(context):
       NOK = self.testval(dico)
       if not(NOK):
         self.writeDefault(dico)
+        self.ui.lb_calcul.setText("--- Calcul en cours ---")
         self.ui.lb_calcul.show()
         logfile=os.path.join(dico['reptrav'], dico['nomres']+".log")
         self.setLogVerbosity(logfile)
@@ -352,7 +369,8 @@ def fissureGeneraleDlg(context):
 #        except Exception as erreur:
 #          print "exception non répertoriée"
       self.NOK = NOK
-      self.accept()
+      self.ui.lb_calcul.hide()
+      #self.accept()
     
     pass