Salome HOME
19-07-16
[tools/eficas.git] / InterfaceQT4 / viewManager.py
index e2fcece0b9b0e6a982743786a1b52b2ec3024ae4..b75e31a3a8ccab97478c605fb33d1a26d0b61892 100644 (file)
 #
 
 import os, string
-from PyQt4.QtGui  import *
-from PyQt4.QtCore import *
 from Extensions.i18n import tr
+from determine import monEnvQT5
+if monEnvQT5:
+   from  PyQt5.QtWidgets  import QFileDialog, QMessageBox
+   from  PyQt5.QtCore  import QFileInfo
+else :
+    from PyQt4.QtGui  import *
+    from PyQt4.QtCore import *
 
 DictExtensions= {"MAP" : ".map"}
 class MyTabview:
@@ -37,9 +42,14 @@ class MyTabview:
        self.doubles = {}
 
        self.myQtab = self.appliEficas.myQtab
-       self.myQtab.connect(self.myQtab, SIGNAL('tabCloseRequested(int)'), self.closeTab)
-       if self.appliEficas.multi== True:
-          self.myQtab.connect(self.myQtab,SIGNAL("currentChanged(int)"),self.indexChanged)
+
+       if monEnvQT5:
+          self.myQtab.currentChanged.connect(self.indexChanged)
+          self.myQtab.tabCloseRequested.connect(self.closeTab)
+       else :
+          self.myQtab.connect(self.myQtab, SIGNAL('tabCloseRequested(int)'), self.closeTab)
+          if self.appliEficas.multi== True:
+             self.myQtab.connect(self.myQtab,SIGNAL("currentChanged(int)"),self.indexChanged)
         
    def indexChanged(self):
        index=self.myQtab.currentIndex()
@@ -53,7 +63,7 @@ class MyTabview:
    def handleOpen(self,fichier=None,patron=0,units=None):
        result = None
        if fichier is None:
-            if self.appliEficas.multi==True : 
+            if self.appliEficas.demande==True : 
                self.appliEficas.definitCode(None,None)
                if self.appliEficas.code == None:return
             
@@ -67,8 +77,8 @@ class MyTabview:
                         tr('Ouvrir Fichier'),
                         self.appliEficas.CONFIGURATION.savedir,
                          extensions)
-            if fichier.isNull(): 
-              return result
+            if monEnvQT5 : fichier=fichier[0]
+            if not fichier: return result
        fichier = os.path.abspath(unicode(fichier))
        ulfile = os.path.abspath(unicode(fichier))
        self.appliEficas.CONFIGURATION.savedir=os.path.split(ulfile)[0]
@@ -163,7 +173,7 @@ class MyTabview:
        editor.handleSupprimer()
 
    def newEditor(self,include=0):
-       if self.appliEficas.multi==True : 
+       if self.appliEficas.demande==True : 
            self.appliEficas.definitCode(None,None)
            if self.appliEficas.code == None:return
        maPage=self.getEditor(include=include)
@@ -176,10 +186,15 @@ class MyTabview:
        if index < 0 : return
        self.dict_editors[index].viewJdcSource()
 
+   def handleViewJdcRegles(self):
+       index=self.myQtab.currentIndex()
+       if index < 0 : return
+       self.dict_editors[index].viewJdcRegles()
+
    def handlegestionParam(self):
        index=self.myQtab.currentIndex()
        if index < 0 : 
-          QMessageBox.warning( self.appliEficas,tr( "Creation Paramètre indisponible"),tr( "les paramètres sont liés à un jeu de données"))
+          QMessageBox.warning( self.appliEficas,tr(u"Creation Parametre indisponible"),tr(u"les parametres sont lies a un jeu de donnees"))
           return
        self.dict_editors[index].gestionParam()
 
@@ -201,8 +216,7 @@ class MyTabview:
            QMessageBox.warning(
                      None,
                      tr("Fichier Duplique"),
-                     tr("Le fichier ne sera pas sauvegarde."),
-                     tr("&Annuler"))
+                     tr("Le fichier ne sera pas sauvegarde."),)
            return
        ok, newName = editor.saveFile()
        if ok :
