Salome HOME
linux/windows
[tools/eficas.git] / InterfaceQT4 / qtEficas.py
index 5f86da3f7dfa770d3810e52f944002474e0aff2b..160f5921fce1cd0ae7b79352b4631c77f60ae7d0 100644 (file)
@@ -63,7 +63,8 @@ class Appli(Ui_Eficas,QMainWindow):
         self.ficRecents={}
         self.listeAEnlever=[]
         self.ListeCode=['Aster','Carmel3D','Cuve2dg','Openturns_Study','Openturns_Wrapper','MAP','ZCracks', 'CarmelCND','MT']
-        self.repIcon=os.path.join( os.path.dirname(os.path.abspath(__file__)),'../Editeur/icons')
+        #self.repIcon=os.path.join( os.path.dirname(os.path.abspath(__file__)),'../Editeur/icons')
+        self.repIcon=os.path.join( os.path.dirname(os.path.abspath(__file__)),'..','Editeur','icons')
 
         if self.salome:
           import Accas
@@ -91,12 +92,6 @@ class Appli(Ui_Eficas,QMainWindow):
         self.ouvreFichiers()
 
 
-    #def eventFilter(QObject watched, QEvent e) :
-    #def eventFilter(watched, e) :
-    #    print "hhhhhhhhhhhhhhhhhhhhhh"
-    #    return QMainWindow.eventFilter(watched, e)
-
-   
 
     def definitCode(self,code,ssCode) :
         self.code=code
@@ -143,8 +138,8 @@ class Appli(Ui_Eficas,QMainWindow):
             if hasattr(self,intituleAction):
               action=getattr(self,intituleAction)
               self.toolBar.removeAction(action)
-        if self.code in Appli.__dict__.keys():
-          listeTexte=apply(Appli.__dict__[self.code],(self,))
+        if self.code.upper() in Appli.__dict__.keys():
+          listeTexte=apply(Appli.__dict__[self.code.upper()],(self,))
 
     def initAides(self):
         #print "je passe la"
@@ -168,14 +163,17 @@ class Appli(Ui_Eficas,QMainWindow):
     def ajoutExecution(self):
         self.menuExecution = self.menubar.addMenu(QApplication.translate("Eficas", "Execution", None, QApplication.UnicodeUTF8))
         self.actionExecution = QAction(self)
-        icon6 = QIcon(self.repIcon+"/roue.png")
-        self.actionExecution.setIcon(icon6)
+        if sys.platform[0:5]=="linux":
+          icon6 = QIcon(self.repIcon+"/roue.png")
+          self.actionExecution.setIcon(icon6)
+        else :
+          self.actionExecution.setText(QApplication.translate("Eficas", "Run", None))
         self.actionExecution.setObjectName("actionExecution")
         self.menuExecution.addAction(self.actionExecution)
         if not(self.actionExecution in self.toolBar.actions()):
            self.toolBar.addAction(self.actionExecution)
         self.actionExecution.setText(QApplication.translate("Eficas", "Execution ", None, QApplication.UnicodeUTF8))
-        self.connect(self.actionExecution,SIGNAL("activated()"),self.run)
+        self.connect(self.actionExecution,SIGNAL("triggered()"),self.run)
 
     def ajoutSauveExecution(self):
         self.actionSaveRun = QAction(self)
@@ -186,7 +184,7 @@ class Appli(Ui_Eficas,QMainWindow):
         if not(self.actionSaveRun in self.toolBar.actions()):
            self.toolBar.addAction(self.actionSaveRun)
         self.actionSaveRun.setText(QApplication.translate("Eficas", "Save Run", None, QApplication.UnicodeUTF8))
-        self.connect(self.actionSaveRun,SIGNAL("activated()"),self.saveRun)
+        self.connect(self.actionSaveRun,SIGNAL("triggered()"),self.saveRun)
 
     def griserActionsStructures(self):
         self.actionCouper.setEnabled(False)
@@ -216,11 +214,13 @@ class Appli(Ui_Eficas,QMainWindow):
 
     def ASTER(self) :
         self.menuTraduction = self.menubar.addMenu("menuTraduction")
-        self.menuTraduction.addAction(self.actionTraduitV7V8)
-        self.menuTraduction.addAction(self.actionTraduitV8V9)
+        self.menuTraduction.addAction(self.actionTraduitV11V12)
+        self.menuTraduction.addAction(self.actionTraduitV10V11)
         self.menuTraduction.addAction(self.actionTraduitV9V10)
         self.menuTraduction.setTitle(tr("Traduction"))
 
