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) :
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)
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
# ------------------------------
# ------------------------------
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)
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)
--- /dev/null
+#!/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()
# 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)")
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 :
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():
#
# 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)
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)
#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)
+
+
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
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
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)
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)
"""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',
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>WidgetFactHorizon</class>
- <widget class="QWidget" name="WidgetFactHorizon">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>949</width>
- <height>53</height>
- </rect>
- </property>
- <property name="focusPolicy">
- <enum>Qt::StrongFocus</enum>
- </property>
- <property name="windowTitle">
- <string>Form</string>
- </property>
- <property name="styleSheet">
- <string notr="true"> QGroupBox {
- border: 1px solid gray;
- border-radius: 5px;
- margin-top: 1ex; /* leave space at the top for the title */
- }
-
- QGroupBox::title {
- padding: 0 3px;
- }</string>
- </property>
- <layout class="QHBoxLayout" name="horizontalLayout_3">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="leftMargin">
- <number>0</number>
- </property>
- <property name="topMargin">
- <number>2</number>
- </property>
- <property name="rightMargin">
- <number>0</number>
- </property>
- <property name="bottomMargin">
- <number>0</number>
- </property>
- <item>
- <layout class="QVBoxLayout" name="verticalLayout">
- <property name="spacing">
- <number>0</number>
- </property>
- <item>
- <spacer name="verticalSpacer">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>20</width>
- <height>5</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QToolButton" name="RBPlie">
- <property name="minimumSize">
- <size>
- <width>21</width>
- <height>15</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>21</width>
- <height>21</height>
- </size>
- </property>
- <property name="styleSheet">
- <string notr="true">border : 0px</string>
- </property>
- <property name="text">
- <string>...</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>../Editeur/icons/minusnode.png</normaloff>../Editeur/icons/minusnode.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>21</width>
- <height>21</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_4">
- <item>
- <widget class="Line" name="line_7">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
- </item>
- <item>
- <layout class="QGridLayout" name="gridLayout">
- <property name="horizontalSpacing">
- <number>0</number>
- </property>
- <item row="0" column="0">
- <widget class="MonBoutonValide" name="RBValide">
- <property name="minimumSize">
- <size>
- <width>17</width>
- <height>25</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>21</width>
- <height>25</height>
- </size>
- </property>
- <property name="styleSheet">
- <string notr="true">border : 0px</string>
- </property>
- <property name="text">
- <string>...</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>../Editeur/icons/ast-green-ball.png</normaloff>../Editeur/icons/ast-green-ball.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>21</width>
- <height>25</height>
- </size>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <layout class="QHBoxLayout" name="horizontalLayout">
- <property name="spacing">
- <number>0</number>
- </property>
- <item>
- <widget class="MonLabelClic" name="GroupBox">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>25</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>12121213</width>
- <height>25</height>
- </size>
- </property>
- <property name="text">
- <string><html><head/><body><p><span style=" font-style:italic;">TextLabel</span></p></body></html></string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>13</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="Line" name="line_4">
- <property name="sizePolicy">
- <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>200</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>1500</width>
- <height>16</height>
- </size>
- </property>
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="horizontalSpacer_3">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>13</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="sizeConstraint">
- <enum>QLayout::SetFixedSize</enum>
- </property>
- <item>
- <widget class="QToolButton" name="RBRun">
- <property name="minimumSize">
- <size>
- <width>21</width>
- <height>31</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>21</width>
- <height>31</height>
- </size>
- </property>
- <property name="focusPolicy">
- <enum>Qt::ClickFocus</enum>
- </property>
- <property name="toolTip">
- <string>Lance un script associé à la commande</string>
- </property>
- <property name="styleSheet">
- <string notr="true">border : 0px</string>
- </property>
- <property name="text">
- <string>...</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>../Editeur/icons/roue.png</normaloff>../Editeur/icons/roue.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>21</width>
- <height>31</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="RBInfo">
- <property name="minimumSize">
- <size>
- <width>21</width>
- <height>25</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>21</width>
- <height>25</height>
- </size>
- </property>
- <property name="styleSheet">
- <string notr="true">border : 0px</string>
- </property>
- <property name="text">
- <string>...</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>../Editeur/icons/point-interrogation30.png</normaloff>../Editeur/icons/point-interrogation30.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>21</width>
- <height>25</height>
- </size>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QToolButton" name="RBRegle">
- <property name="minimumSize">
- <size>
- <width>21</width>
- <height>25</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>21</width>
- <height>25</height>
- </size>
- </property>
- <property name="styleSheet">
- <string notr="true">border : 0px</string>
- </property>
- <property name="text">
- <string>...</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>../Editeur/icons/lettreRblanc30.png</normaloff>../Editeur/icons/lettreRblanc30.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>21</width>
- <height>25</height>
- </size>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <spacer name="horizontalSpacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeType">
- <enum>QSizePolicy::Fixed</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>13</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- <item>
- <widget class="QToolButton" name="RBPoubelle">
- <property name="minimumSize">
- <size>
- <width>21</width>
- <height>25</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>21</width>
- <height>25</height>
- </size>
- </property>
- <property name="styleSheet">
- <string notr="true">border : 0px</string>
- </property>
- <property name="text">
- <string>...</string>
- </property>
- <property name="icon">
- <iconset>
- <normaloff>../Editeur/icons/deleteRond.png</normaloff>../Editeur/icons/deleteRond.png</iconset>
- </property>
- <property name="iconSize">
- <size>
- <width>21</width>
- <height>25</height>
- </size>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item row="1" column="1">
- <layout class="QHBoxLayout" name="commandesLayout">
- <property name="spacing">
- <number>0</number>
- </property>
- <property name="topMargin">
- <number>2</number>
- </property>
- </layout>
- </item>
- </layout>
- </item>
- </layout>
- <zorder></zorder>
- <zorder></zorder>
- </widget>
- <customwidgets>
- <customwidget>
- <class>MonBoutonValide</class>
- <extends>QToolButton</extends>
- <header>monBoutonValide.h</header>
- </customwidget>
- <customwidget>
- <class>MonLabelClic</class>
- <extends>QLabel</extends>
- <header>monLabelClic.h</header>
- </customwidget>
- </customwidgets>
- <resources/>
- <connections/>
-</ui>
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 \