Salome HOME
modifs pour Telemac
[tools/eficas.git] / InterfaceQT4 / monChoixCommande.py
index 09a0913f955481628f6db3efeffd633e39e308ef..5ebb70c4ff0f34406273f3ad6d29047b03ba6400 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2007-2013   EDF R&D
+# Copyright (C) 2007-2017   EDF R&D
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -39,7 +39,7 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget):
   """
   """
   def __init__(self,node, jdc_item, editor):
-      QWidget.__init__(self,None)
+      QWidget.__init__(self,parent=None)
       self.setupUi(self)
 
       self.repIcon=os.path.join( os.path.dirname(os.path.abspath(__file__)),'..','Editeur','icons')
@@ -51,12 +51,13 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget):
       self.item = jdc_item
       self.node = node
       self.editor = editor
-      self.jdc  = self.item.object.get_jdc_root()
+      self.simpleClic=self.editor.maConfiguration.simpleClic
+      self.jdc  = self.item.object.getJdcRoot()
       debutTitre=self.editor.titre
       self.listeWidget=[]
       self.dicoCmd={}
       if self.editor.fichier != None : 
-          nouveauTitre=debutTitre+" "+str(os.path.basename(self.editor.fichier))
+          nouveauTitre=debutTitre+" "+os.path.basename(self.editor.fichier)
       else :
           nouveauTitre=debutTitre
       self.editor.appliEficas.setWindowTitle(nouveauTitre)
@@ -70,13 +71,13 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget):
       self.LEFiltre.returnPressed.connect(self.ajouteRadioButtons)
       self.LEFiltre.textChanged.connect(self.ajouteRadioButtons)
 
-      if self.node.tree.item.get_regles() == () :
+      if self.node.tree.item.getRegles() == () :
          self.RBRegle.close()
          self.labelRegle.close()
       else : 
         self.RBRegle.clicked.connect(self.afficheRegle)
 
-      if self.editor.Ordre_Des_Commandes == None : self.RBOrdre.close()
+      if self.editor.readercata.Ordre_Des_Commandes == None : self.RBOrdre.close()
 
        
       #self.editor.labelCommentaire.setText("")
@@ -85,45 +86,45 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget):
          self.editor.widgetOptionnel=None
       self.name=None
 
-      self.affiche_alpha=0
-      self.affiche_groupe=0
-      self.affiche_ordre=0
-      if self.editor.affiche=="alpha"  : 
-         self.affiche_alpha==1;  
+      self.boolAlpha=0
+      self.boolGroupe=0
+      self.boolOrdre=0
+      if self.editor.maConfiguration.affiche=="alpha"  : 
+         self.boolAlpha==1;  
          self.RBalpha.setChecked(True);
          self.afficheAlpha()
-      elif self.editor.affiche=="groupe" : 
-         self.affiche_groupe==1; 
+      elif self.editor.maConfiguration.affiche=="groupe" : 
+         self.boolGroupe==1; 
          self.RBGroupe.setChecked(True); 
          self.afficheGroupe()
-      elif self.editor.affiche=="ordre"  : 
-         self.affiche_ordre==1;  
+      elif self.editor.maConfiguration.affiche=="ordre"  : 
+         self.boolOrdre==1;  
          self.RBOrdre.setChecked(True);  
          self.afficheOrdre()
-      if self.editor.closeFrameRechercheCommande == True : self.frameAffichage.close()
+      if self.editor.maConfiguration.closeFrameRechercheCommande == True : self.frameAffichage.close()
 
       if self.editor.widgetTree != None : self.editor.restoreSplitterSizes(2) 
       else: self.editor.restoreSplitterSizes(3)
 
   def afficheRegle(self):
-      self.node.tree.AppelleBuildLBRegles()
+      self.node.tree.appellebuildLBRegles()
 
   def afficheAlpha(self):
-      self.affiche_alpha=1
-      self.affiche_groupe=0
-      self.affiche_ordre=0
+      self.boolAlpha=1
+      self.boolGroupe=0
+      self.boolOrdre=0
       self.ajouteRadioButtons()
 
   def afficheGroupe(self):
-      self.affiche_alpha=0
-      self.affiche_groupe=1
-      self.affiche_ordre=0
+      self.boolAlpha=0
+      self.boolGroupe=1
+      self.boolOrdre=0
       self.ajouteRadioButtons()
 
   def afficheOrdre(self):
-      self.affiche_alpha=0
-      self.affiche_groupe=0
-      self.affiche_ordre=1
+      self.boolAlpha=0
+      self.boolGroupe=0
+      self.boolOrdre=1
       self.ajouteRadioButtons()
 
   def insereNoeudApresClick(self,event):
