Salome HOME
Tuple
[tools/eficas.git] / InterfaceQT4 / editor.py
old mode 100644 (file)
new mode 100755 (executable)
index 2104e6b..2080558
@@ -24,6 +24,7 @@ from PyQt4 import *
 from PyQt4.QtGui  import *
 from PyQt4.QtCore import *
 import time
+import pdb
 from datetime import date
 from Extensions.i18n import tr
 
@@ -36,7 +37,7 @@ from Editeur        import comploader
 from Editeur        import Objecttreeitem
 from desBaseWidget  import Ui_baseWidget
 from monViewTexte   import ViewText 
-from monWidgetParam import MonWidgetParam 
+from monWidgetCreeParam import MonWidgetCreeParam 
 import browser
 import readercata
 
@@ -76,13 +77,13 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
 
         # ces attributs sont mis a jour par definitCode appelee par newEditor
         self.code = self.appliEficas.CONFIGURATION.code
+        self.mode_nouv_commande=self.appliEficas.CONFIGURATION.mode_nouv_commande
+        self.affiche=self.appliEficas.CONFIGURATION.affiche
         if self.code in ['MAP','CARMELCND'] : self.afficheCommandesPliees=False
-        self.affiche_alpha=1
         if self.code in ['MAP',] : 
            self.widgetTree.close()
            self.widgetTree=None
            self.appliEficas.resize(1440,self.appliEficas.height())
-           self.affiche_alpha=0
         else :
            self.appliEficas.resize(2000,self.appliEficas.height())
 
@@ -95,6 +96,8 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
            self.readercata=self.appliEficas.readercata
         if self.readercata.fic_cata == None : return    #Sortie Salome
         self.titre=self.readercata.titre
+        self.Ordre_Des_Commandes=self.readercata.Ordre_Des_Commandes
+        self.Classement_Commandes_Ds_Arbre=self.readercata.Classement_Commandes_Ds_Arbre
 
         self.format =  self.appliEficas.format_fichier
 
@@ -147,7 +150,6 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
         #------- construction du jdc --------------
 
         jdc_item = None
-        self.mode_nouv_commande=self.readercata.mode_nouv_commande
 
         self.nouveau=0
         if self.fichier is not None:        #  fichier jdc fourni
@@ -176,6 +178,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
         if self.jdc:
             self.jdc.appli = self
             self.jdc.lang    = self.appli.langue
+            self.jdc.aReafficher=False
             txt_exception  = None
             if not jdc:
                 self.jdc.analyse()
@@ -196,9 +199,30 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
 
         if jdc_item:
             self.tree = browser.JDCTree( jdc_item,  self )
-        self.jdc.aReafficher=False
         self.appliEficas.construitMenu()
 
+    #-------------------#
+    def runPSEN(self):
+    #-------------------#
+      if self.modified or self.fichier==None  :
+         QMessageBox.critical( self, tr( "Execution impossible "),tr("Sauvegarder SVP avant l'execution "))
+         return
+        
+      #lancement avec le .bat
+      textePython="PSEN_Path='EficasV2\PSEN_Eficas\PSEN\PSSEWrapper.py'\
+      \nimport subprocess\
+      \np=subprocess.Popen(['python',PSEN_Path])\
+      \n(out,err)=p.communicate()"
+      
+ #lancement avec qteficas_psen.py      
+
+      #textePython='C:\Users\plscist\Desktop\Vico\sauveEficasPSEN~\EficasV1\PSEN_Eficas\PSEN\PSSEWrapper.py'
+      try :
+          self._viewTextExecute( textePython,"psen_run",".py")
+      except Exception, e:
+          print traceback.print_exc()
+
+
     #--------------------------------#
     def _newJDC( self ,units = None):
     #--------------------------------#
@@ -395,7 +419,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
     #-----------------------#
     def gestionParam(self):
     #-----------------------#
-        w = MonWidgetParam( self)
+        w = MonWidgetCreeParam( self)
         w.show()
 
     #-----------------------#
@@ -743,6 +767,8 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
     #-----------------------------------------------------------#
       if self.code == "MAP" and not(generator.plugins.has_key(format)): format = "MAP"
       if generator.plugins.has_key(format):
+         print "get_text_JDC"
+         
          # Le generateur existe on l'utilise
          self.generator=generator.plugins[format]()
          try :
@@ -916,7 +942,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
                                  )
            return
         if hasattr(self.CONFIGURATION, "savedir"): path=self.CONFIGURATION.savedir
-        else : path=os.environ['HOME']
+        else : path='C:/'
 
         monNomFichier=""
         if self.fichier is not None and self.fichier != "" :
@@ -960,6 +986,41 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
         (output, err) = p.communicate()
 
 
+    #-----------------#
+    def saveRunPSEN(self):
+    #-----------------#
+        print "saveRunPSEN"
+        self.saveFile()
+        return
+        if not(self.jdc.isvalid()):
+           QMessageBox.critical( self, tr( "Sauvegarde de l'input impossible "),
+                                tr("Un JdC valide est necessaire pour creer un .input")
+                                 )
+           return
+
+        print generator.plugins.has_key(self.format)
+        if generator.plugins.has_key(self.format):
+             # Le generateur existe on l'utilise
+             self.generator=generator.plugins[self.format]()
+             try :
+                self.generator.gener(self.jdc)
+                self.generator.writeDefault('')
+             except ValueError,e:
+                QMessageBox.critical(self, tr("Erreur a la generation"),str(e))
+             if not self.generator.cr.estvide():
+                self.affiche_infos(tr("Erreur a la generation"),Qt.red)
+                QMessageBox.critical( self, tr("Erreur a la generation"),tr("EFICAS ne sait pas convertir ce JDC"))
+                return ""
+        else:
+             # Il n'existe pas c'est une erreur
+             self.affiche_infos(tr("Format %s non reconnu" , self.format),Qt.red)
+             QMessageBox.critical( self, "Format  non reconnu" ,tr("EFICAS ne sait pas convertir le JDC selon le format "+ self.format))
+             return ""
+        print "HELLO"
+        
+
+
+
     #-----------------------------------------#
     def cherche_Groupes(self):
     #-----------------------------------------#
@@ -1004,7 +1065,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
             the name of the saved file
         """
 
-        #self.modified=1
+        self.modified=1
         if not self.modified and not saveas:
             return (0, None)      # do nothing if text wasn't changed
 
@@ -1029,6 +1090,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
           fn = unicode(QDir.convertSeparators(fn))
           newName = fn
 
+
         if not (self.writeFile(fn,formatLigne=formatLigne)): return (0, None)
         self.fichier = fn
         self.modified  = False
@@ -1200,7 +1262,8 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget):
     #---------------------------#
     def _newTELEMAC(self):
     #---------------------------#
-        texte="INITIALIZATION();INITIAL_STATE();BOUNDARY_CONDITIONS();NUMERICAL_PARAMETERS();PHYSICAL_PARAMETERS()"
+        texte="INITIALIZATION();BOUNDARY_CONDITIONS();GENERAL_PARAMETERS();PHYSICAL_PARAMETERS();NUMERICAL_PARAMETERS();"
+        #texte=""
         return texte
 
     #---------------------------#