- def getPanel(self):
- """
- """
- klass = None
- # Attention l ordre des if est important
-
- if self.item.wait_matrice ():
- from monMatricePanel import MonMatricePanel
- klass=MonMatricePanel
- # l'objet prend sa (ses) valeur(s) dans un ensemble discret de valeurs
- elif self.item.has_into():
- if self.item.is_list() :
- from monPlusieursIntoPanel import MonPlusieursIntoPanel
- klass = MonPlusieursIntoPanel
- else:
- from monUniqueIntoPanel import MonUniqueIntoPanel
- klass = MonUniqueIntoPanel
-
- # l'objet prend une ou des valeurs a priori quelconques
- else:
- # on attend une liste de valeurs
- if self.item.is_list() :
- # on attend une liste de SD
- if self.item.wait_tuple() :
- from monFonctionPanel import MonFonctionPanel
- klass = MonFonctionPanel
- elif self.item.wait_assd():
- from monPlusieursASSDPanel import MonPlusieursASSDPanel
- klass = MonPlusieursASSDPanel
- else:
- # on attend une liste de valeurs de types debase (entiers, réels,...)
- from monPlusieursBasePanel import MonPlusieursBasePanel
- klass = MonPlusieursBasePanel
- # on n'attend qu'une seule valeur
- else:
- # on attend une SD ou un objet de la classe CO (qui n'existe pas encore)
- if self.item.wait_co():
- if len(self.item.get_sd_avant_du_bon_type()) != 0 :
- from monUniqueSDCOIntoPanel import MonUniqueSDCOIntoPanel
- klass = MonUniqueSDCOIntoPanel
- else :
- from monUniqueSDCOPanel import MonUniqueSDCOPanel
- klass = MonUniqueSDCOPanel
-
- # on attend une SD
- elif self.item.wait_assd():
- if 'R' in self.item.GetType():
- from monUniqueASSDPanel import MonUniqueASSDReelPanel
- klass = MonUniqueASSDReelPanel
- else :
- from monUniqueASSDPanel import MonUniqueASSDPanel
- klass = MonUniqueASSDPanel
-
- # on attend une valeur d'un type de base (entier,reel,...)
- else:
- # on attend un complexe
- if self.item.wait_complex():
- from monUniqueCompPanel import MonUniqueCompPanel
- klass = MonUniqueCompPanel
- elif self.item.wait_bool() :
- from monUniqueBoolPanel import MonUniqueBoolPanel
- klass = MonUniqueBoolPanel
- else :
- from monUniqueBasePanel import MonUniqueBasePanel
- klass = MonUniqueBasePanel
-
- # cas particulier des fonctions
- genea = self.item.get_genealogie()
- if "VALE" in genea or "VALE_C" in genea:
- if "DEFI_FONCTION" in genea :
- from monFonctionPanel import MonFonctionPanel
- klass = MonFonctionPanel
-
- if not klass:
- return None
- return klass( self, self.editor )
-