From 44f9c201a96d0e18eef4bbb4727fced2b66e826d Mon Sep 17 00:00:00 2001 From: "pascale.noyret" Date: Thu, 30 Apr 2015 16:30:32 +0200 Subject: [PATCH] affichage selon l ordre du catalogue --- InterfaceQT4/composimp.py | 10 +++- InterfaceQT4/configuration.py | 8 ++-- InterfaceQT4/editor.py | 11 +++-- InterfaceQT4/eficas_go.py | 3 +- InterfaceQT4/feuille.py | 61 +++++++++++++++++++++---- InterfaceQT4/monChoixCommande.py | 63 ++++++++++++++++++++------ InterfaceQT4/monWidgetCB.py | 11 ----- InterfaceQT4/monWidgetPlusieursBase.py | 2 +- InterfaceQT4/monWidgetRadioButton.py | 2 +- InterfaceQT4/readercata.py | 13 +++--- 10 files changed, 132 insertions(+), 52 deletions(-) diff --git a/InterfaceQT4/composimp.py b/InterfaceQT4/composimp.py index 88876b2d..9192ae6e 100644 --- a/InterfaceQT4/composimp.py +++ b/InterfaceQT4/composimp.py @@ -132,7 +132,8 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal): # a gerer comme dans composimp # Gerer les matrices --> Actuellement pas dans ce type de panneau - #print "____________________________", self.item.wait_tuple() + #print "____________________________", monNom, self.item.wait_co() + #print "____________________________", monNom, self.item.wait_assd() # Gestion d'une seule valeur (eventuellement un tuple ou un complexe) if maDefinition.max == 1 : @@ -178,6 +179,13 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal): from monWidgetSimpComplexe import MonWidgetSimpComplexe widget=MonWidgetSimpComplexe(self,maDefinition,monNom,monObjet,parentQt,maCommande) + elif self.item.wait_co(): + if len(self.item.get_sd_avant_du_bon_type()) == 0 : + from monWidgetSDCO import MonWidgetSDCO + widget=MonWidgetSDCO(self,maDefinition,monNom,monObjet,parentQt,maCommande) + else : + from monWidgetSDCOInto import MonWidgetSDCOInto + widget=MonWidgetSDCOInto(self,maDefinition,monNom,monObjet,parentQt,maCommande) elif self.item.wait_assd(): if len(self.item.get_sd_avant_du_bon_type()) == 0 : from monWidgetVide import MonWidgetVide diff --git a/InterfaceQT4/configuration.py b/InterfaceQT4/configuration.py index a76c7601..ff2f4aad 100644 --- a/InterfaceQT4/configuration.py +++ b/InterfaceQT4/configuration.py @@ -52,7 +52,6 @@ class CONFIG_BASE: self.rep_mat = None self.repIni = repIni self.rep_user = os.path.join(os.environ['HOME'],'.config/Eficas',appli.code) - self.mode_nouv_commande='initial' self.setValeursParDefaut() @@ -64,10 +63,9 @@ class CONFIG_BASE: #Particularite des schemas MAP if hasattr(self,'make_ssCode'): self.make_ssCode(self.ssCode) - if self.appli: - self.parent=appli.top - self.appli.mode_nouv_commande= self.mode_nouv_commande + if self.appli: self.parent=appli.top else: self.parent=None + if not os.path.isdir(self.savedir) : self.savedir=os.environ['HOME'] @@ -81,6 +79,8 @@ class CONFIG_BASE: self.exec_acrobat = 'acroread' nomDir="Eficas_"+self.code self.savedir = os.path.abspath(os.path.join(os.environ['HOME'],nomDir)) + self.mode_nouv_commande='initial' + self.affiche="alpha" #-------------------------------------- def lecture_fichier_ini_standard(self): diff --git a/InterfaceQT4/editor.py b/InterfaceQT4/editor.py index 2104e6ba..baa01e34 100644 --- a/InterfaceQT4/editor.py +++ b/InterfaceQT4/editor.py @@ -76,13 +76,13 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): # ces attributs sont mis a jour par definitCode appelee par newEditor self.code = self.appliEficas.CONFIGURATION.code + self.mode_nouv_commande=self.appliEficas.CONFIGURATION.mode_nouv_commande + self.affiche=self.appliEficas.CONFIGURATION.affiche if self.code in ['MAP','CARMELCND'] : self.afficheCommandesPliees=False - self.affiche_alpha=1 if self.code in ['MAP',] : self.widgetTree.close() self.widgetTree=None self.appliEficas.resize(1440,self.appliEficas.height()) - self.affiche_alpha=0 else : self.appliEficas.resize(2000,self.appliEficas.height()) @@ -95,6 +95,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): self.readercata=self.appliEficas.readercata if self.readercata.fic_cata == None : return #Sortie Salome self.titre=self.readercata.titre + self.Ordre_Des_Commandes=self.readercata.Ordre_Des_Commandes self.format = self.appliEficas.format_fichier @@ -147,7 +148,6 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): #------- construction du jdc -------------- jdc_item = None - self.mode_nouv_commande=self.readercata.mode_nouv_commande self.nouveau=0 if self.fichier is not None: # fichier jdc fourni @@ -176,6 +176,7 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): if self.jdc: self.jdc.appli = self self.jdc.lang = self.appli.langue + self.jdc.aReafficher=False txt_exception = None if not jdc: self.jdc.analyse() @@ -196,7 +197,6 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): if jdc_item: self.tree = browser.JDCTree( jdc_item, self ) - self.jdc.aReafficher=False self.appliEficas.construitMenu() #--------------------------------# @@ -1200,7 +1200,8 @@ class JDCEditor(Ui_baseWidget,QtGui.QWidget): #---------------------------# def _newTELEMAC(self): #---------------------------# - texte="INITIALIZATION();INITIAL_STATE();BOUNDARY_CONDITIONS();NUMERICAL_PARAMETERS();PHYSICAL_PARAMETERS()" + #texte="INITIALIZATION();INITIAL_STATE();BOUNDARY_CONDITIONS();NUMERICAL_PARAMETERS();PHYSICAL_PARAMETERS()" + texte="" return texte #---------------------------# diff --git a/InterfaceQT4/eficas_go.py b/InterfaceQT4/eficas_go.py index 40f404d9..a4a05b35 100644 --- a/InterfaceQT4/eficas_go.py +++ b/InterfaceQT4/eficas_go.py @@ -89,7 +89,8 @@ def lance_eficas_ssIhm_cherche_cr(code=None,fichier=None,ssCode=None,version=Non def lance_eficas_ssIhm_reecrit(code=None,fichier=None,ssCode=None,version=None): monEditeur=lance_eficas_ssIhm(code,fichier,ssCode,version) - fileName=fichier.split(".")[0]+"_73.comm" + print fichier + fileName=fichier.split(".")[0]+"_reecrit.comm" monEditeur.saveFileAs(fileName=fileName) def lance_eficas_param(code='Adao',fichier=None,version='V0',macro='ASSIMILATION_STUDY'): diff --git a/InterfaceQT4/feuille.py b/InterfaceQT4/feuille.py index fc1fc486..74e4018e 100644 --- a/InterfaceQT4/feuille.py +++ b/InterfaceQT4/feuille.py @@ -30,7 +30,7 @@ from gereIcones import ContientIcones from gereIcones import FacultatifOuOptionnel from qtSaisie import SaisieValeur -nomMax=26 +nomMax=250 # ---------------------------------------------------------------------- # class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): # --------------------------------------------------------------------- # @@ -73,13 +73,37 @@ 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 : + 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(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): # print "passe dans setValeurs pour ", self.objSimp.nom @@ -166,11 +190,30 @@ class Feuille(QWidget,ContientIcones,SaisieValeur,FacultatifOuOptionnel): if self.objSimp.isvalid() and hasattr(self, 'AAfficher'): self.editor.fenetreCentraleAffichee.afficheSuivant(self.AAfficher) else : - print "dans le else de reaffiche" - self.AAfficher.setFocus(7) + if hasattr(self, 'AAfficher'): self.AAfficher.setFocus(7) 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_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 + + diff --git a/InterfaceQT4/monChoixCommande.py b/InterfaceQT4/monChoixCommande.py index fb803fd8..ce8b84e6 100644 --- a/InterfaceQT4/monChoixCommande.py +++ b/InterfaceQT4/monChoixCommande.py @@ -42,10 +42,6 @@ class MonChoixCommande(Ui_ChoixCommandes,QtGui.QWidget): 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=[] if self.editor.fichier != None : @@ -53,28 +49,50 @@ class MonChoixCommande(Ui_ChoixCommandes,QtGui.QWidget): 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.connect(self.RBOrdre,SIGNAL("clicked()"),self.afficheOrdre) + + self.editor.labelCommentaire.setText("") - self.affiche_alpha=self.editor.affiche_alpha self.name=None - self.AjouteRadioButton() self.connect(self.LEFiltre,SIGNAL("returnPressed()"),self.AjouteRadioButton) - if self.editor.affiche_alpha==0 : self.afficheGroupe() + + 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() def afficheAlpha(self): self.affiche_alpha=1 - self.editor.affiche_alpha=1 + self.affiche_groupe=0 + self.affiche_ordre=0 self.AjouteRadioButton() def afficheGroupe(self): self.affiche_alpha=0 - self.editor.affiche_alpha=0 + self.affiche_groupe=1 + self.affiche_ordre=0 self.AjouteRadioButton() - 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.AjouteRadioButton() def mouseDoubleClickEvent(self,event): nodeCourrant=self.node.tree.currentItem() @@ -91,6 +109,11 @@ class MonChoixCommande(Ui_ChoixCommandes,QtGui.QWidget): else : nouveau.deplieToutEtReaffiche() nouveau.fenetre.donnePremier() #nouveau.deplieToutEtReaffiche() + else : + print "je passe la" + self.node.setSelected(False) + nouveau.setSelected(True) + self.node.tree.setCurrentItem(nouveau) event.accept() @@ -127,7 +150,7 @@ class MonChoixCommande(Ui_ChoixCommandes,QtGui.QWidget): self.commandesLayout.addWidget(rbcmd) rbcmd.mouseDoubleClickEvent=self.mouseDoubleClickEvent self.connect(self.buttonGroup, SIGNAL("buttonClicked(QAbstractButton*)"),self.rbClique) - else : + elif self.affiche_groupe==1 : listeGroupes,dictGroupes=self.jdc.get_groups() for grp in listeGroupes: if grp == "CACHE" : continue @@ -150,6 +173,20 @@ class MonChoixCommande(Ui_ChoixCommandes,QtGui.QWidget): 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 : + 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) def LEfiltreReturnPressed(self): diff --git a/InterfaceQT4/monWidgetCB.py b/InterfaceQT4/monWidgetCB.py index 80adb143..19bebd47 100644 --- a/InterfaceQT4/monWidgetCB.py +++ b/InterfaceQT4/monWidgetCB.py @@ -48,19 +48,8 @@ class MonWidgetCBCommun (Ui_WidgetCB,Feuille): if self.objSimp.get_valeur()==None : self.CBChoix.setCurrentIndex(-1) #self.CBChoix.lineEdit().setStyleSheet(("QLineEdit {" " background:yellow;\n" "font: italic ;\n" " }\n" " ")) - self.CBChoix.lineEdit().setStyleSheet(("\n" -"QLineEdit {\n" -" font : italic ;\n" -" background: rgb(168,168,168);\n" -" }")) - self.CBChoix.lineEdit().setText(tr("Select")) return - self.CBChoix.lineEdit().setStyleSheet(("\n" -"QLineEdit {\n" -" font : italic ;\n" -" background: rgb(235,235,235);\n" -" }")) valeur=self.objSimp.get_valeur() if not(type(valeur) in types.StringTypes) : valeur=str(valeur) self.CBChoix.setCurrentIndex(self.CBChoix.findText(valeur)) diff --git a/InterfaceQT4/monWidgetPlusieursBase.py b/InterfaceQT4/monWidgetPlusieursBase.py index 8a1c766d..3026b3cf 100644 --- a/InterfaceQT4/monWidgetPlusieursBase.py +++ b/InterfaceQT4/monWidgetPlusieursBase.py @@ -56,7 +56,7 @@ class MonWidgetPlusieursBase (Ui_WidgetPlusieursBase,Feuille,GereListe): else : self.resize(self.width(),hauteurMax) self.setMinimumHeight(hauteurMax) - self.parentQt.commandesLayout.insertWidget(1,self) + self.parentQt.commandesLayout.insertWidget(-1,self) self.maCommande.listeAffichageWidget.append(self.lineEditVal1) self.AAfficher=self.lineEditVal1 self.inInit=False diff --git a/InterfaceQT4/monWidgetRadioButton.py b/InterfaceQT4/monWidgetRadioButton.py index c8f89b1a..cff2bbc2 100644 --- a/InterfaceQT4/monWidgetRadioButton.py +++ b/InterfaceQT4/monWidgetRadioButton.py @@ -122,7 +122,7 @@ class MonWidgetRadioButton (Ui_WidgetRadioButton,MonWidgetRadioButtonCommun): class MonWidgetRadioButtonSD (Ui_WidgetRadioButton,MonWidgetRadioButtonCommun): def __init__(self,node,monSimpDef,nom,objSimp,parentQt,commande): - print "dans le init de MonWidgetRadioButtonSD",self + #print "dans le init de MonWidgetRadioButtonSD",self self.maListeDeValeur=node.item.get_sd_avant_du_bon_type() MonWidgetRadioButtonCommun.__init__(self,node,monSimpDef,nom,objSimp,parentQt,commande) diff --git a/InterfaceQT4/readercata.py b/InterfaceQT4/readercata.py index 55800c1a..b0f63f57 100644 --- a/InterfaceQT4/readercata.py +++ b/InterfaceQT4/readercata.py @@ -56,10 +56,7 @@ class READERCATA: self.code=self.QWParent.code self.ssCode=self.appliEficas.ssCode self.appliEficas.format_fichier='python' - if hasattr(self.appliEficas,'mode_nouv_commande'): - self.mode_nouv_commande=self.appliEficas.mode_nouv_commande - else : - self.mode_nouv_commande='alpha' + self.mode_nouv_commande=self.appliEficas.CONFIGURATION.mode_nouv_commande self.version_code=self.QWParent.version_code self.version_cata=None self.fic_cata=None @@ -158,8 +155,10 @@ class READERCATA: # remplace par Retrouve_Ordre_Cata_Standard_autre qui utilise une numerotation # des mots cles a la creation self.Retrouve_Ordre_Cata_Standard_autre() - if self.mode_nouv_commande== "initial" : - self.Retrouve_Ordre_Cata_Standard() + if self.mode_nouv_commande== "initial" : self.Retrouve_Ordre_Cata_Standard() + if hasattr(self.cata, 'Ordre_Des_Commandes') : self.Ordre_Des_Commandes=self.cata.Ordre_Des_Commandes + else : self.Ordre_Des_Commandes=None + #print self.cata.Ordre_Des_Commandes # # analyse des donnees liees l'IHM : UIinfo @@ -243,6 +242,7 @@ class READERCATA: contient le nom des mots cles dans le bon ordre """ self.cata_ordonne_dico,self.appliEficas.liste_simp_reel=autre_analyse_cata.analyse_catalogue(self.cata) + #print self.cata_ordonne_dico,self.appliEficas.liste_simp_reel def Retrouve_Ordre_Cata_Standard(self): """ @@ -252,6 +252,7 @@ class READERCATA: nom_cata = os.path.splitext(os.path.basename(self.fic_cata))[0] rep_cata = os.path.dirname(self.fic_cata) self.Commandes_Ordre_Catalogue = analyse_catalogue_initial.analyse_catalogue(self.fic_cata) + #print self.Commandes_Ordre_Catalogue def ask_choix_catalogue(self, cata_choice_list): """ -- 2.39.2