Salome HOME
linux/windows
[tools/eficas.git] / InterfaceQT4 / composimp.py
index e2230482d5b10b359319a202c5620331c45407b9..173cc96e1b8cd2a1cbb30d4d3545d6fdc4c3a731 100644 (file)
@@ -1,4 +1,4 @@
-# -*- coding: utf-8 -*-
+# -*- coding: iso-8859-1 -*-
 # Copyright (C) 2007-2013   EDF R&D
 #
 # This library is free software; you can redistribute it and/or
@@ -119,16 +119,30 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
         monNom=self.item.nom
         maCommande=commande
 
+        # 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
-      # Gerer les matrices --> Actuellement pas dans ce type de panneau
+      # 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 "____________________________", self.item.wait_tuple() 
+        #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.max == 1 :
 
-          # Listes de valeur discretes
+        # A verifier
           if maDefinition.into != [] and maDefinition.into != None:
             if len(maDefinition.into) < 4 :
               from monWidgetRadioButton import MonWidgetRadioButton
@@ -171,9 +185,25 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
             widget=MonWidgetSimpComplexe(self,maDefinition,monNom,monObjet,parentQt,maCommande)
 
           elif self.item.wait_co():
-          # Pas fait
-            from monWidgetSimpASSD import MonWidgetSimpASSD
-            widget=MonWidgetSimpASSD(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+            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)
+            if 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:
           # Pas fait
@@ -189,7 +219,22 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
 
         # Gestion des listes
         else :
-          if maDefinition.into != [] and maDefinition.into != None:
+          #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():
+               from monWidgetPlusieursInto import MonWidgetPlusieursInto
+               widget=MonWidgetPlusieursInto(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():
                from monWidgetPlusieursInto import MonWidgetPlusieursInto
                widget=MonWidgetPlusieursInto(self,maDefinition,monNom,monObjet,parentQt,maCommande)