From: pascale.noyret Date: Fri, 2 Feb 2018 11:47:59 +0000 (+0100) Subject: 020218-synchro X-Git-Tag: V8_5_0rc2a2~41 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=0237645fa2aad382a175d7083515538405146587;p=modules%2Feficas.git 020218-synchro --- diff --git a/Efi2Xsd/readerEfficas.py b/Efi2Xsd/readerEfficas.py index afd12497..34a178f5 100755 --- a/Efi2Xsd/readerEfficas.py +++ b/Efi2Xsd/readerEfficas.py @@ -5,36 +5,39 @@ import raw.efficas as efficas import types sys.path.insert(0,os.path.abspath(os.path.join(os.getcwd(),'..'))) -sys.path.insert(0,os.path.abspath(os.path.join(os.getcwd(),'..','UiQT5'))) from Accas import * # Attention pas d heritage possible (cf doc pyxbe) +# bizarre le comportement de max est different entre les facts et les simps ? dictSIMPEficasXML= { 'typ' : 'typeAttendu', 'statut' : 'statut', 'min_occurs': 'min' , 'max_occurs' : 'max', 'homo' : 'homo' , 'position' : 'portee', 'validators': 'validators' , 'sug' : 'valeur_sugg', - 'defaut' : 'ValeurDef' , 'into' : ('PlageValeur','into'), - 'val_min' : ('PlageValeur','borne_inf') , 'val_max' : ('PlageValeur','borne_sup'), + 'defaut' : 'valeurDef' , 'into' : ('plageValeur','into'), + 'val_min' : ('plageValeur','borne_inf') , 'val_max' : ('plageValeur','borne_sup'), 'ang' : ('doc','ang') , 'fr' : ('doc','fr',) , 'docu' : ('doc','docu'),} dictSIMPXMLEficas = {'doc' : {'fr' : 'fr' , 'ang' : 'ang' , 'docu' : 'docu' }, - 'PlageValeur' : {'borne_sup' : 'val_max' , 'into' : 'into' , 'borne_inf' : 'val_min' ,}, + 'plageValeur' : {'borne_sup' : 'val_max' , 'into' : 'into' , 'borne_inf' : 'val_min' ,}, 'statut' : 'statut' , 'validators' : 'validators' , 'homo' : 'homo' , - 'ValeurDef' : 'defaut' , 'min' : 'min_occurs' , - 'valeur_sugg' : 'sug' , 'portee' : 'position' , 'max' : 'max_occurs' , } + 'valeurDef' : 'defaut' , 'min_occurs' : 'min' , + 'valeur_sugg' : 'sug' , 'portee' : 'position' , 'max_occurs' : 'max' , } +dictFACTXMLEficas = {'doc' : {'fr' : 'fr' , 'ang' : 'ang' , 'docu' : 'docu' }, + 'statut' : 'statut' , 'validators' : 'validators' , + 'min_occurs' : 'min' , 'max_occurs' : 'max' , } # ------------------------------ class monSIMP (efficas.T_SIMP): # ------------------------------ - def explore(self): - print "je passe dans explore pour SIMP ", self.nom + def explore(self,cata): + #print "je passe dans explore pour SIMP ", self.nom self.dictArgsEficas={} self.dictArgsEficas['typ']=self.typeAttendu for nomXMLArg in dir(self) : @@ -42,6 +45,11 @@ class monSIMP (efficas.T_SIMP): nomEficasArg=dictSIMPXMLEficas[nomXMLArg] argu=getattr(self,nomXMLArg) if argu==None : continue + if nomEficasArg == 'defaut' : print (argu); + if nomEficasArg == 'defaut' : print (dir(argu)); + if nomEficasArg == 'defaut' : print (argu.value) + #if nomEficasArg == 'defaut' : print (efficas.T_I(argu)) + if nomEficasArg == 'defaut' : print (argu.content()) if type(nomEficasArg) == types.DictionaryType: for nomXML in nomEficasArg.keys(): arguDecoupe=getattr(argu,nomXML) @@ -50,47 +58,76 @@ class monSIMP (efficas.T_SIMP): else : self.dictArgsEficas[nomEficasArg] = argu - #if argNew != None : print argNew + if 'min' in self.dictArgsEficas.keys(): self.dictArgsEficas['min']=int(self.dictArgsEficas['min']) + if 'max' in self.dictArgsEficas.keys(): + if self.dictArgsEficas['max']== -1 : self.dictArgsEficas['max']="**" + else : self.dictArgsEficas['max']=int(self.dictArgsEficas['max']) self.objAccas=A_SIMP.SIMP(**self.dictArgsEficas) self.objAccas.nom=self.nom + self.strNomObj=str(self.nom) def getAccasEquivalent(self): - return self.nom, self.objAccas + return self.strNomObj, self.objAccas # ------------------------------ class monPROC(efficas.T_PROC): # ------------------------------ - def explore(self): - print "je passe dans explore pour PROC ", self.nom + def explore(self,cata): + #print "je passe dans explore pour PROC ", self.nom self.dictConstruction={} self.dictConstruction['nom']=self.nom - - for obj in self.content(): - if hasattr(obj,'explore') : obj.explore () + liste=[] + for obj in self.content(): liste.append(obj) + liste.reverse() + for obj in liste: + if hasattr(obj,'explore') : obj.explore (cata) if hasattr(obj,'getAccasEquivalent') : nom,objetAccas=obj.getAccasEquivalent() self.dictConstruction[nom]=objetAccas self.dictConstruction['op']=None self.objAccas=A_PROC.PROC(**self.dictConstruction) - print dir(self.objAccas) - print self.objAccas.entites + self.strNomObj=str(self.nom) + setattr(cata, self.strNomObj,self.objAccas) # ------------------------------ class monFACT(efficas.T_FACT): # ------------------------------ - def explore(self): + def explore(self,cata): #print "je passe dans explore pour FACT ", self.nom self.dictConstruction={} - for obj in self.content(): - if hasattr(obj,'explore') : obj.explore - if hasattr(obj,'creeAccasEquivalent') : - nom,objetAccas=obj.creeAccasEquivalent() + + for nomXMLArg in dir(self) : + if nomXMLArg in dictFACTXMLEficas.keys() : + nomEficasArg=dictFACTXMLEficas[nomXMLArg] + argu=getattr(self,nomXMLArg) + if argu==None : continue + argu=str(argu) + if type(nomEficasArg) == types.DictionaryType: + for nomXML in nomEficasArg.keys(): + arguDecoupe=getattr(argu,nomXML) + nomEficasDecoupe=nomEficasArg[nomXML] + self.dictConstruction[nomEficasDecoupe]=arguDecoupe + else : + self.dictConstruction[nomEficasArg] = argu + if 'min' in self.dictConstruction.keys(): self.dictConstruction['min']=int(self.dictConstruction['min']) + if 'max' in self.dictConstruction.keys(): + if self.dictConstruction['max']== '-1' : self.dictConstruction['max']="**" + else : self.dictConstruction['max']=int(self.dictConstruction['max']) + liste=[] + for obj in self.content(): liste.append(obj) + liste.reverse() + for obj in liste: + if hasattr(obj,'explore') : obj.explore(cata) + if hasattr(obj,'getAccasEquivalent') : + nom,objetAccas=obj.getAccasEquivalent() self.dictConstruction[nom]=objetAccas + self.objAccas=A_FACT.FACT(**self.dictConstruction) + self.strNomObj=str(self.nom) def getAccasEquivalent(self): - return self.nom, self.objAccas + return self.strNomObj, self.objAccas # ------------------------------ @@ -98,11 +135,14 @@ class monCata(efficas.T_cata): # ------------------------------ def exploreCata(self): # On positionne le contexte ACCAS + self.VERSION_CATALOGUE='V1' self.JdC = JDC_CATA (code = 'MED', execmodul = None,) + self.fromXML=1 objAExplorer=self.commandes[0] for obj in objAExplorer.content(): - if hasattr(obj,'explore') : obj.explore() - + if hasattr(obj,'explore') : obj.explore(self) + #print dir(self.JdC) + efficas.T_SIMP._SetSupersedingClass(monSIMP) @@ -118,6 +158,9 @@ if __name__ == "__main__": xml = open('Cata_MED_FAM.xml').read() SchemaMed = efficas.CreateFromDocument(xml) SchemaMed.exploreCata() + #print dir(SchemaMed) + #print dir(SchemaMed.FAS) + #print SchemaMed.FAS #print dir(efficas.T_SIMP) #print dir(efficas.T_SIMP) diff --git a/Efi2Xsd/writerEfficas.py b/Efi2Xsd/writerEfficas.py new file mode 100755 index 00000000..0a1cc1e9 --- /dev/null +++ b/Efi2Xsd/writerEfficas.py @@ -0,0 +1,157 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +import sys,os +import raw.efficas as efficas +import types + +sys.path.insert(0,os.path.abspath(os.path.join(os.getcwd(),'..'))) + + +from Accas import * + + +# Attention pas d heritage possible (cf doc pyxbe) +# bizarre le comportement de max est different entre les facts et les simps ? + +dictSIMPEficasXML= { 'typ' : 'typeAttendu', 'statut' : 'statut', + 'min_occurs': 'min' , 'max_occurs' : 'max', + 'homo' : 'homo' , 'position' : 'portee', + 'validators': 'validators' , 'sug' : 'valeur_sugg', + 'defaut' : 'valeurDef' , 'into' : ('plageValeur','into'), + 'val_min' : ('plageValeur','borne_inf') , 'val_max' : ('plageValeur','borne_sup'), + 'ang' : ('doc','ang') , 'fr' : ('doc','fr',) , + 'docu' : ('doc','docu'),} + +dictSIMPXMLEficas = {'doc' : {'fr' : 'fr' , 'ang' : 'ang' , 'docu' : 'docu' }, + 'plageValeur' : {'borne_sup' : 'val_max' , 'into' : 'into' , 'borne_inf' : 'val_min' ,}, + 'statut' : 'statut' , 'validators' : 'validators' , 'homo' : 'homo' , + 'valeurDef' : 'defaut' , 'min_occurs' : 'min' , + 'valeur_sugg' : 'sug' , 'portee' : 'position' , 'max_occurs' : 'max' , } + +dictFACTXMLEficas = {'doc' : {'fr' : 'fr' , 'ang' : 'ang' , 'docu' : 'docu' }, + 'statut' : 'statut' , 'validators' : 'validators' , + 'min_occurs' : 'min' , 'max_occurs' : 'max' , } + +## ------------------------------ +#class monSIMP (efficas.T_SIMP): +## ------------------------------ +# +# def explore(self,cata): +# #print "je passe dans explore pour SIMP ", self.nom +# self.dictArgsEficas={} +# self.dictArgsEficas['typ']=self.typeAttendu +# for nomXMLArg in dir(self) : +# if nomXMLArg in dictSIMPXMLEficas.keys() : +# nomEficasArg=dictSIMPXMLEficas[nomXMLArg] +# argu=getattr(self,nomXMLArg) +# if argu==None : continue +# if nomEficasArg == 'defaut' : print (argu); +# if nomEficasArg == 'defaut' : print (dir(argu)); +# if nomEficasArg == 'defaut' : print (argu.value) +# #if nomEficasArg == 'defaut' : print (efficas.T_I(argu)) +# if nomEficasArg == 'defaut' : print (argu.content()) +# if type(nomEficasArg) == types.DictionaryType: +# for nomXML in nomEficasArg.keys(): +# arguDecoupe=getattr(argu,nomXML) +# nomEficasDecoupe=nomEficasArg[nomXML] +# self.dictArgsEficas[nomEficasDecoupe]=arguDecoupe +# else : +# self.dictArgsEficas[nomEficasArg] = argu +# +# if 'min' in self.dictArgsEficas.keys(): self.dictArgsEficas['min']=int(self.dictArgsEficas['min']) +# if 'max' in self.dictArgsEficas.keys(): +# if self.dictArgsEficas['max']== -1 : self.dictArgsEficas['max']="**" +# else : self.dictArgsEficas['max']=int(self.dictArgsEficas['max']) +# self.objAccas=A_SIMP.SIMP(**self.dictArgsEficas) +# self.objAccas.nom=self.nom +# self.strNomObj=str(self.nom) +# +# def getAccasEquivalent(self): +# return self.strNomObj, self.objAccas +# +## ------------------------------ +#class monPROC(efficas.T_PROC): +## ------------------------------ +# def explore(self,cata): +# #print "je passe dans explore pour PROC ", self.nom +# self.dictConstruction={} +# self.dictConstruction['nom']=self.nom +# liste=[] +# for obj in self.content(): liste.append(obj) +# liste.reverse() +# for obj in liste: +# if hasattr(obj,'explore') : obj.explore (cata) +# if hasattr(obj,'getAccasEquivalent') : +# nom,objetAccas=obj.getAccasEquivalent() +# self.dictConstruction[nom]=objetAccas +# self.dictConstruction['op']=None +# self.objAccas=A_PROC.PROC(**self.dictConstruction) +# self.strNomObj=str(self.nom) +# setattr(cata, self.strNomObj,self.objAccas) +# +# +## ------------------------------ +#class monFACT(efficas.T_FACT): +## ------------------------------ +# def explore(self,cata): +# #print "je passe dans explore pour FACT ", self.nom +# self.dictConstruction={} +# +# for nomXMLArg in dir(self) : +# if nomXMLArg in dictFACTXMLEficas.keys() : +# nomEficasArg=dictFACTXMLEficas[nomXMLArg] +# argu=getattr(self,nomXMLArg) +# if argu==None : continue +# argu=str(argu) +# if type(nomEficasArg) == types.DictionaryType: +# for nomXML in nomEficasArg.keys(): +# arguDecoupe=getattr(argu,nomXML) +# nomEficasDecoupe=nomEficasArg[nomXML] +# self.dictConstruction[nomEficasDecoupe]=arguDecoupe +# else : +# self.dictConstruction[nomEficasArg] = argu +# if 'min' in self.dictConstruction.keys(): self.dictConstruction['min']=int(self.dictConstruction['min']) +# if 'max' in self.dictConstruction.keys(): +# if self.dictConstruction['max']== '-1' : self.dictConstruction['max']="**" +# else : self.dictConstruction['max']=int(self.dictConstruction['max']) +# liste=[] +# for obj in self.content(): liste.append(obj) +# liste.reverse() +# for obj in liste: +# if hasattr(obj,'explore') : obj.explore(cata) +# if hasattr(obj,'getAccasEquivalent') : +# nom,objetAccas=obj.getAccasEquivalent() +# self.dictConstruction[nom]=objetAccas +# +# self.objAccas=A_FACT.FACT(**self.dictConstruction) +# self.strNomObj=str(self.nom) +# +# def getAccasEquivalent(self): +# return self.strNomObj, self.objAccas +# +# +## ------------------------------ +#class monCata(efficas.T_cata): +## ------------------------------ +# def exploreCata(self): +# # On positionne le contexte ACCAS +# self.VERSION_CATALOGUE='V1' +# self.JdC = JDC_CATA (code = 'MED', execmodul = None,) +# self.fromXML=1 +# objAExplorer=self.commandes[0] +# for obj in objAExplorer.content(): +# if hasattr(obj,'explore') : obj.explore(self) +# #print dir(self.JdC) +# +# +# +#efficas.T_SIMP._SetSupersedingClass(monSIMP) +#efficas.T_FACT._SetSupersedingClass(monFACT) +#efficas.T_PROC._SetSupersedingClass(monPROC) +#efficas.T_cata._SetSupersedingClass(monCata) +# +if __name__ == "__main__": + + xml = open('Cata_MED_FAM.xml').read() + SchemaMed = efficas.CreateFromDocument(xml) + SchemaMed.exploreCata() diff --git a/Ihm/I_ETAPE.py b/Ihm/I_ETAPE.py index 1ed37544..11439079 100644 --- a/Ihm/I_ETAPE.py +++ b/Ihm/I_ETAPE.py @@ -111,7 +111,7 @@ class ETAPE(I_MCCOMPO.MCCOMPO): # pour eviter que le nom du concept soit le nom de la classe --> souci pour utiliser le concept if (nom == self.definition.nom) : return (0, tr("un concept de type ")+ nom + tr(" ne peut pas se nommer ") + nom) - if ( nom in dir(self.jdc.cata[0])) : return (0, nom + tr("est un not reserve")) + if ( nom in dir(self.jdc.cata)) : return (0, nom + tr("est un not reserve")) #if (not isinstance(nom,str)) : return (0, tr("Le nom ") + nom + tr(" est un mot reserve")) #if len(nom) > 8 and self.jdc.definition.code == 'ASTER': # return 0, tr("Nom de concept trop long (maxi 8 caracteres)") diff --git a/Ihm/I_JDC.py b/Ihm/I_JDC.py index 92a6f383..a8aaebc1 100644 --- a/Ihm/I_JDC.py +++ b/Ihm/I_JDC.py @@ -135,7 +135,7 @@ class JDC(I_OBJECT.OBJECT): def recalculeValiditeApresChangementGlobalJdc(self): #print "je passe dans recalculeValiditeApresChangementGlobalJdc" try : - liste=self.getJdcRoot().cata[0].liste_condition + liste=self.getJdcRoot().cata.liste_condition except : liste=() for etapeTraitee in self.etapes : @@ -165,7 +165,7 @@ class JDC(I_OBJECT.OBJECT): d=self.getContexteAvant(etape) l=[] try : - typeverif=self.cata[0].__dict__[type] + typeverif=self.cata.__dict__[type] except : return l for k,v in d.items(): diff --git a/InterfaceQT4/readercata.py b/InterfaceQT4/readercata.py index f3cd73b5..ccb66f9f 100644 --- a/InterfaceQT4/readercata.py +++ b/InterfaceQT4/readercata.py @@ -178,7 +178,6 @@ class READERCATA(object): # # traitement des clefs documentaires # - self.cata=(self.cata,) self.titre=self.VERSION_EFICAS+" "+tr( " avec le catalogue ") + os.path.basename(self.fic_cata) if self.appliEficas.ssIhm == False : self.appliEficas.setWindowTitle(self.titre) @@ -285,8 +284,8 @@ class READERCATA(object): def creeDicoInverse(self): self.dicoInverse={} self.dicoMC={} - listeEtapes=self.cata[0].JdC.commandes - for e in self.cata[0].JdC.commandes: + listeEtapes=self.cata.JdC.commandes + for e in self.cata.JdC.commandes: self.traiteEntite(e) @@ -326,4 +325,12 @@ class READERCATA(object): #else : print (niveau+1)*" ", nom + def dumpToXml(self): + from Efi2Xsd import readerEfficas + print ('in dumpToXml') + #newSchema= xml = open('Cata_MED_FAM.xml').read() + #SchemaMed = efficas.CreateFromDocument(xml) + #SchemaMed.alimenteCata(self.cata) + + diff --git a/InterfaceQT4/readercataXML.py b/InterfaceQT4/readercataXML.py index 5a737dc6..fbdcd64e 100644 --- a/InterfaceQT4/readercataXML.py +++ b/InterfaceQT4/readercataXML.py @@ -63,13 +63,18 @@ class READERCATA: self.fic_cata = 'Cata_MED_FAM.xml' - xml = open('/home/A96028/QT5GitEficasTravail/Med/Cata_MED_FAM.xml').read() + xml = open('/home/A96028/QT5GitEficasTravail/eficas/Med/Cata_MED_FAM.xml').read() SchemaMed = readerEfficas.efficas.CreateFromDocument(xml) SchemaMed.exploreCata() - self.cata=(SchemaMed,) - uiinfo.traite_UIinfo(self.cata[0]) + #self.cata=(SchemaMed,) + self.cata=SchemaMed + #uiinfo.traite_UIinfo(self.cata[0]) + uiinfo.traite_UIinfo(self.cata) self.Commandes_Ordre_Catalogue=[] - self.cata_ordonne_dico,self.appliEficas.liste_simp_reel=autre_analyse_cata.analyseCatalogue(self.cata[0]) + #self.cata_ordonne_dico,self.appliEficas.liste_simp_reel=autre_analyse_cata.analyseCatalogue(self.cata[0]) + self.cata_ordonne_dico,self.appliEficas.liste_simp_reel=autre_analyse_cata.analyseCatalogue(self.cata) self.liste_groupes=None - + def dumpToXml(self): + # pour compatibilite + pass diff --git a/Noyau/N_JDC.py b/Noyau/N_JDC.py index d73d8ab2..85eb6b70 100644 --- a/Noyau/N_JDC.py +++ b/Noyau/N_JDC.py @@ -92,8 +92,9 @@ NONE = None self.procedure = procedure self.definition = definition self.cata = cata - if type(self.cata) != tuple and cata != None: - self.cata = (self.cata,) + # PN pourquoi ? + #if type(self.cata) != tuple and cata != None: + # self.cata = (self.cata,) self._build_reserved_kw_list() self.cata_ordonne_dico = cata_ord_dico self.nom = nom @@ -191,7 +192,7 @@ Causes possibles : linecache.cache[self.nom] = 0, 0, self.procedure.split('\n'), self.nom try: exec(self.exec_init, self.g_context) - for obj_cata in self.cata: + for obj_cata in (self.cata,): if type(obj_cata) == types.ModuleType: init2 = "from " + obj_cata.__name__ + " import *" exec(init2, self.g_context) @@ -608,7 +609,7 @@ Causes possibles : donnee par son nom dans les catalogues declares au niveau du jdc """ - for cata in self.cata: + for cata in (self.cata,): if hasattr(cata, nomcmd): return getattr(cata, nomcmd) @@ -633,8 +634,9 @@ Causes possibles : """Construit la liste des mots-cles reserves (interdits pour le nommage des concepts).""" self._reserved_kw = set() - for cat in self.cata: - self._reserved_kw.update( + #for cat in self.cata: + cat=self.cata + self._reserved_kw.update( [kw for kw in dir(cat) if len(kw) <= 8 and kw == kw.upper()]) self._reserved_kw.difference_update( ['OPER', 'MACRO', 'BLOC', 'SIMP', 'FACT', 'FORM', diff --git a/UiQT5/desWidgetFactHorizon.ui b/UiQT5/desWidgetFactHorizon.ui deleted file mode 100644 index 0ccdf54f..00000000 --- a/UiQT5/desWidgetFactHorizon.ui +++ /dev/null @@ -1,428 +0,0 @@ - - - WidgetFactHorizon - - - - 0 - 0 - 949 - 53 - - - - Qt::StrongFocus - - - Form - - - QGroupBox { - border: 1px solid gray; - border-radius: 5px; - margin-top: 1ex; /* leave space at the top for the title */ - } - - QGroupBox::title { - padding: 0 3px; - } - - - - 0 - - - 0 - - - 2 - - - 0 - - - 0 - - - - - 0 - - - - - Qt::Vertical - - - QSizePolicy::Fixed - - - - 20 - 5 - - - - - - - - - 21 - 15 - - - - - 21 - 21 - - - - border : 0px - - - ... - - - - ../Editeur/icons/minusnode.png../Editeur/icons/minusnode.png - - - - 21 - 21 - - - - - - - - - - Qt::Vertical - - - - - - - - - - - 0 - - - - - - 17 - 25 - - - - - 21 - 25 - - - - border : 0px - - - ... - - - - ../Editeur/icons/ast-green-ball.png../Editeur/icons/ast-green-ball.png - - - - 21 - 25 - - - - - - - - 0 - - - - - - 0 - 0 - - - - - 0 - 25 - - - - - 12121213 - 25 - - - - <html><head/><body><p><span style=" font-style:italic;">TextLabel</span></p></body></html> - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 0 - 0 - - - - - 200 - 0 - - - - - 1500 - 16 - - - - Qt::Horizontal - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - 0 - - - QLayout::SetFixedSize - - - - - - 21 - 31 - - - - - 21 - 31 - - - - Qt::ClickFocus - - - Lance un script associé à la commande - - - border : 0px - - - ... - - - - ../Editeur/icons/roue.png../Editeur/icons/roue.png - - - - 21 - 31 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - border : 0px - - - ... - - - - ../Editeur/icons/point-interrogation30.png../Editeur/icons/point-interrogation30.png - - - - 21 - 25 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - border : 0px - - - ... - - - - ../Editeur/icons/lettreRblanc30.png../Editeur/icons/lettreRblanc30.png - - - - 21 - 25 - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 13 - 20 - - - - - - - - - 21 - 25 - - - - - 21 - 25 - - - - border : 0px - - - ... - - - - ../Editeur/icons/deleteRond.png../Editeur/icons/deleteRond.png - - - - 21 - 25 - - - - - - - - - - 0 - - - 2 - - - - - - - - - - - - MonBoutonValide - QToolButton -
monBoutonValide.h
-
- - MonLabelClic - QLabel -
monLabelClic.h
-
-
- - -
diff --git a/UiQT5/makefile b/UiQT5/makefile index 7e3fb80c..e2d48126 100644 --- a/UiQT5/makefile +++ b/UiQT5/makefile @@ -9,7 +9,7 @@ PY_FILES = myMain.py desBaseWidget.py desChoixCata.py desChoixCode.py desChoixCo desSelectVal.py desViewTexte.py desViewRegles.py desVisu.py desWidgetCreeParam.py desWidgetCommande.py \ desWidgetOptionnel.py desWidgetOptionnelMC.py Tuple2.py Tuple3.py \ desWidgetBloc.py desWidgetCB.py desWidgetCBIntoSug.py desWidgetCommentaire.py desWidgetDate.py \ - desWidgetFact.py desWidgetFactPlie.py desWidgetFormule.py desGroupeOptionnel.py \ + desWidgetFact.py desWidgetFactPlie.py desWidgetFactTableau.py desWidgetFormule.py desGroupeOptionnel.py \ desWidgetHeure.py desWidgetInformation.py desWidgetIntoSug.py desWidgetInactif.py \ desWidgetMatrice.py desWidgetParam.py desWidgetPlusieursBase.py desWidgetPlusieursInto.py \ desWidgetPlusieursIntoOrdonne.py desWidgetPlusieursTuple.py desWidgetRadioButton.py \