X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=InterfaceQT4%2FmonChoixCommande.py;h=d7c34f062e6b85865d1fbbe3dba4ea8cea2d0d87;hb=b380d4fbcd34212327ae754b21acae46a9937d45;hp=a1c7b04823f4afbfa685890b2d884551c6509f9a;hpb=df0e1a1f57e70d3d99dd7fb381845500c3d3c6dd;p=tools%2Feficas.git diff --git a/InterfaceQT4/monChoixCommande.py b/InterfaceQT4/monChoixCommande.py index a1c7b048..d7c34f06 100644 --- a/InterfaceQT4/monChoixCommande.py +++ b/InterfaceQT4/monChoixCommande.py @@ -20,70 +20,147 @@ # Modules Eficas from desChoixCommandes import Ui_ChoixCommandes -from PyQt4 import * -from PyQt4.QtCore import * -from PyQt4.QtGui import * -from PyQt4.QtCore import * +from determine import monEnvQT5 +if monEnvQT5 : + from PyQt5.QtWidgets import QWidget, QAction ,QButtonGroup, QRadioButton, QLabel + from PyQt5.QtGui import QIcon + from PyQt5.QtCore import QSize +else : + from PyQt4.QtGui import * + from PyQt4.QtCore import * + from Extensions.i18n import tr import os # Import des panels -class MonChoixCommande(Ui_ChoixCommandes,QtGui.QWidget): +class MonChoixCommande(Ui_ChoixCommandes,QWidget): """ """ def __init__(self,node, jdc_item, editor): - QtGui.QWidget.__init__(self,None) + QWidget.__init__(self,None) self.setupUi(self) - #self.labelIcone.setText(''); + + self.repIcon=os.path.join( os.path.dirname(os.path.abspath(__file__)),'..','Editeur','icons') + iconeFile=os.path.join(self.repIcon,'lettreRblanc30.png') + icon = QIcon(iconeFile) + self.RBRegle.setIcon(icon) + self.RBRegle.setIconSize(QSize(21, 31)) self.item = jdc_item self.node = node self.editor = editor self.jdc = self.item.object.get_jdc_root() - if self.editor.widgetTree != None: - self.connect(self.bFormulaire,SIGNAL("clicked()"),self.bFormulaireReturnPressed) - else : - self.bFormulaire.close() debutTitre=self.editor.titre self.listeWidget=[] + self.dicoCmd={} if self.editor.fichier != None : nouveauTitre=debutTitre+" "+str(os.path.basename(self.editor.fichier)) else : nouveauTitre=debutTitre self.editor.appliEficas.setWindowTitle(nouveauTitre) - self.connect(self.RBalpha,SIGNAL("clicked()"),self.afficheAlpha) - self.connect(self.RBGroupe,SIGNAL("clicked()"),self.afficheGroupe) - self.editor.labelCommentaire.setText("") - self.affiche_alpha=self.editor.affiche_alpha + + + #print self.node.tree + + if monEnvQT5 : + self.RBalpha.clicked.connect(self.afficheAlpha) + self.RBGroupe.clicked.connect(self.afficheGroupe) + self.RBOrdre.clicked.connect(self.afficheOrdre) + self.RBClear.clicked.connect(self.clearFiltre) + self.RBCasse.toggled.connect(self.ajouteRadioButtons) + self.LEFiltre.returnPressed.connect(self.ajouteRadioButtons) + self.LEFiltre.textChanged.connect(self.ajouteRadioButtons) + else : + self.connect(self.RBalpha,SIGNAL("clicked()"),self.afficheAlpha) + self.connect(self.RBGroupe,SIGNAL("clicked()"),self.afficheGroupe) + self.connect(self.RBOrdre,SIGNAL("clicked()"),self.afficheOrdre) + self.connect(self.RBClear,SIGNAL("clicked()"),self.clearFiltre) + self.connect(self.RBCasse,SIGNAL("toggled(bool)"),self.ajouteRadioButtons) + self.connect(self.LEFiltre,SIGNAL("returnPressed()"),self.ajouteRadioButtons) + if self.node.tree.item.get_regles() == () : + self.RBRegle.close() + self.labelRegle.close() + else : + if monEnvQT5 : self.RBRegle.clicked.connect(self.afficheRegle) + else : self.connect(self.RBRegle,SIGNAL("clicked()"),self.afficheRegle) + + if self.editor.Ordre_Des_Commandes == None : self.RBOrdre.close() + + + #self.editor.labelCommentaire.setText("") + if self.editor.widgetOptionnel!= None : + self.editor.fermeOptionnel() + self.editor.widgetOptionnel=None self.name=None - self.AjouteRadioButton() - self.connect(self.LEFiltre,SIGNAL("returnPressed()"),self.AjouteRadioButton) + + self.affiche_alpha=0 + self.affiche_groupe=0 + self.affiche_ordre=0 + if self.editor.affiche=="alpha" : + self.affiche_alpha==1; + self.RBalpha.setChecked(True); + self.afficheAlpha() + elif self.editor.affiche=="groupe" : + self.affiche_groupe==1; + self.RBGroupe.setChecked(True); + self.afficheGroupe() + elif self.editor.affiche=="ordre" : + self.affiche_ordre==1; + self.RBOrdre.setChecked(True); + self.afficheOrdre() + if self.editor.code == "Adao" : self.frameAffichage.close() + + def afficheRegle(self): + self.node.tree.AppelleBuildLBRegles() def afficheAlpha(self): self.affiche_alpha=1 - self.editor.affiche_alpha=1 - self.AjouteRadioButton() + self.affiche_groupe=0 + self.affiche_ordre=0 + self.ajouteRadioButtons() def afficheGroupe(self): self.affiche_alpha=0 - self.editor.affiche_alpha=0 - self.AjouteRadioButton() + self.affiche_groupe=1 + self.affiche_ordre=0 + self.ajouteRadioButtons() - def bFormulaireReturnPressed(self): - print "PNPNPNPN a Programmer" - self.connect(self.bFormulaire,SIGNAL("clicked()"),self.bFormulaireReturnPressed) + def afficheOrdre(self): + self.affiche_alpha=0 + self.affiche_groupe=0 + self.affiche_ordre=1 + self.ajouteRadioButtons() def mouseDoubleClickEvent(self,event): nodeCourrant=self.node.tree.currentItem() if nodeCourrant==None: nodeCourrant=self.node.tree.racine if self.name != None : - if nodeCourrant==self.node : self.node.append_child(self.name,'first') - else : nodeCourrant.append_brother(self.name) + 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) + else : + nouveau = 0 + if nouveau == 0 : return # on n a pas insere le noeud + nouveau.setDeplie() + #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() + else : nouveau.deplieToutEtReaffiche() + nouveau.fenetre.donnePremier() + #nouveau.deplieToutEtReaffiche() + else : + self.node.setSelected(False) + nouveau.setSelected(True) + self.node.tree.setCurrentItem(nouveau) + event.accept() + - def CreeListeCommande(self,filtre): + def creeListeCommande(self,filtre): listeGroupes,dictGroupes=self.jdc.get_groups() + sensibleALaCasse=self.RBCasse.isChecked() if "CACHE" in dictGroupes.keys(): aExclure=dictGroupes["CACHE"] else: @@ -91,61 +168,97 @@ class MonChoixCommande(Ui_ChoixCommandes,QtGui.QWidget): listeACreer=[] for l in self.jdc.get_liste_cmd(): if l not in aExclure : - if filtre != None and not filtre in l : continue + 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 listeACreer.append(l) return listeACreer - def AjouteRadioButton(self): + def ajouteRadioButtons(self): + #print 'ds ajouteRadioButtons' filtre=str(self.LEFiltre.text()) if filtre==str("") : filtre=None if hasattr(self,'buttonGroup') : for b in self.buttonGroup.buttons(): self.buttonGroup.removeButton(b) + b.setParent(None) b.close() else : self.buttonGroup = QButtonGroup() for w in self.listeWidget : + w.setParent(None) w.close() self.listeWidget=[] if self.affiche_alpha==1 : - liste=self.CreeListeCommande(filtre) + 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) rbcmd.mouseDoubleClickEvent=self.mouseDoubleClickEvent - self.connect(self.buttonGroup, SIGNAL("buttonClicked(QAbstractButton*)"),self.rbClique) - else : + if monEnvQT5: + self.buttonGroup.buttonClicked.connect(self.rbClique) + else : + self.connect(self.buttonGroup, SIGNAL("buttonClicked(QAbstractButton*)"),self.rbClique) + elif self.affiche_groupe==1 : listeGroupes,dictGroupes=self.jdc.get_groups() for grp in listeGroupes: if grp == "CACHE" : continue label=QLabel(self) - text=QString.fromUtf8('