+        self.menuFichier.addAction(self.actionSauveLigne)
+
         self.menuOptions = self.menubar.addMenu("menuOptions")
         self.menuOptions.addAction(self.actionParametres_Eficas)
         self.menuOptions.addAction(self.actionLecteur_Pdf)
@@ -250,6 +250,8 @@ class Appli(Ui_Eficas,QMainWindow):
         self.menuOptions.addAction(self.actionParametres_Eficas)
         self.menuOptions.setTitle(tr("Options"))
 
+    def PSEN(self):
+        self.ajoutExecution()
 
     def ChercheGrpMesh(self):
         Msg,listeGroup=self.ChercheGrpMeshInSalome()
@@ -259,12 +261,18 @@ class Appli(Ui_Eficas,QMainWindow):
            print "il faut gerer les erreurs"
 
     def ChercheGrpMaille(self):
-        Msg,listeGroup=self.ChercheGrpMailleInSalome()
+        # Normalement la variable self.salome permet de savoir si on est ou non dans Salome
+        try:
+            Msg,listeGroup=self.ChercheGrpMailleInSalome() # recherche dans Salomé
+            #Msg = None; listeGroup = None # recherche manuelle, i.e., sans Salomé si ligne précédente commentée
+        except:
+            raise ValueError('Salome non ouvert')
         if Msg == None :
            self.viewmanager.handleAjoutGroup(listeGroup)
         else :
            print "il faut gerer les erreurs"
 
+
     def ChercheGrp(self):
         #Msg,listeGroup=self.ChercheGrpMailleInSalome()
         #if Msg == None :
@@ -295,63 +303,69 @@ class Appli(Ui_Eficas,QMainWindow):
     def connecterSignaux(self) :
         self.connect(self.recentMenu,SIGNAL('aboutToShow()'),self.handleShowRecentMenu)
 
-        self.connect(self.action_Nouveau,SIGNAL("activated()"),self.fileNew)
-        self.connect(self.actionNouvel_Include,SIGNAL("activated()"),self.NewInclude)
-        self.connect(self.action_Ouvrir,SIGNAL("activated()"),self.fileOpen)
-        self.connect(self.actionEnregistrer,SIGNAL("activated()"),self.fileSave)
-        self.connect(self.actionEnregistrer_sous,SIGNAL("activated()"),self.fileSaveAs)
-        self.connect(self.actionFermer,SIGNAL("activated()"),self.fileClose)
-        self.connect(self.actionFermer_tout,SIGNAL("activated()"),self.fileCloseAll)
-        self.connect(self.actionQuitter,SIGNAL("activated()"),self.fileExit)
+        self.connect(self.action_Nouveau,SIGNAL("triggered()"),self.fileNew)
+        self.connect(self.actionNouvel_Include,SIGNAL("triggered()"),self.NewInclude)
+        self.connect(self.action_Ouvrir,SIGNAL("triggered()"),self.fileOpen)
+        self.connect(self.actionEnregistrer,SIGNAL("triggered()"),self.fileSave)
+        self.connect(self.actionEnregistrer_sous,SIGNAL("triggered()"),self.fileSaveAs)
+        self.connect(self.actionFermer,SIGNAL("triggered()"),self.fileClose)
+        self.connect(self.actionFermer_tout,SIGNAL("triggered()"),self.fileCloseAll)
+        self.connect(self.actionQuitter,SIGNAL("triggered()"),self.fileExit)
 
-        self.connect(self.actionEficas,SIGNAL("activated()"),self.aidePPal)
-        self.connect(self.actionVersion,SIGNAL("activated()"),self.version)
+        self.connect(self.actionEficas,SIGNAL("triggered()"),self.aidePPal)
+        self.connect(self.actionVersion,SIGNAL("triggered()"),self.version)
+        self.connect(self.actionParametres,SIGNAL("triggered()"),self.gestionParam)
 
