Salome HOME
bugs Sophie 1
[tools/eficas.git] / InterfaceQT4 / compooper.py
index 80f985933b726d8245dbc8f6d3a03241c8321f4b..35b1e2f0218bed63f519da1b7c132e119d552c91 100644 (file)
 #
 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 #
+from __future__ import absolute_import
+try :
+   from builtins import str
+except : pass
+
 import os
 import tempfile
-from PyQt4.QtGui import QMessageBox, QAction, QApplication, QCursor
-from PyQt4.QtGui import *
-from PyQt4.QtCore import Qt, SIGNAL, QVariant
+from PyQt5.QtWidgets import QMessageBox, QAction, QApplication
+from PyQt5.QtGui  import QCursor
+from PyQt5.QtCore import Qt
+
 from Extensions.i18n import tr
 from Extensions.eficas_exception import EficasException
 
 from Editeur     import Objecttreeitem
-import browser
-import typeNode
+from . import browser
+from . import typeNode
 
 class Node(browser.JDCNode, typeNode.PopUpMenuNode):
 
-    def __init__(self,treeParent, item):
-        browser.JDCNode.__init__( self, treeParent, item)
 
     def select(self):
         browser.JDCNode.select(self)
-        #self.treeParent.tree.openPersistentEditor(self,1)
-        #self.monWidgetNom=self.treeParent.tree.itemWidget(self,1)
-        #self.treeParent.tree.connect(self.monWidgetNom,SIGNAL("returnPressed()"), self.nomme)
-        #if self.item.GetIconName() == "ast-red-square" : self.monWidgetNom.setDisabled(True)
+        self.treeParent.tree.openPersistentEditor(self,1)
+        self.monWidgetNom=self.treeParent.tree.itemWidget(self,1)
+        self.monWidgetNom.returnPressed.connect(self.nomme)
+        if self.item.GetIconName() == "ast-red-square" : self.monWidgetNom.setDisabled(True)
         #else : self.monWidgetNom.setFocus()  ;self.monWidgetNom.setDisabled(False)
 
     def nomme(self):
@@ -51,43 +55,38 @@ class Node(browser.JDCNode, typeNode.PopUpMenuNode):
            old=self.item.GetText()
            self.monWidgetNom.setText(old)
         else :
-           self.editor.affiche_infos(tr("Nommage du concept effectue"))
+           self.editor.affiche_commentaire(tr("Nommage du concept effectue"))
            self.onValid()
            try :
-              self.editor.panel.LENomConcept.setText(nom)
+             self.fenetre.LENom.setText(nom)
            except :
-               pass
+             pass
 
-    def getPanel( self ):
-        """
-        """
-        from monCommandePanel import MonCommandePanel
-        return MonCommandePanel(self,parent=self.editor)
 
-    def getPanel2(self):
-        from monWidgetCommande import MonWidgetCommande
+    def getPanel(self):
+        from .monWidgetCommande import MonWidgetCommande
         return MonWidgetCommande(self,self.editor,self.item.object)
 
     def createPopUpMenu(self):
         typeNode.PopUpMenuNode.createPopUpMenu(self)
         if ("AFFE_CARA_ELEM" in self.item.get_genealogie()) and self.editor.salome: 
            self.ViewElt = QAction(tr('View3D'),self.tree)
-           self.tree.connect(self.ViewElt,SIGNAL("activated()"),self.view3D)
+           self.tree.connect(self.ViewElt,SIGNAL("triggered()"),self.view3D)
            self.ViewElt.setStatusTip(tr("affiche dans Geom les elements de structure"))
            self.menu.addAction(self.ViewElt)
            if self.item.isvalid() :
-             self.ViewElt.setEnabled(1)
+              self.ViewElt.setEnabled(1)
            else:
-             self.ViewElt.setEnabled(0)
+              self.ViewElt.setEnabled(0)
         if  self.item.get_nom() == "DISTRIBUTION" :
            self.Graphe = QAction(tr('Graphique'),self.tree)
-           self.tree.connect(self.Graphe,SIGNAL("activated()"),self.viewPng)
+           self.Graphe.triggered.connect(self.viewPng)
            self.Graphe.setStatusTip(tr("affiche la distribution "))
            self.menu.addAction(self.Graphe)
            if self.item.isvalid() :
-             self.Graphe.setEnabled(1)
+              self.Graphe.setEnabled(1)
            else:
-             self.Graphe.setEnabled(0)
+              self.Graphe.setEnabled(0)
 
     def view3D(self) :
         from Editeur import TroisDPal