@@ -133,9 +134,9 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget):
       nodeCourrant=self.node.tree.currentItem()
       if nodeCourrant==None: nodeCourrant=self.node.tree.racine
       if self.name != None :
-         plier=self.editor.afficheCommandesPliees
-         if nodeCourrant==self.node : nouveau=self.node.append_child(self.name,'first',plier)
-         else : nouveau=nodeCourrant.append_brother(self.name,plier=plier)
+         plier=self.editor.maConfiguration.afficheCommandesPliees
+         if nodeCourrant==self.node : nouveau=self.node.appendChild(self.name,'first',plier)
+         else : nouveau=nodeCourrant.appendBrother(self.name,plier=plier)
       else :
          nouveau = 0
       if nouveau == 0 : return # on n a pas insere le noeud
@@ -143,7 +144,7 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget):
       #if self.editor.afficheApresInsert==True : nouveau.plieToutEtReaffiche()
       if self.editor.afficheApresInsert == True :
            #if self.editor.affichePlie==True:  nouveau.plieToutEtReaffiche()
-           if self.editor.afficheCommandesPliees ==True:  nouveau.plieToutEtReaffiche()
+           if self.editor.maConfiguration.afficheCommandesPliees ==True:  nouveau.plieToutEtReaffiche()
            else : nouveau.deplieToutEtReaffiche()
            nouveau.fenetre.donnePremier()
            #nouveau.deplieToutEtReaffiche()
@@ -156,14 +157,14 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget):
          
 
   def creeListeCommande(self,filtre):
-      listeGroupes,dictGroupes=self.jdc.get_groups()
+      listeGroupes,dictGroupes=self.jdc.getGroups()
       sensibleALaCasse=self.RBCasse.isChecked()
       if "CACHE" in dictGroupes:
          aExclure=dictGroupes["CACHE"]
       else:
          aExclure=()
       listeACreer=[]
-      for l in self.jdc.get_liste_cmd():
+      for l in self.jdc.getListeCmd():
          if l not in aExclure : 
             if sensibleALaCasse and (filtre != None and not filtre in l) : continue
             if (not sensibleALaCasse) and filtre != None and (not filtre in l) and (not filtre.upper() in l) : continue
@@ -171,7 +172,7 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget):
       return listeACreer
 
   def ajouteRadioButtons(self):
-      if self.editor.nombreDeBoutonParLigne != 0 :
+      if self.editor.maConfiguration.nombreDeBoutonParLigne != 0 :
          self.ajoutePushButtons()
          return
       #print 'ds ajouteRadioButtons'
@@ -188,18 +189,23 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget):
          w.setParent(None)
          w.close()
       self.listeWidget=[]
-      if self.affiche_alpha==1 :
+      if self.boolAlpha==1 :
          liste=self.creeListeCommande(filtre)
          for cmd in liste :
            self.dicoCmd[tr(cmd)]=cmd
            rbcmd=(QRadioButton(tr(cmd)))
            self.buttonGroup.addButton(rbcmd)
            self.commandesLayout.addWidget(rbcmd)
-           if self.editor.simpleClic :  rbcmd.mouseReleaseEvent=self.insereNoeudApresClick
-           else : rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick
-           self.buttonGroup.buttonClicked.connect(self.rbClique) 
-      elif  self.affiche_groupe==1 :
-         listeGroupes,dictGroupes=self.jdc.get_groups()
+           #if self.simpleClic :  rbcmd.mouseReleaseEvent=self.insereNoeudApresClick
+           #else : rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick
+           #self.buttonGroup.buttonClicked.connect(self.rbClique) 
+           if not(self.simpleClic ):  rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick
+         if self.simpleClic :  
+            self.buttonGroup.buttonClicked.connect(self.rbCliqueEtInsere) 
+         else :
+            self.buttonGroup.buttonClicked.connect(self.rbClique) 
+      elif  self.boolGroupe==1 :
+         listeGroupes,dictGroupes=self.jdc.getGroups()
          for grp in listeGroupes:
            if grp == "CACHE" : continue
            label=QLabel(self)
@@ -218,18 +224,20 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget):
               rbcmd=(QRadioButton(tr(cmd)))
               self.buttonGroup.addButton(rbcmd)
               self.commandesLayout.addWidget(rbcmd)
-              if self.editor.simpleClic :  rbcmd.mouseReleaseEvent=self.insereNoeudApresClick
-              else : rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick
-              self.buttonGroup.buttonClicked.connect(self.rbClique) 
+              if not(self.simpleClic ):  rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick
+           if self.simpleClic :  
+             self.buttonGroup.buttonClicked.connect(self.rbCliqueEtInsere) 
+           else :
+             self.buttonGroup.buttonClicked.connect(self.rbClique) 
            label2=QLabel(self)
            label2.setText(" ")
            self.listeWidget.append(label2)
            self.commandesLayout.addWidget(label2)
