# 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 :
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
self.rep_mat = None\r
self.repIni = repIni\r
self.rep_user = os.path.join(os.environ['HOME'],'.config/Eficas',appli.code)\r
- self.mode_nouv_commande='initial'\r
\r
\r
self.setValeursParDefaut()\r
#Particularite des schemas MAP\r
if hasattr(self,'make_ssCode'): self.make_ssCode(self.ssCode)\r
\r
- if self.appli: \r
- self.parent=appli.top\r
- self.appli.mode_nouv_commande= self.mode_nouv_commande\r
+ if self.appli: self.parent=appli.top\r
else: self.parent=None\r
+\r
if not os.path.isdir(self.savedir) : self.savedir=os.environ['HOME']\r
\r
\r
self.exec_acrobat = 'acroread'\r
nomDir="Eficas_"+self.code\r
self.savedir = os.path.abspath(os.path.join(os.environ['HOME'],nomDir))\r
+ self.mode_nouv_commande='initial'\r
+ self.affiche="alpha"\r
\r
#--------------------------------------\r
def lecture_fichier_ini_standard(self):\r
# 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())
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
#------- 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
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()
if jdc_item:
self.tree = browser.JDCTree( jdc_item, self )
- self.jdc.aReafficher=False
self.appliEficas.construitMenu()
#--------------------------------#
#---------------------------#
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
#---------------------------#
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'):
from gereIcones import FacultatifOuOptionnel
from qtSaisie import SaisieValeur
-nomMax=26
+nomMax=250
# ---------------------------------------------------------------------- #
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
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
+
+
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 :
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()
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()
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
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):
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))
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
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)
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
# 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
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):
"""
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):
"""