-        self.connect(self.actionCouper,SIGNAL("activated()"),self.editCut)
-        self.connect(self.actionCopier,SIGNAL("activated()"),self.editCopy)
-        self.connect(self.actionColler,SIGNAL("activated()"),self.editPaste)
-        self.connect(self.actionSupprimer,SIGNAL("activated()"),self.supprimer)
-        self.connect(self.actionRechercher,SIGNAL("activated()"),self.rechercher)
-        self.connect(self.actionDeplier_replier,SIGNAL("activated()"),self.Deplier)
+        self.connect(self.actionCouper,SIGNAL("triggered()"),self.editCut)
+        self.connect(self.actionCopier,SIGNAL("triggered()"),self.editCopy)
+        self.connect(self.actionColler,SIGNAL("triggered()"),self.editPaste)
+        self.connect(self.actionSupprimer,SIGNAL("triggered()"),self.supprimer)
+        self.connect(self.actionRechercher,SIGNAL("triggered()"),self.rechercher)
+        self.connect(self.actionDeplier_replier,SIGNAL("triggered()"),self.Deplier)
 
-        self.connect(self.actionRapport_de_Validation,SIGNAL("activated()"),self.jdcRapport)
-        self.connect(self.actionFichier_Source,SIGNAL("activated()"),self.jdcFichierSource)
-        self.connect(self.actionFichier_Resultat,SIGNAL("activated()"),self.visuJdcPy)
+        self.connect(self.actionRapport_de_Validation,SIGNAL("triggered()"),self.jdcRapport)
+        self.connect(self.actionFichier_Source,SIGNAL("triggered()"),self.jdcFichierSource)
+        self.connect(self.actionFichier_Resultat,SIGNAL("triggered()"),self.visuJdcPy)
 
 
-        #self.connect(self.helpIndexAction,SIGNAL("activated()"),self.helpIndex)
-        #self.connect(self.helpContentsAction,SIGNAL("activated()"),self.helpContents)
+        #self.connect(self.helpIndexAction,SIGNAL("triggered()"),self.helpIndex)
+        #self.connect(self.helpContentsAction,SIGNAL("triggered()"),self.helpContents)
 
         # Pour Aster
-        self.actionTraduitV7V8 = QAction(self)
-        self.actionTraduitV7V8.setObjectName("actionTraduitV7V8")
-        self.actionTraduitV8V9 = QAction(self)
-        self.actionTraduitV8V9.setObjectName("actionTraduitV8V9")
         self.actionTraduitV9V10 = QAction(self)
         self.actionTraduitV9V10.setObjectName("actionTraduitV9V10")
-        self.actionTraduitV7V8.setText(tr("TraduitV7V8"))
-        self.actionTraduitV8V9.setText(tr("TraduitV8V9"))
         self.actionTraduitV9V10.setText(tr("TraduitV9V10"))
-        self.connect(self.actionParametres_Eficas,SIGNAL("activated()"),self.optionEditeur)
-        self.connect(self.actionLecteur_Pdf,SIGNAL("activated()"),self.optionPdf)
-        self.connect(self.actionTraduitV7V8,SIGNAL("activated()"),self.traductionV7V8)
-        self.connect(self.actionTraduitV8V9,SIGNAL("activated()"),self.traductionV8V9)
-        self.connect(self.actionTraduitV9V10,SIGNAL("activated()"),self.traductionV9V10)
+        self.actionTraduitV10V11 = QAction(self)
+        self.actionTraduitV10V11.setObjectName("actionTraduitV10V11")
+        self.actionTraduitV10V11.setText(tr("TraduitV10V11"))
+        self.actionTraduitV11V12 = QAction(self)
+        self.actionTraduitV11V12.setObjectName("actionTraduitV11V12")
+        self.actionTraduitV11V12.setText(tr("TraduitV11V12"))
+        self.actionSauveLigne = QAction(self)
+        self.actionSauveLigne.setText(tr("Sauve Format Ligne"))
+
+        self.connect(self.actionParametres_Eficas,SIGNAL("triggered()"),self.optionEditeur)
+        self.connect(self.actionLecteur_Pdf,SIGNAL("triggered()"),self.optionPdf)
+        self.connect(self.actionTraduitV9V10,SIGNAL("triggered()"),self.traductionV9V10)
+        self.connect(self.actionTraduitV10V11,SIGNAL("triggered()"),self.traductionV10V11)
+        self.connect(self.actionTraduitV11V12,SIGNAL("triggered()"),self.traductionV11V12)
+        self.connect(self.actionSauveLigne,SIGNAL("triggered()"),self.sauveLigne)
+
 
         # Pour Carmel
         self.actionChercheGrpMaille = QAction(self)
         self.actionChercheGrpMaille.setText(tr("Acquiert Groupe Maille"))
