-import prefs
-
-class Node(browser.JDCNode):
- def getPanel(self):
- """
- """
- 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():
- 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_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
- else:
- # on attend un entier, un réel ou une string
- 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 )
-
-
+class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
+
+ def createPopUpMenu(self):
+ typeNode.PopUpMenuNodeMinimal.createPopUpMenu(self)
+
+
+ def getPanelGroupe(self,parentQt,maCommande):
+ maDefinition=self.item.get_definition()
+ monObjet=self.item.object
+ monNom=self.item.nom
+
+ # label informatif
+ if monObjet.isInformation():
+ from .monWidgetInfo import MonWidgetInfo
+ widget=MonWidgetInfo(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ self.widget=widget
+ return widget
+
+
+ # Attention l ordre des if est important
+ # Attention il faut gerer les blocs et les facteurs
+ # a gerer comme dans composimp
+ # Gestion des matrices
+ if self.item.wait_matrice ():
+ from .monWidgetMatrice import MonWidgetMatrice
+ widget=MonWidgetMatrice(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ self.widget=widget
+ return widget
+
+ #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(monInto) < 4 :
+ from .monWidgetRadioButton import MonWidgetRadioButton
+ widget=MonWidgetRadioButton(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ elif len(monInto) < 7 :
+ from .monWidget4a6RadioButton import MonWidget4a6RadioButton
+ widget=MonWidget4a6RadioButton(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ else :
+ from .monWidgetCB import MonWidgetCB
+ widget=MonWidgetCB(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+
+ elif self.item.wait_bool() :
+ from .monWidgetSimpBool import MonWidgetSimpBool
+ widget=MonWidgetSimpBool(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ elif self.item.wait_fichier():
+ from .monWidgetSimpFichier import MonWidgetSimpFichier
+ widget=MonWidgetSimpFichier(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+
+ # PNPNPN - a faire
+ elif self.item.wait_date():
+ from .monWidgetDate import MonWidgetDate
+ widget=MonWidgetDate(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ elif self.item.wait_heure():
+ from .monWidgetHeure import MonWidgetHeure
+ widget=MonWidgetHeure(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+
+ elif self.item.wait_tuple() :
+ if self.item.object.definition.type[0].ntuple == 2:
+ from .monWidgetSimpTuple2 import MonWidgetSimpTuple2
+ widget=MonWidgetSimpTuple2(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ elif self.item.object.definition.type[0].ntuple == 3 :
+ from .monWidgetSimpTuple3 import MonWidgetSimpTuple3
+ widget=MonWidgetSimpTuple3(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ else :
+ print ("Pas de Tuple de longueur > 3")
+ print ("Prevenir la maintenance ")
+
+ elif self.item.wait_complex():
+ from .monWidgetSimpComplexe import MonWidgetSimpComplexe
+ widget=MonWidgetSimpComplexe(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+
+ elif self.item.wait_co():
+ if len(self.item.get_sd_avant_du_bon_type()) == 0 :
+ from .monWidgetUniqueSDCO import MonWidgetUniqueSDCO
+ widget=MonWidgetUniqueSDCO(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ else :
+ from .monWidgetSDCOInto import MonWidgetSDCOInto
+ widget=MonWidgetSDCOInto(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ elif self.item.wait_assd():
+ if len(self.item.get_sd_avant_du_bon_type()) == 0 :
+ from .monWidgetVide import MonWidgetVide
+ widget=MonWidgetVide(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ 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 :
+ from .monWidget4a6RadioButton import MonWidget4a6RadioButtonSD
+ widget=MonWidget4a6RadioButtonSD(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ else :
+ from .monWidgetCB import MonWidgetCBSD
+ widget=MonWidgetCBSD(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+
+ elif self.item.wait_Salome() and self.editor.salome:
+ from .monWidgetSimpSalome import MonWidgetSimpSalome
+ widget=MonWidgetSimpSalome(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+
+ elif self.item.wait_TXM():
+ from .monWidgetSimpTxt import MonWidgetSimpTxt
+ widget=MonWidgetSimpTxt(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ else :
+ from .monWidgetSimpBase import MonWidgetSimpBase
+ widget=MonWidgetSimpBase(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+
+ # Gestion des listes
+ else :
+ #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():
+ #if self.item.is_list_Chargement():
+ #from monWidgetPlusieursTuple2AvecChargement import MonWidgetPlusieursTuple2AvecChargement
+ #widget=MonWidgetPlusieursTuple2(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ # pass
+ #else :
+ 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() :
+ 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
+ widget=MonWidgetPlusieursTuple2(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ elif self.item.object.definition.type[0].ntuple == 3 :
+ from .monWidgetPlusieursTuple3 import MonWidgetPlusieursTuple3
+ widget=MonWidgetPlusieursTuple3(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ else :
+ print ("Pas de Tuple de longueur > 3")
+ print ("Prevenir la maintenance ")
+ elif self.item.has_into():
+ if self.item.is_list_SansOrdreNiDoublon():
+
+ if self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) :
+ from .monWidgetPlusieursInto import MonWidgetPlusieursInto
+ widget=MonWidgetPlusieursInto(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ else :
+ from .monWidgetPlusieursPlie import MonWidgetPlusieursPlie
+ widget=MonWidgetPlusieursPlie(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ else :
+# tres vite pour le tag mais devra etre gere dans configuration
+ if self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) :
+ from .monWidgetPlusieursIntoOrdonne import MonWidgetPlusieursIntoOrdonne
+ widget=MonWidgetPlusieursIntoOrdonne(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ else :
+ from .monWidgetPlusieursPlie import MonWidgetPlusieursPlie
+ widget=MonWidgetPlusieursPlie(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ else :
+ #print 8
+ if self.item in self.editor.listeDesListesOuvertes or not(self.editor.afficheListesPliees) :
+ from .monWidgetPlusieursBase import MonWidgetPlusieursBase
+ widget=MonWidgetPlusieursBase(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+ else :
+ from .monWidgetPlusieursPlie import MonWidgetPlusieursPlie
+ widget=MonWidgetPlusieursPlie(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+
+ self.widget=widget
+ return widget
+