X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=InterfaceQT4%2Ffeuille.py;h=1b11cbf0621a1b0557c515c223d7d31c130d21a0;hb=91f8ed1cbaed8a138bc89ad058c99625b2aee6c5;hp=2e6baa986da67490f39a22f82cfd0d9dcf0192b1;hpb=2c5a8689b9c6cc46804fd268d416d1de2777059e;p=tools%2Feficas.git diff --git a/InterfaceQT4/feuille.py b/InterfaceQT4/feuille.py index 2e6baa98..1b11cbf0 100644 --- a/InterfaceQT4/feuille.py +++ b/InterfaceQT4/feuille.py @@ -30,13 +30,15 @@ from gereIcones import ContientIcones from gereIcones import FacultatifOuOptionnel from qtSaisie import SaisieValeur +nomMax=250 # ---------------------------------------------------------------------- # class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): # --------------------------------------------------------------------- # - def __init__(self,node,monSimpDef,nom,objSimp,parentQt): + def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): #print "Feuille", monSimpDef,nom,objSimp + #print self QWidget.__init__(self,None) self.node=node self.node.fenetre=self @@ -54,26 +56,53 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): self.nom=nom self.objSimp=objSimp self.node.fenetre=self + self.maCommande=commande self.aRedimensionner=0 self.setSuggestion() self.setValeurs() self.setNom() self.setValide() - self.setPoubelle() - self.setIcones() + self.setIconePoubelle() + self.setIconesFichier() + self.setIconesSalome() self.setCommentaire() self.setZoneInfo() def setNom(self): self.debutToolTip="" - if len(self.objSimp.nom) >= 17 : - nom=self.objSimp.nom[0:15]+'...' - self.label.setText(nom) - self.debutToolTip=self.objSimp.nom+"\n" + nomTraduit=tr(self.objSimp.nom) + #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 : + print "je formate" + nouveauNom=self.formate(nomTraduit) + print"________" + print nouveauNom + print"________" + print self + #self.label.setTextFormat(Qt.AutoText) + self.label.setText(nouveauNom) + #self.agrandit() else : - self.label.setText(self.objSimp.nom) + self.label.setText(nomTraduit) + + def agrandit(self): + # inutile pour certains widgets + if self.height() < 40 : + print "j agrandis" + self.setMinimumHeight(50) + #self.setMaximumHeight(50) + self.resize(self.width(),200) + #self.principalLayout.setAlignment(Qt.AlignTop) + #self.label.resize(self.label.width(),200) + print self.label.height() + print self.height() + print "__________" def setValeurs(self): @@ -90,54 +119,21 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): if hasattr(self,'lineEditVal'): self.lineEditVal.setToolTip(suggere) def setCommentaire(self): - #print "dans setCommentaire" - c = self.debutToolTip + 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())+"
" + c2 = ''+c+str(self.objSimp.get_fr())+"
" self.label.setToolTip(c2) + self.aide=str(self.objSimp.get_fr())+" "+c else : c+=self.finCommentaire() if c != "" and c != None : - c=str('')+c+"
" + self.aide=c + #c=str('')+c+"
" + c=str('')+c+"
" self.label.setToolTip(c) - def setIcones(self): - - mctype = self.monSimpDef.type[0] - # selon - if ( hasattr(self,"BFichier")): - if mctype == "Repertoire": - self.BRepertoire=self.BFichier - #icon = QIcon(self.repIcon+"/fichier.png") - #self.BRepertoire.setIcon(icon) - self.connect(self.BRepertoire,SIGNAL("clicked()"),self.BRepertoirePressed) - #self.BVisuFichier.close() - else : - #icon = QIcon(self.repIcon+"/visuFichier.png") - #self.BVisuFichier.setIcon(icon) - self.connect(self.BFichier,SIGNAL("clicked()"),self.BFichierPressed) - self.connect(self.BVisuFichier,SIGNAL("clicked()"),self.BFichierVisu) - return - - if ( hasattr(self,"BSalome")): - enable_salome_selection = self.editor.salome and \ - (('grma' in repr(mctype)) or ('grno' in repr(mctype)) or ('SalomeEntry' in repr(mctype)) or - (hasattr(mctype, "enable_salome_selection") and mctype.enable_salome_selection)) - if enable_salome_selection: - self.connect(self.BSalome,SIGNAL("pressed()"),self.BSalomePressed) - #icon = QIcon(self.repIcon+"/flecheSalome.png") - #self.BSalome.setIcon(icon) - - if not(('grma' in repr(mctype)) or ('grno' in repr(mctype))) or not(self.editor.salome): - self.BView2D.close() - else : - #icon = QIcon(self.repIcon+"/salomeLoupe.png") - #self.BView2D.setIcon(icon) - self.connect(self.BView2D,SIGNAL("clicked()"),self.BView2DPressed) - else: - self.BSalome.close() - self.BView2D.close() def showEvent(self, event): @@ -148,10 +144,9 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): QWidget.showEvent(self,event) def aideALaSaisie(self): - return mc = self.node.item.get_definition() mctype = mc.type[0] - d_aide = { 'TXM' : tr(u"chaine de caracteres"), + d_aides = { 'TXM' : tr(u"chaine de caracteres"), 'R' : tr("reel"), 'I' : tr("entier"), 'C' : tr("complexe"), @@ -159,7 +154,8 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): 'Fichier' : tr(u'fichier'), 'FichierNoAbs' : tr(u'fichier existant'), 'Repertoire' : tr(u'repertoire')} - if mc.min == mc.max: commentaire=tr("Entrez ")+str(mc.min) + + if mc.min == mc.max: commentaire=tr("Entrez ")+" "+str(mc.min)+" " else : commentaire=tr("Entrez entre ")+str(mc.min)+tr(" et ")+str(mc.max) if type(mctype) == types.ClassType: ctype = getattr(mctype, 'help_message', tr("Type de base inconnu")) @@ -167,7 +163,7 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): if ctype == tr("Type de base inconnu") and "Tuple" in str(mctype): ctype=str(mctype) commentaire+=ctype - if self.max!=1 : commentaire+="s" + if mc.max!=1 : commentaire+="s" return commentaire def setZoneInfo(self): @@ -176,3 +172,49 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): # if self.monSimpDef.get_sug() != None and self.monSimpDef.get_sug() != "": info+="Valeur suggérée : "self.monSimpDef.get_sug() pass #self.editor.affiche_infos(info) + + 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 + #nodeAVoir=self.parentQt.node.chercheNoeudCorrespondant(self.objSimp) + #print nodeAVoir.fenetre + #print "nodeAVoir.fenetre.isVisible()", nodeAVoir.fenetre.isVisible() + #if nodeAVoir.fenetre.isVisible() : return + #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) + else : + if hasattr(self, 'AAfficher'): self.AAfficher.setFocus(7) + + + def traiteClicSurLabel(self,texte): + #print self.aide + aide=self.aide+"\n"+self.aideALaSaisie() + self.editor.affiche_infos(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 + + +