@@ -218,8 +232,7 @@ class MyTabview:
            QMessageBox.warning(
                      None,
                      tr("Fichier Duplique"),
-                     tr("Le fichier ne sera pas sauvegarde."),
-                     tr("&Annuler"))
+                     tr("Le fichier ne sera pas sauvegarde."),)
            return
        ok, newName = editor.sauveLigneFile()
        if ok :
@@ -259,11 +272,19 @@ class MyTabview:
        for indexEditor in self.dict_editors.keys():
            editor=self.dict_editors[indexEditor]
            if self.samepath(fichier, editor.getFileName()):
-              abort = QMessageBox.warning(self.appliEficas,
-                        tr("Fichier"),
-                        tr("Le fichier <b>%s</b> est deja ouvert.",str(fichier)),
-                        tr("&Duplication"),
-                        tr("&Abort"))
+              if monEnvQT5 :
+                msgBox = QMessageBox()
+                msgBox.setWindowTitle(tr("Fichier"))
+                msgBox.setText(tr("Le fichier <b>%s</b> est deja ouvert", str(fichier)))
+                msgBox.addButton(tr("&Duplication"),0)
+                msgBox.addButton(tr("&Abandonner"),1)
+                abort=msgBox.exec_()
+              else :
+                abort = QMessageBox.warning(self.appliEficas,
+                      tr("Fichier"),
+                      tr("Le fichier <b>%s</b> est deja ouvert.",str(fichier)),
+                      tr("&Duplication"),
+                      tr("&Abort"))
               if abort: break
               double=editor
        else :
@@ -291,7 +312,7 @@ class MyTabview:
 #PNPNPNPN --> a affiner
         if fichier is None:
             self.untitledCount += 1
-            self.myQtab.addTab(win, tr("Fichier non encore nommé ", self.untitledCount))
+            self.myQtab.addTab(win, tr("Fichier non encore nomme ", self.untitledCount))
             #self.myQtab.addTab(win, str(self.appliEficas.code))
         else:
             liste=fichier.split('/')
@@ -329,7 +350,15 @@ class MyTabview:
         """        
         res=1 
         if (editor.modified) and (editor in self.doubles.keys()) :
-            res = QMessageBox.warning(
+            if monEnvQT5 :
+              msgBox = QMessageBox(None)
+              msgBox.setWindowTitle(tr("Fichier Duplique"))
+              msgBox.setText(tr("Le fichier ne sera pas sauvegarde."))
+              msgBox.addButton(texte,0)
+              msgBox.addButton(tr("&Annuler"),1)
+              res=msgBox.exec_()
+            else:
+              res = QMessageBox.warning(
                      None,
                      tr("Fichier Duplique"),
                      tr("Le fichier ne sera pas sauvegarde."),
@@ -339,14 +368,22 @@ class MyTabview:
             return 2
         if editor.modified:
             fn = editor.getFileName()
-            if fn is None:
-                fn = self.appliEficas.trUtf8('Noname')
-            res = QMessageBox.warning(self.appliEficas, 
+            if fn is None: fn = tr('Noname')
+            if monEnvQT5 :
+              msgBox = QMessageBox(None)
+              msgBox.setWindowTitle(tr("Fichier Modifie"))
+              msgBox.setText(tr("Le fichier ne sera pas sauvegarde."))
+              msgBox.addButton(tr("&Sauvegarder"),1)
+              msgBox.addButton(tr("&Quitter sans sauvegarder"),0)
+              res=msgBox.exec_()
+            else :
+              res = QMessageBox.warning(self.appliEficas, 
                 tr("Fichier Modifie"),
                 tr("Le fichier %s n a pas ete sauvegarde.",str(fn)),
                 tr("&Sauvegarder"),
                 tr(texte),
-                tr("&Annuler") )
+                tr("&Quitter sans sauvegarder") )
+              if res == 2 : res = 1
             if res == 0:
                 (ok, newName) = editor.saveFile()
                 if ok: