From: Pascale Noyret Date: Tue, 3 Feb 2009 16:28:47 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: V0_a1_SEPQT4~29 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=37046e47eb20cc5eba2565e28edea22f6daf817a;p=modules%2Feficas.git *** empty log message *** --- diff --git a/Editeur/comploader.py b/Editeur/comploader.py index b20bfa9f..e75d492e 100644 --- a/Editeur/comploader.py +++ b/Editeur/comploader.py @@ -49,8 +49,8 @@ def charger_composants(Ihm="TK"): repertoire=reper+"/../InterfaceTK" package="InterfaceTK" else : - repertoire=reper+"/../InterfaceQT" - package="InterfaceQT" + repertoire=reper+"/../InterfaceQT4" + package="InterfaceQT4" listfich=glob.glob(os.path.join(repertoire, "compo*.py")) for fichier in listfich: m= os.path.basename(fichier)[:-3] diff --git a/Editeur/icons/ast-green-los.gif b/Editeur/icons/ast-green-los.gif index 0c9dbd02..44847265 100755 Binary files a/Editeur/icons/ast-green-los.gif and b/Editeur/icons/ast-green-los.gif differ diff --git a/Editeur/icons/ast-green-square.gif b/Editeur/icons/ast-green-square.gif index 04ad5adc..22bbac00 100755 Binary files a/Editeur/icons/ast-green-square.gif and b/Editeur/icons/ast-green-square.gif differ diff --git a/Editeur/import_code.py b/Editeur/import_code.py index 3d34eaa6..004d3456 100644 --- a/Editeur/import_code.py +++ b/Editeur/import_code.py @@ -29,8 +29,8 @@ import prefs INSTALLDIR=prefs.INSTALLDIR sys.path.append(INSTALLDIR) -sys.path.append(INSTALLDIR+"/Ui") -sys.path.append(INSTALLDIR+"/InterfaceQT") +sys.path.append(INSTALLDIR+"/UiQT4") +sys.path.append(INSTALLDIR+"/InterfaceQT4") sys.path.append(INSTALLDIR+"/Editeur") # Ce chemin permet d'importer les modules Noyau et Validation diff --git a/Editeur/listePatrons.py b/Editeur/listePatrons.py index d6dbe89b..f6a8a977 100644 --- a/Editeur/listePatrons.py +++ b/Editeur/listePatrons.py @@ -3,7 +3,9 @@ import re sous_menus={"ASTER" : {0:{"3D":"3D.comm"},1:{"poutre":"pou.comm"},2:{"salome":"salome.comm"},3:{"divers":"comm"}}, "OPENTURNS_STUDY" : {0:{"Anne":"Std.comm"}}, - "OPENTURNS_WRAPPER" : {0:{"Anne":"wrapper_exemple.comm"}} + "OPENTURNS_WRAPPER" : {0:{"Anne":"wrapper_exemple.comm"}}, + "HOMARD" : {}, + "CUVE2DG" : {} } class listePatrons : diff --git a/InterfaceQT4/browser.py b/InterfaceQT4/browser.py index dc260e10..f742185a 100644 --- a/InterfaceQT4/browser.py +++ b/InterfaceQT4/browser.py @@ -101,7 +101,8 @@ class JDCNode(QTreeWidgetItem): mesColonnes << name << value QTreeWidgetItem.__init__(self,treeParent,mesColonnes) - monIcone = QIcon("/home/noyret/Install_Eficas/EficasV1/InterfaceQT4/icons/" +self.item.GetIconName() + ".gif") + RepIcon=QString(self.appliEficas.RepIcon) + monIcone = QIcon(RepIcon+"/" +self.item.GetIconName() + ".png") self.setIcon(0,monIcone) self.children = [] self.build_children() @@ -312,7 +313,8 @@ class JDCNode(QTreeWidgetItem): Elle appelle isvalid """ #print 'NODE update_node_valid', self.item.GetLabelText() - monIcone = QIcon("/home/noyret/Install_Eficas/EficasV1/InterfaceQT4/icons/" +self.item.GetIconName() + ".gif") + RepIcon=QString(self.appliEficas.RepIcon) + monIcone = QIcon(RepIcon+"/" +self.item.GetIconName() + ".png") self.setIcon(0,monIcone) def update_node_label(self): diff --git a/InterfaceQT4/composimp.py b/InterfaceQT4/composimp.py index d1422bf5..20c8d20a 100644 --- a/InterfaceQT4/composimp.py +++ b/InterfaceQT4/composimp.py @@ -17,13 +17,6 @@ class Node(browser.JDCNode): klass = None # Attention l ordre des if est important - if self.item.wait_shell(): - # l'objet attend un shell - # a priori jamais - print "Pb : Panneau Shell attendu" - print "Pb : Prevenir la maintenance" - klass = None #CS_pbruno todo - return None # l'objet prend sa (ses) valeur(s) dans un ensemble discret de valeurs if self.item.has_into(): @@ -39,7 +32,10 @@ class Node(browser.JDCNode): # on attend une liste de valeurs if self.item.is_list() : # on attend une liste de SD - if self.item.wait_assd(): + if self.item.wait_tuple() : + from monFonctionPanel import MonFonctionPanel + klass = MonFonctionPanel + elif self.item.wait_assd(): from monPlusieursASSDPanel import MonPlusieursASSDPanel klass = MonPlusieursASSDPanel else: @@ -389,7 +385,6 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): # wait_geom # wait_complex # wait_reel - # wait_shell # wait_assd # GetType @@ -424,13 +419,13 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem): else: return 0 - def wait_shell(self): + def wait_tuple(self): """ Méthode booléenne qui retourne 1 si l'objet pointé par self attend un shell, 0 sinon """ - if 'shell' in self.object.definition.type: - return 1 - else: - return 0 + for ss_type in self.object.definition.type: + if repr(ss_type).find('Tuple') != -1 : + return 1 + return 0 def wait_assd(self): """Méthode booléenne qui retourne 1 si l'objet pointé par self diff --git a/InterfaceQT4/editor.py b/InterfaceQT4/editor.py index 7ab8dc62..77d6d821 100644 --- a/InterfaceQT4/editor.py +++ b/InterfaceQT4/editor.py @@ -561,6 +561,20 @@ class JDCEditor(QSplitter): except : pass + try : + + #if 1 : + file_homard = fn[:fn.rfind(".")] + '.conf_homard' + self.jdc_homard=self.generator.get_homard() + f=open(file_homard,'w') + for ligne in self.jdc_homard: + f.write(ligne) + f.write('\n') + f.close() + except : + #else : + pass + # if self.salome : # self.QWParent.appli.addJdcInSalome( self.fichier) # if self.code == 'ASTER': diff --git a/InterfaceQT4/monFonctionPanel.py b/InterfaceQT4/monFonctionPanel.py index 4dba067e..999587cb 100644 --- a/InterfaceQT4/monFonctionPanel.py +++ b/InterfaceQT4/monFonctionPanel.py @@ -43,6 +43,14 @@ class MonFonctionPanel(MonPlusieursBasePanel): MonPlusieursBasePanel.__init__(self,node,parent,name,fl) def SetNbValeurs(self): + self.nbValeurs = 1 + if self.node.item.wait_tuple()== 1 : + for a in self.node.item.definition.type : + try : + self.nbValeurs = a.ntuple + break + except : + pass genea=self.node.item.get_genealogie() if "VALE" in genea: self.nbValeurs=2 @@ -56,29 +64,34 @@ class MonFonctionPanel(MonPlusieursBasePanel): if (len(liste)% self.nbValeurs != 0): message="La cardinalité n'est pas correcte, la dernière valeur est ignorée" #self.Commentaire.setText(QString(commentaire)) - self.editor.affiche_infos(commentaire) - for i in range(len(liste)/ self.nbValeurs) : - if (self.nbValeurs==2): - t=(liste[i*self.nbValeurs], liste[i*self.nbValeurs+1]) - else: - t=(liste[i*self.nbValeurs], liste[i*self.nbValeurs+1], liste[i*self.nbValeurs+2]) + self.editor.affiche_infos(message) + i=0 + while ( i < (len(liste) - self.nbValeurs + 1)) : + t=tuple(liste[i:i+self.nbValeurs]) l_valeurs.append(t) + i=i+self.nbValeurs return l_valeurs def BuildLBValeurs(self): self.LBValeurs.clear() listeValeurs=self.node.item.GetListeValeurs() - for valeur in self.DecoupeListeValeurs(listeValeurs): - if (self.nbValeurs==2): - str_valeur=str(valeur[0])+","+str(valeur[1]) - else: - str_valeur=str(valeur[0])+","+str(valeur[1])+","+str(valeur[2]) - self.LBValeurs.addItem(str_valeur) + if self.node.item.wait_tuple()== 1 : + listeATraiter=listeValeurs + else : + listeATraiter=self.DecoupeListeValeurs(listeValeurs) + for valeur in listeATraiter: + str_valeur=str(valeur) + self.LBValeurs.addItem(str_valeur) def Ajout1Valeur(self,liste=[]): # Pour être appele a partir du Panel Importer (donc plusieurs fois par AjouterNValeur) if liste == [] : - liste,validite=SaisieValeur.TraiteLEValeur(self) + if self.node.item.wait_tuple()== 1 : + liste=SaisieValeur.TraiteLEValeurTuple(self) + if liste == [''] : return + validite=1 + else : + liste,validite=SaisieValeur.TraiteLEValeur(self) else : validite=1 if validite == 0 : return @@ -93,6 +106,9 @@ class MonFonctionPanel(MonPlusieursBasePanel): self.editor.affiche_infos(commentaire) return + if self.node.item.wait_tuple()== 1 : + liste2=tuple(liste) + liste=liste2 index=self.LBValeurs.currentRow() if ((self.LBValeurs.isItemSelected(self.LBValeurs.item(index )) == 0) and (index > 0 )): index=0 @@ -104,7 +120,10 @@ class MonFonctionPanel(MonPlusieursBasePanel): listeVal=[] for valeur in self.listeValeursCourantes : listeVal.append(valeur) - validite,comm,comm2,listeRetour=self.politique.AjoutValeurs(liste,index,listeVal) + if self.node.item.wait_tuple()== 1 : + validite,comm,comm2,listeRetour=self.politique.AjoutTuple(liste,index,listeVal) + else : + validite,comm,comm2,listeRetour=self.politique.AjoutValeurs(liste,index,listeVal) self.Commentaire.setText(comm2) if not validite : self.editor.affiche_infos(comm) @@ -112,11 +131,13 @@ class MonFonctionPanel(MonPlusieursBasePanel): self.LEValeur.setText(QString("")) l1=self.listeValeursCourantes[:indexListe] l3=self.listeValeursCourantes[indexListe:] - for valeur in self.DecoupeListeValeurs(listeRetour) : - if (self.nbValeurs==2): - str_valeur=str(valeur[0])+","+str(valeur[1]) - else: - str_valeur=str(valeur[0])+","+str(valeur[1])+","+str(valeur[2]) + if self.node.item.wait_tuple()== 1 : + listeATraiter=listeRetour + else : + listeATraiter=self.DecoupeListeValeurs(listeRetour) + for valeur in listeATraiter : + str_valeur=str(valeur) + print str_valeur self.LBValeurs.insertItem(index,str_valeur) item=self.LBValeurs.item(index) item.setSelected(1) @@ -135,21 +156,24 @@ class MonFonctionPanel(MonPlusieursBasePanel): for vals in listeDecoupee : self.Ajout1Valeur(vals) - def Sup1Valeur(self): index=self.LBValeurs.currentRow() if index == None : return self.LBValeurs.takeItem(index) listeVal=[] + indexInterdit=[] + for i in range(self.nbValeurs): + indexAOter=index*self.nbValeurs + i + indexInterdit.append(indexAOter) + if self.node.item.wait_tuple()== 1 : + indexInterdit=[index] + i=0 for valeur in self.listeValeursCourantes : - if self.nbValeurs == 2 : - if (i != index*2 and i != index*2+1 ) : listeVal.append(valeur) - elif self.nbValeurs == 3 : - if (i != index*3 and i != index*3+1 and i != index*3 +2) : listeVal.append(valeur) - else : - print "aiiiiiiiiiiiiiiiiiieeee" - i = i+1 + if not (i in indexInterdit) : + listeVal.append(valeur) + i = i+1 self.listeValeursCourantes=listeVal listeValeurs=self.listeValeursCourantes + diff --git a/InterfaceQT4/monParamPanel.py b/InterfaceQT4/monParamPanel.py index ccc25e7a..a205431f 100644 --- a/InterfaceQT4/monParamPanel.py +++ b/InterfaceQT4/monParamPanel.py @@ -96,7 +96,6 @@ class MonParamPanel(DParam,QTPanelTBW2,QTPanel): self.node.item.set_nom(nom) self.node.item.set_valeur(val) self.node.update_texte() - self.node.update_valid() self.editor.init_modif() self.InitLEs() diff --git a/InterfaceQT4/monPlusieursBasePanel.py b/InterfaceQT4/monPlusieursBasePanel.py index 6dd3588a..adef3c01 100644 --- a/InterfaceQT4/monPlusieursBasePanel.py +++ b/InterfaceQT4/monPlusieursBasePanel.py @@ -80,7 +80,6 @@ class MonPlusieursBasePanel(DPlusBase,QTPanel,SaisieValeur): def detruitBouton(self): mc = self.node.item.get_definition() type = mc.type[0] - print self.editor.salome if not(('grma' in repr(type)) or ('grno' in repr(type))) or not(self.editor.salome) : self.BSalome.close() self.BView2D.close() @@ -95,7 +94,7 @@ class MonPlusieursBasePanel(DPlusBase,QTPanel,SaisieValeur): def BOkPourListePressed(self): self.editor.init_modif() if self.listeValeursCourantes == [] : - self.editor.affiche_infos("Pas de validation d un groupe vide") + self.editor.affiche_infos("Aucune Valeur") return self.node.item.set_valeur(self.listeValeursCourantes) self.editor.affiche_infos("Valeur Acceptée") @@ -155,6 +154,11 @@ class MonPlusieursBasePanel(DPlusBase,QTPanel,SaisieValeur): self.listeValeursCourantes=l1+listeRetour+l3 self.editor.affiche_infos("Valeurs Ajoutées") + def AjoutNValeur(self,liste) : + for val in liste : + print val + self.Ajout1Valeur(val) + def BImportPressed(self): init=QString( self.editor.CONFIGURATION.savedir) fn = QFileDialog.getOpenFileName(self.node.appliEficas, diff --git a/InterfaceQT4/monSelectVal.py b/InterfaceQT4/monSelectVal.py index 24e88397..421682a3 100644 --- a/InterfaceQT4/monSelectVal.py +++ b/InterfaceQT4/monSelectVal.py @@ -56,6 +56,7 @@ class MonSelectVal(DSelVal): self.connect(self.BImportTout,SIGNAL("clicked()"),self.BImportToutPressed) def readVal(self): + if self.file == "" : return f = open(self.file, "rb") self.texte = f.read() f.close() @@ -92,6 +93,7 @@ class MonSelectVal(DSelVal): liste1=self.textTraite.split(self.separateur) liste=[] for val in liste1 : + if val != '' and val != ' ' and val != self.separateur : val=str(val) try : val=eval(val,{}) diff --git a/InterfaceQT4/politiquesValidation.py b/InterfaceQT4/politiquesValidation.py index a976f971..47a8b5e9 100644 --- a/InterfaceQT4/politiquesValidation.py +++ b/InterfaceQT4/politiquesValidation.py @@ -120,8 +120,6 @@ class PolitiquePlusieurs: commentaire="Nouvelle valeur acceptée" commentaire2="" valide=1 - if listevaleur==None: return - if listevaleur=="": return if not( type(listevaleur) in (types.ListType,types.TupleType)) : listevaleur=tuple(listevaleur) for valeur in listevaleur : @@ -158,3 +156,37 @@ class PolitiquePlusieurs: listeRetour.append(valeur) return valide,commentaire,commentaire2,listeRetour + + def AjoutTuple(self,valeurTuple,index,listecourante): + listeRetour=[] + commentaire="Nouvelle valeur acceptée" + commentaire2="" + valide=1 + if valeurTuple==None: return + if valeurTuple==['']: return + # On teste le type de la valeur + valide=self.node.item.valide_item(valeurTuple) + if not valide : + try : + valeur,valide=self.node.item.eval_valeur(valeur) + valide,commentaire = self.node.item.object.verif_type(valeur) + except : + pass + if not valide: + commentaire="Valeur "+str(valeur)+ " incorrecte : ajout à la liste refusé" + commentaire2=self.node.item.info_erreur_item() + return valide,commentaire,commentaire2,listeRetour + + # On valide la liste obtenue + encorevalide=self.node.item.valide_liste_partielle(valeurTuple,listecourante) + if not encorevalide : + commentaire2=self.node.item.info_erreur_liste() + # On traite le cas ou la liste n est pas valide pour un pb de cardinalite + min,max = self.node.item.GetMinMax() + if len(listecourante) + 1 >= max : + commentaire="La liste a déjà atteint le nombre maximum d'éléments,ajout refusé" + return valide,commentaire,commentaire2,listeRetour + listecourante.insert(index,valeurTuple) + index=index+1 + listeRetour.append(valeurTuple) + return valide,commentaire,commentaire2,listeRetour diff --git a/InterfaceQT4/qtEficas.py b/InterfaceQT4/qtEficas.py index 54921093..b79ae338 100644 --- a/InterfaceQT4/qtEficas.py +++ b/InterfaceQT4/qtEficas.py @@ -29,6 +29,7 @@ class Appli(Ui_Eficas,QMainWindow): import prefs self.REPINI=prefs.REPINI + self.RepIcon=prefs.INSTALLDIR+"/UiQT4/icons" import configuration self.CONFIGURATION = configuration.make_config(self,prefs.REPINI) self.CONFIGStyle = configuration.make_config_style(self,prefs.REPINI) diff --git a/InterfaceQT4/qtSaisie.py b/InterfaceQT4/qtSaisie.py index c0fd8a43..be089958 100644 --- a/InterfaceQT4/qtSaisie.py +++ b/InterfaceQT4/qtSaisie.py @@ -109,6 +109,18 @@ class SaisieValeur: self.editor.affiche_infos(commentaire) + def TraiteLEValeurTuple(self) : + listeValeurs=[] + valeurBrute=str(self.LEValeur.text()) + listeValeursSplit=valeurBrute.split(',') + for val in listeValeursSplit : + try : + valeur=eval(val,{}) + except : + valeur=val + listeValeurs.append(valeur) + return listeValeurs + def TraiteLEValeur(self,valeurTraitee=None) : # lit la chaine entree dans le line edit # et la tranforme en chaine de valeurs diff --git a/UiQT4/desPlusieursBase.ui b/UiQT4/desPlusieursBase.ui index 6ad53129..261d4a8d 100644 --- a/UiQT4/desPlusieursBase.ui +++ b/UiQT4/desPlusieursBase.ui @@ -108,7 +108,7 @@ - ../../EficasV1/Editeur/icons/arrow_left.gif../../EficasV1/Editeur/icons/arrow_left.gif + ../Editeur/icons/arrow_left.png../Editeur/icons/arrow_left.png @@ -230,7 +230,7 @@ - image240.gifimage240.gif + image240.pngimage240.png @@ -315,7 +315,7 @@ - ../../EficasV1/Editeur/icons/arrow_right.gif../../EficasV1/Editeur/icons/arrow_right.gif + ../../EficasV1/Editeur/icons/arrow_right.png../../EficasV1/Editeur/icons/arrow_right.png @@ -380,7 +380,7 @@ true - true + false diff --git a/UiQT4/desPlusieursInto.ui b/UiQT4/desPlusieursInto.ui index 9fa87f7d..d4e63a46 100644 --- a/UiQT4/desPlusieursInto.ui +++ b/UiQT4/desPlusieursInto.ui @@ -182,7 +182,7 @@ - ../../EficasV1/Editeur/icons/arrow_left.gif../../EficasV1/Editeur/icons/arrow_left.gif + ../Editeur/icons/arrow_left.png../Editeur/icons/arrow_left.png @@ -208,7 +208,7 @@ - ../Editeur/icons/arrow_right.gif../Editeur/icons/arrow_right.gif + ../Editeur/icons/arrow_right.png../Editeur/icons/arrow_right.png diff --git a/UiQT4/desUniqueBase.ui b/UiQT4/desUniqueBase.ui index c089a5ff..2fac4097 100644 --- a/UiQT4/desUniqueBase.ui +++ b/UiQT4/desUniqueBase.ui @@ -236,7 +236,7 @@ - image240.gifimage240.gif + image240.pngimage240.png