-      elif  self.affiche_ordre==1 :
+      elif  self.boolOrdre==1 :
          listeFiltre=self.creeListeCommande(filtre)
          liste=[]
-         if self.editor.Ordre_Des_Commandes == None : Ordre_Des_Commandes=listeFiltre
-         else : Ordre_Des_Commandes=self.editor.Ordre_Des_Commandes
+         if self.editor.readercata.Ordre_Des_Commandes == None : Ordre_Des_Commandes=listeFiltre
+         else : Ordre_Des_Commandes=self.editor.readercata.Ordre_Des_Commandes
          for cmd in Ordre_Des_Commandes :
             if cmd in listeFiltre :
                  liste.append(cmd)
@@ -238,11 +246,14 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget):
            rbcmd=(QRadioButton(tr(cmd)))
            self.buttonGroup.addButton(rbcmd)
            self.commandesLayout.addWidget(rbcmd)
-           if self.editor.simpleClic :  rbcmd.mouseReleaseEvent=self.insereNoeudApresClick
-           else : rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick
-           self.buttonGroup.buttonClicked.connect(self.rbClique) 
+           if not(self.simpleClic ):  rbcmd.mouseDoubleClickEvent=self.insereNoeudApresClick
+         if self.simpleClic :  
+            self.buttonGroup.buttonClicked.connect(self.rbCliqueEtInsere) 
+         else :
+            self.buttonGroup.buttonClicked.connect(self.rbClique) 
 
      
+
   def ajoutePushButtons(self):
       if hasattr(self,'buttonGroup') :
          for b in self.buttonGroup.buttons():
@@ -264,11 +275,21 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget):
          self.verticalLayout.addLayout(self.maGrilleBouton)
       col=-1
       ligne = 0
-      if self.affiche_alpha==1 :
+
+      if self.boolAlpha==1 :
          liste=self.creeListeCommande(None)
-         for cmd in liste :
+      elif  self.boolOrdre:
+         liste=self.creeListeCommande(None)
+         listeFiltre=self.creeListeCommande(None)
+         liste=[]
+         if self.editor.readercata.Ordre_Des_Commandes == None : Ordre_Des_Commandes=listeFiltre
+         else : Ordre_Des_Commandes=self.editor.readercata.Ordre_Des_Commandes
+         for cmd in Ordre_Des_Commandes :
+            if cmd in listeFiltre :
+                 liste.append(cmd)
+      for cmd in liste :
            col=col+1
-           if col == self.editor.nombreDeBoutonParLigne :
+           if col == self.editor.maConfiguration.nombreDeBoutonParLigne :
               col=0
               ligne=ligne+1
            self.dicoCmd[tr(cmd)]=cmd
@@ -281,8 +302,9 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget):
 "border-width : 30 px;\n"
 "border-color : beige;\n"
 "text-align : center")
-           if cmd in self.editor.dicoImages :
-              fichier=self.editor.dicoImages[cmd]
+           #print ('self.editor.maConfiguration.dicoImages', self.editor.maConfiguration.dicoImages)
+           if cmd in self.editor.maConfiguration.dicoImages :
+              fichier=self.editor.maConfiguration.dicoImages[cmd]
               icon = QIcon()
               icon.addPixmap(QPixmap(fichier), QIcon.Normal, QIcon.Off)
               rbcmd.setIcon(icon)
@@ -300,9 +322,17 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget):
       self.insereNoeudApresClick(None)
 
   def rbClique(self,id):
-      self.name=self.dicoCmd[str(id.text())]
-      definitionEtape=getattr(self.jdc.cata[0],self.name)
-      commentaire=getattr(definitionEtape,self.jdc.lang)
+      try : 
+        self.name=self.dicoCmd[id.text()]
+      except : 
+        try :
+          self.name=self.dicoCmd[str(id.text())]
+        except :
+          print ('pb d accent : contacter la maintenance')
+
+      definitionEtape=getattr(self.jdc.cata,self.name)
+      #commentaire=getattr(definitionEtape,self.jdc.lang)
       try :
         commentaire=getattr(definitionEtape,self.jdc.lang)
       except :
@@ -310,7 +340,7 @@ class MonChoixCommande(Ui_ChoixCommandes,QWidget):
            commentaire=getattr(definitionEtape,"ang")
         except :
            commentaire=""
-      self.editor.affiche_commentaire(commentaire)
+      self.editor.afficheCommentaire(commentaire)