X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=InterfaceQT4%2Ffeuille.py;h=dcd0c0683b83a1d830055a532084b1aa5a60950c;hb=39b7b166eb606b80c9ac427811651b20db79bde2;hp=fc1fc486adb0b1d5118b3a44dbf132d0ea2c6194;hpb=e570dff249a11579eb7d33de376ed71be16d7261;p=tools%2Feficas.git diff --git a/InterfaceQT4/feuille.py b/InterfaceQT4/feuille.py index fc1fc486..dcd0c068 100644 --- a/InterfaceQT4/feuille.py +++ b/InterfaceQT4/feuille.py @@ -21,16 +21,21 @@ import string,types,os import traceback -from PyQt4 import * -from PyQt4.QtGui import * -from PyQt4.QtCore import * +from determine import monEnvQT5 +if monEnvQT5: + from PyQt5.QtWidgets import QToolButton ,QWidget + from PyQt5.QtGui import QFont, QFontMetrics +else : + from PyQt4.QtGui import * + from PyQt4.QtCore import * from Extensions.i18n import tr + from gereIcones import ContientIcones from gereIcones import FacultatifOuOptionnel from qtSaisie import SaisieValeur -nomMax=26 +nomMax=250 # ---------------------------------------------------------------------- # class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): # --------------------------------------------------------------------- # @@ -42,6 +47,9 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): QWidget.__init__(self,None) self.node=node self.node.fenetre=self + + # on se positionne pour les icones + #os.chdir(os.path.abspath(os.path.join(os.path.dirname(__file__)))) self.setupUi(self) self.prendLeFocus=0 @@ -66,6 +74,7 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): self.setIconePoubelle() self.setIconesFichier() self.setIconesSalome() + self.setIconesGenerales() self.setCommentaire() self.setZoneInfo() @@ -73,13 +82,23 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): def setNom(self): self.debutToolTip="" nomTraduit=tr(self.objSimp.nom) - if len(nomTraduit) >= nomMax : - nom=nomTraduit[0:nomMax]+'...' - self.label.setText(nomTraduit) - self.debutToolTip=nomTraduit+"\n" + #if len(nomTraduit) >= nomMax : + # nom=nomTraduit[0:nomMax]+'...' + # self.label.setText(nomTraduit) + # self.debutToolTip=nomTraduit+"\n" + longueur=QFontMetrics(self.label.font()).width(nomTraduit) + if longueur >= nomMax : + nouveauNom=self.formate(nomTraduit) + self.label.setText(nouveauNom) else : self.label.setText(nomTraduit) + def agrandit(self): + # inutile pour certains widgets + if self.height() < 40 : + self.setMinimumHeight(50) + self.resize(self.width(),200) + def setValeurs(self): # print "passe dans setValeurs pour ", self.objSimp.nom @@ -89,6 +108,31 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): def finCommentaire(self): return "" + + def finCommentaireListe(self): + commentaire="" + mc = self.node.item.get_definition() + d_aides = { 'TXM' : 'chaines de caracteres', + 'R' : 'reels', + 'I' : 'entiers', + 'C' : 'complexes'} + type = mc.type[0] + if not d_aides.has_key(type) : + if mc.min == mc.max: + commentaire=tr("Entrez ")+str(mc.min)+tr(" valeurs ")+'\n' + else : + commentaire=tr("Entrez entre ")+str(mc.min)+tr(" et ")+str(mc.max)+tr(" valeurs ")+'\n' + else : + if mc.min == mc.max: + commentaire=tr("Entrez ")+str(mc.min)+" "+tr(d_aides[type])+'\n' + else : + commentaire=tr("Entrez entre ")+str(mc.min)+(" et ")+str(mc.max) +" " +tr(d_aides[type])+'\n' + aideval=self.node.item.aide() + commentaire=commentaire + tr(aideval) + self.monCommentaireLabel.setText(str(commentaire)) + return str(commentaire) + + def setSuggestion(self): if self.monSimpDef.get_sug() != None and self.monSimpDef.get_sug() != "": suggere=str('

suggestion : ')+str(self.monSimpDef.get_sug())+"

" @@ -96,7 +140,7 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): def setCommentaire(self): c = self.debutToolTip - if self.node.item.definition.validators : c+=self.node.item.definition.validators.aide() + #if self.node.item.definition.validators : c+=self.node.item.definition.validators.aide() self.aide=c if self.objSimp.get_fr() != None and self.objSimp.get_fr() != "": c2 = '

'+c+str(self.objSimp.get_fr())+"

" @@ -152,7 +196,6 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): def reaffiche(self): #print "dans reaffiche de feuille", self.nom if self.editor.jdc.aReafficher==True : - #print " j appelle le reaffiche de parentQt" self.parentQt.reaffiche() #PN PN PN pas satisfaisant @@ -163,14 +206,58 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): #self.editor.fenetreCentraleAffichee.rendVisibleNoeud(nodeAVoir) #nodeAVoir.fenetre.setFocus() # return # on est bien postionne - if self.objSimp.isvalid() and hasattr(self, 'AAfficher'): - self.editor.fenetreCentraleAffichee.afficheSuivant(self.AAfficher) + + if self.objSimp.isvalid() and hasattr(self, 'AAfficher'): + nodeAVoir=self.parentQt.node.chercheNoeudCorrespondant(self.objSimp) + try : + index=self.editor.fenetreCentraleAffichee.listeAffichageWidget.index(nodeAVoir.fenetre.AAfficher) + if (index==len(self.editor.fenetreCentraleAffichee.listeAffichageWidget)-1) : + try : + nodeAVoir.fenetre.setValeursApresBouton() + except : + pass + else : + self.editor.fenetreCentraleAffichee.afficheSuivant(nodeAVoir.fenetre.AAfficher) + except : + pass else : - print "dans le else de reaffiche" - self.AAfficher.setFocus(7) + if self.objSimp.isvalid() and hasattr(self, 'AAfficher'): + try : + self.setValeursApresBouton() + except : + self.editor.fenetreCentraleAffichee.afficheSuivant(self.AAfficher) + else : + if hasattr(self, 'AAfficher'): self.AAfficher.setFocus(7) + + def reaffichePourDeplier(self): + self.parentQt.reaffiche() + def rendVisible(self): + #print "jjjjjjjjjjjjjjjjjjjjj" + pass def traiteClicSurLabel(self,texte): #print self.aide - self.aide+="\n"+self.aideALaSaisie() - self.editor.affiche_infos(self.aide) + aide=self.aide+"\n"+self.aideALaSaisie() + self.editor.affiche_commentaire(aide) + + def formate(self,t): + if t.find('_')==0 : + newText=t[0:19]+'\n'+t[19:] + else: + listeNom=t.split('_') + newTexte="" + ligne="" + for n in listeNom: + if len(ligne)+len(n) < 25 : + newTexte=newTexte+"_"+n + ligne+="_"+n + else : + newTexte=newTexte+"\n_"+n + ligne="" + #newTexte=t[0:t.rfind('_')]+'\n'+ t[t.rfind('_'):] + newText=newTexte[1:] + return newText + + +