Groupe : '+tr(grp)+'

') + if monEnvQT5 : + text=tr('

Groupe : '+tr(grp)+'

') + else : + text=QString.fromUtf8('

Groupe : '+tr(grp)+'

') label.setText(text) self.listeWidget.append(label) aAjouter=1 + sensibleALaCasse=self.RBCasse.isChecked() for cmd in dictGroupes[grp]: - if filtre != None and not filtre in cmd : continue + if sensibleALaCasse and (filtre != None and not filtre in cmd) : continue + if (not sensibleALaCasse) and filtre != None and (not filtre in cmd) and (not filtre.upper() in cmd) : continue if aAjouter == 1 : self.commandesLayout.addWidget(label) aAjouter=0 + self.dicoCmd[tr(cmd)]=cmd rbcmd=(QRadioButton(tr(cmd))) self.buttonGroup.addButton(rbcmd) self.commandesLayout.addWidget(rbcmd) rbcmd.mouseDoubleClickEvent=self.mouseDoubleClickEvent - self.connect(self.buttonGroup, SIGNAL("buttonClicked(QAbstractButton*)"),self.rbClique) + if monEnvQT5: + self.buttonGroup.buttonClicked.connect(self.rbClique) + else : + self.connect(self.buttonGroup, SIGNAL("buttonClicked(QAbstractButton*)"),self.rbClique) label2=QLabel(self) label2.setText(" ") self.listeWidget.append(label2) self.commandesLayout.addWidget(label2) + elif self.affiche_ordre==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 + for cmd in Ordre_Des_Commandes : + if cmd in listeFiltre : + liste.append(cmd) + for cmd in liste : + self.dicoCmd[tr(cmd)]=cmd + rbcmd=(QRadioButton(tr(cmd))) + self.buttonGroup.addButton(rbcmd) + self.commandesLayout.addWidget(rbcmd) + rbcmd.mouseDoubleClickEvent=self.mouseDoubleClickEvent + if monEnvQT5: + self.buttonGroup.buttonClicked.connect(self.rbClique) + else : + self.connect(self.buttonGroup, SIGNAL("buttonClicked(QAbstractButton*)"),self.rbClique) - def LEfiltreReturnPressed(self): - self.AjouteRadioButton(filtre) + def clearFiltre(self): + self.LEFiltre.setText("") + self.ajouteRadioButtons() def rbClique(self,id): - self.name=str(id.text().toLatin1()) + self.name=self.dicoCmd[str(id.text())] definitionEtape=getattr(self.jdc.cata[0],self.name) commentaire=getattr(definitionEtape,self.jdc.lang) try : @@ -155,15 +268,8 @@ class MonChoixCommande(Ui_ChoixCommandes,QtGui.QWidget): commentaire=getattr(definitionEtape,"ang") except : commentaire="" - self.editor.labelCommentaire.setText(commentaire) - - def bOkPressed(self): - if self.name==None : - QMessageBox.critical(None, tr("Commande non choisie "), - tr("Vous devez choisir une commande") ) - return - #new_node = self.node.append_child(self.name,'first') - self.node.tree.choisitPremier(self.name) + self.editor.affiche_commentaire(commentaire) + def setValide(self):