#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.into != [] and maDefinition.into != None:
+ if type(maDefinition.into) ==types.FunctionType : monInto=maDefinition.into()
+ else : monInto = maDefinition.into
+
+
if maDefinition.max == 1 :
# A verifier
if maDefinition.into != [] and maDefinition.into != None:
- if len(maDefinition.into) < 4 :
+ if len(monInto) < 4 :
from .monWidgetRadioButton import MonWidgetRadioButton
widget=MonWidgetRadioButton(self,maDefinition,monNom,monObjet,parentQt,maCommande)
- elif len(maDefinition.into) < 7 :
+ elif len(monInto) < 7 :
from .monWidget4a6RadioButton import MonWidget4a6RadioButton
widget=MonWidget4a6RadioButton(self,maDefinition,monNom,monObjet,parentQt,maCommande)
else :
if len(self.item.get_sd_avant_du_bon_type()) == 0 :
from .monWidgetVide import MonWidgetVide
widget=MonWidgetVide(self,maDefinition,monNom,monObjet,parentQt,maCommande)
- if len(self.item.get_sd_avant_du_bon_type()) < 4 :
+ elif len(self.item.get_sd_avant_du_bon_type()) < 4 :
from .monWidgetRadioButton import MonWidgetRadioButtonSD
widget=MonWidgetRadioButtonSD(self,maDefinition,monNom,monObjet,parentQt,maCommande)
elif len(self.item.get_sd_avant_du_bon_type()) < 7 :
# Gestion des listes
else :
+ if maDefinition.intoSug != [] and maDefinition.intoSug != None:
+ from .monWidgetIntoSug import MonWidgetIntoSug
+ widget=MonWidgetIntoSug(self,maDefinition,monNom,monObjet,parentQt,maCommande)
#if maDefinition.into != [] and maDefinition.into != None:
# Attention pas fini --> on attend une liste de ASSD avec ordre
- if self.item.wait_assd() and self.item.is_list_SansOrdreNiDoublon():
+ elif self.item.wait_assd() and self.item.is_list_SansOrdreNiDoublon():
#if self.item.is_list_Chargement():
#from monWidgetPlusieursTuple2AvecChargement import MonWidgetPlusieursTuple2AvecChargement
#widget=MonWidgetPlusieursTuple2(self,maDefinition,monNom,monObjet,parentQt,maCommande)
# pass
#else :
- from .monWidgetPlusieursInto import MonWidgetPlusieursInto
- widget=MonWidgetPlusieursInto(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ listeAAfficher = self.item.get_sd_avant_du_bon_type()
+ if len(listeAAfficher) == 0:
+ from .monWidgetVide import MonWidgetVide
+ widget = MonWidgetVide(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ else :
+ from .monWidgetPlusieursInto import MonWidgetPlusieursInto
+ widget=MonWidgetPlusieursInto(self,maDefinition,monNom,monObjet,parentQt,maCommande)
elif self.item.wait_assd() :
- from .monWidgetPlusieursASSDIntoOrdonne import MonWidgetPlusieursASSDIntoOrdonne
- widget=MonWidgetPlusieursASSDIntoOrdonne(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ listeAAfficher = self.item.get_sd_avant_du_bon_type()
+ if len(listeAAfficher) == 0:
+ from .monWidgetVide import MonWidgetVide
+ widget = MonWidgetVide(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ else :
+ from .monWidgetPlusieursASSDIntoOrdonne import MonWidgetPlusieursASSDIntoOrdonne
+ widget=MonWidgetPlusieursASSDIntoOrdonne(self,maDefinition,monNom,monObjet,parentQt,maCommande)
elif self.item.wait_tuple() :
if self.item.object.definition.type[0].ntuple == 2:
from .monWidgetPlusieursTuple2 import MonWidgetPlusieursTuple2
has_an_into= self.definition.validators.has_into()
return has_an_into
+ def has_intoSug(self):
+ if self.definition.intoSug: return 1
+ return 0
+
def GetMinMax(self):
""" Retourne les valeurs min et max de la definition de object """
#print listevalideliste
return listevalideliste
+ def get_liste_possible_avecSug(self,listeActuelle=[]):
+ if hasattr(self.definition,'intoSug'):
+ valeurspossibles = self.definition.intoSug
+ else:
+ return listeActuelle
+
+ if listeActuelle==[] : return valeurspossibles
+ valeurspossibles = valeurspossibles+listeActuelle
+
+ #On ne garde que les items valides
+ listevalideitem=[]
+ if type(valeurspossibles) in (list,tuple) :
+ pass
+ else :
+ valeurspossibles=(valeurspossibles,)
+ for item in valeurspossibles:
+ encorevalide=self.valide_item(item)
+ if encorevalide :
+ listevalideitem.append(item)
+
+ #on ne garde que les choix possibles qui passent le test de valide_liste_partielle
+ listevalideliste=[]
+ for item in listevalideitem:
+ encorevalide=self.valide_liste_partielle(item,listeActuelle)
+ if encorevalide :
+ listevalideliste.append(item)
+ return listevalideliste
+
def get_liste_param_possible(self):
liste_param=[]
l1,l2=self.jdc.get_parametres_fonctions_avant_etape(self.get_etape())