-        self.connect(self.actionChercheGrpMaille,SIGNAL("activated()"),self.ChercheGrpMaille)
+        self.connect(self.actionChercheGrpMaille,SIGNAL("triggered()"),self.ChercheGrpMaille)
 
         # Pour CarmelCND
         self.actionChercheGrp = QAction(self)
         self.actionChercheGrp.setText(tr("Accquisition Groupe Maille"))
-        self.connect(self.actionChercheGrp,SIGNAL("activated()"),self.ChercheGrp)
+        self.connect(self.actionChercheGrp,SIGNAL("triggered()"),self.ChercheGrp)
 
         # Pour Aide
         self.actionCode = QAction(self)
         self.actionCode.setText(tr("Specificites Maille"))
-        self.connect(self.actionCode,SIGNAL("activated()"),self.aideCode)
+        self.connect(self.actionCode,SIGNAL("triggered()"),self.aideCode)
 
     def Deplier(self):
         self.viewmanager.handleDeplier()
@@ -405,7 +419,10 @@ class Appli(Ui_Eficas,QMainWindow):
        self.recent =  QStringList()
        try :
        #if 1 :
-           rep=os.path.join(os.environ['HOME'],'.config/Eficas',self.code)
+           if sys.platform[0:5]=="linux" :
+              rep=os.path.join(os.environ['HOME'],'.config/Eficas',self.code)
+           else :
+              rep=os.path.join('C:/','.config/Eficas',self.code)
            monFichier=rep+"/listefichiers_"+self.code
            index=0
            f=open(monFichier)
@@ -432,6 +449,8 @@ class Appli(Ui_Eficas,QMainWindow):
         self.recent.prepend(fn)
         if len(self.recent) > 9:
             self.recent = self.recent[:9]
+        index=0
+        self.sauveRecents()
 
     def sauveRecents(self) :
        try :
@@ -456,13 +475,13 @@ class Appli(Ui_Eficas,QMainWindow):
 
 
 
-    def traductionV7V8(self):
+    def traductionV11V12(self):
         from gereTraduction import traduction
-        traduction(self.CONFIGURATION.repIni,self.viewmanager,"V7V8")
+        traduction(self.CONFIGURATION.repIni,self.viewmanager,"V11V12")
 
-    def traductionV8V9(self):
+    def traductionV10V11(self):
         from gereTraduction import traduction
-        traduction(self.CONFIGURATION.repIni,self.viewmanager,"V8V9")
+        traduction(self.CONFIGURATION.repIni,self.viewmanager,"V10V11")
 
     def traductionV9V10(self):
         from gereTraduction import traduction
@@ -483,7 +502,8 @@ class Appli(Ui_Eficas,QMainWindow):
         maD=repAide+"/../Aide"
         try :
           indexAide=maD+"/fichiers_EFICAS/index.html"
-          cmd="xdg-open "+indexAide
+          if sys.platform[0:5]=="linux" : cmd="xdg-open "+indexAide
+          else                          : cmd="start "+indexAide
           os.system(cmd)
         except:
           QMessageBox.warning( self,tr( "Aide Indisponible"),tr( "l'aide n est pas installee "))
@@ -493,7 +513,8 @@ class Appli(Ui_Eficas,QMainWindow):
         if self.code==None : return
         try :
         #if 1 :
-          cmd="xdg-open "+self.fileDoc
+          if sys.platform[0:5]=="linux" : cmd="xdg-open "+self.fileDoc
+          else                          : cmd="start "+self.fileDoc
           os.system(cmd)
         except:
         #else:
@@ -564,6 +585,9 @@ class Appli(Ui_Eficas,QMainWindow):
             if msg != "":
                 QMessageBox.warning(self, tr(u"Erreur"), msg)
 
+    def sauveLigne(self):
+        return self.viewmanager.sauveLigneCurrentEditor()
+
     def fileSave(self):
         return self.viewmanager.saveCurrentEditor()
 
@@ -611,6 +635,9 @@ class Appli(Ui_Eficas,QMainWindow):
     def jdcRapport(self):
         self.viewmanager.handleViewJdcRapport()
 
+    def gestionParam(self):
+        self.viewmanager.handlegestionParam()
+
     def visuJdcPy(self):
         self.viewmanager.handleViewJdcPy()