@@ -102,7 +101,7 @@ class Node(browser.JDCNode, typeNode.PopUpMenuNode):
             g = generator.plugins[self.appliEficas.format_fichier]()
             g.gener(self.item.object, format='beautifie')
             stdGener = g.getGenerateur()
-            loi = g.dictMCLois.keys()[0]
+            loi = list(g.dictMCLois.keys())[0]
             nomLoi = loi.get_name()
             (fd, fichier) = tempfile.mkstemp(prefix = "openturns_graph_", suffix = ".png")
             os.close(fd)
@@ -111,7 +110,7 @@ class Node(browser.JDCNode, typeNode.PopUpMenuNode):
             script = stdGener.GraphiquePDF(loi, chemin, base)
             #print script
             d = {}
-            exec script in d
+            exec(script, d)
             widgetPng=MonLabelPixmap(self.appliEficas,fichier,nomLoi)
             os.remove(fichier)
             QApplication.restoreOverrideCursor()
@@ -172,11 +171,12 @@ class EtapeTreeItem(Objecttreeitem.ObjectTreeItem):
       - la fonte dans laquelle afficher ce texte
       - la couleur du texte
       """
-      if self.object.isactif():
+      return self.labeltext,None,None
+      #if self.object.isactif():
         # None --> fonte et couleur par défaut
-        return self.labeltext,None,None
-      else:
-        return self.labeltext, None, None #CS_pbruno todo
+      #  return self.labeltext,None,None
+      #else:
+      #  return self.labeltext, None, None #CS_pbruno todo
       
   def get_objet(self,name) :
       for v in self.object.mc_liste:
@@ -203,15 +203,15 @@ class EtapeTreeItem(Objecttreeitem.ObjectTreeItem):
       # item.getObject() = MCSIMP, MCFACT, MCBLOC ou MCList 
       itemobject=item.getObject()
       if itemobject.isoblig() :
-          self.appli.affiche_infos(tr('Impossible de supprimer un mot-clef obligatoire '),Qt.red)
-          return 0
+          #self.editor.affiche_infos(tr('Impossible de supprimer un mot-clef obligatoire '),Qt.red)
+          return (0,tr('Impossible de supprimer un mot-clef obligatoire '))
       if self.object.suppentite(itemobject):
           message = tr("Mot-clef %s supprime " , itemobject.nom)
-          self.appli.affiche_infos(message)
-          return 1
+          #self.editor.affiche_commentaire(message)
+          return (1,message)
       else :
-          self.appli.affiche_infos(tr('Pb interne : impossible de supprimer ce mot-clef'),Qt.red)
-          return 0
+          #self.editor.affiche_commentaire(tr('Pb interne : impossible de supprimer ce mot-clef'),Qt.red)
+          return (0,tr('Pb interne : impossible de supprimer ce mot-clef'))
 
   def GetText(self):
       try:
@@ -219,9 +219,10 @@ class EtapeTreeItem(Objecttreeitem.ObjectTreeItem):
       except:
           return ''
 
-  def keys(self):
-      keys=self.object.mc_dict.keys()
-      return keys
+  # PNPN ????
+  #def keys(self):
+  #    keys=self.object.mc_dict
+  #    return keys
 
   def GetSubList(self):
       """
@@ -281,7 +282,7 @@ class EtapeTreeItem(Objecttreeitem.ObjectTreeItem):
          oldnom=self.object.sd.nom
       test,mess= self.object.nomme_sd(nom)
       if test:self.object.parent.reset_context()
-      if (test and self.appli.dict_reels.has_key(oldnom) ):
+      if (test and oldnom in self.appli.dict_reels ):
               self.appli.dict_reels[nom]=self.appli.dict_reels[oldnom]
       return test,mess
 
@@ -305,14 +306,14 @@ class EtapeTreeItem(Objecttreeitem.ObjectTreeItem):
           Cette méthode retourne un objet commentarisé
           représentatif de self.object
       """
-      import generator,string,Accas
+      import generator,Accas
       # Format de fichier utilisé
       format=self.appli.appliEficas.format_fichier
       g=generator.plugins[format]()
       texte_commande = g.gener(self.object,format='beautifie')
       # Il faut enlever la premiere ligne vide de texte_commande que 
       # rajoute le generator
-      rebut,texte_commande = string.split(texte_commande,'\n',1)
+      rebut,texte_commande = texte_commande.split('\n',1)
       # on construit l'objet COMMANDE_COMM repésentatif de self mais non 
       # enregistré dans le jdc
       commande_comment = Accas.COMMANDE_COMM(texte=texte_commande,reg='non',