Salome HOME
Pour V1 Carmel
[tools/eficas.git] / InterfaceQT4 / composimp.py
index d72a2498a97a64793a2135db51fdb528c7410b1f..88876b2ddbab357e2a8dec3aa5065776e83f08d8 100644 (file)
@@ -119,15 +119,25 @@ 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
 
         #print "____________________________", self.item.wait_tuple() 
+        # Gestion d'une seule valeur (eventuellement un tuple ou un complexe)
         if maDefinition.max == 1 :
+
+          # Listes de valeur discretes
           if maDefinition.into != [] and maDefinition.into != None:
-          # a revoir
             if len(maDefinition.into) < 4 :
               from monWidgetRadioButton import MonWidgetRadioButton
               widget=MonWidgetRadioButton(self,maDefinition,monNom,monObjet,parentQt,maCommande)
@@ -141,13 +151,19 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
           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() :
-          # Pas fait
             if self.item.object.definition.type[0].ntuple == 2:
                from monWidgetSimpTuple2 import MonWidgetSimpTuple2
                widget=MonWidgetSimpTuple2(self,maDefinition,monNom,monObjet,parentQt,maCommande)
@@ -155,17 +171,26 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
                from monWidgetSimpTuple3 import MonWidgetSimpTuple3
                widget=MonWidgetSimpTuple3(self,maDefinition,monNom,monObjet,parentQt,maCommande)
             else :
-               print "Pas fait"
+               print "Pas de Tuple de longueur > 3"
+               print "Prevenir la maintenance "
 
           elif self.item.wait_complex():
-          # Pas fait
             from monWidgetSimpComplexe import MonWidgetSimpComplexe
             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)
+          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
@@ -173,21 +198,25 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
             widget=MonWidgetSimpSalome(self,maDefinition,monNom,monObjet,parentQt,maCommande)
 
           elif self.item.wait_TXM():
-          # Pas fait
             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:
-             #Pas encore traité
-            from monWidgetPlusieursInto import MonWidgetPlusieursInto
-            widget=MonWidgetPlusieursInto(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+            if self.item.is_list_SansOrdreNiDoublon():
+               from monWidgetPlusieursInto import MonWidgetPlusieursInto
+               widget=MonWidgetPlusieursInto(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+            else :
+               from monWidgetPlusieursIntoOrdonne import MonWidgetPlusieursIntoOrdonne
+               widget=MonWidgetPlusieursIntoOrdonne(self,maDefinition,monNom,monObjet,parentQt,maCommande)
           else :
             from monWidgetPlusieursBase import MonWidgetPlusieursBase
             widget=MonWidgetPlusieursBase(self,maDefinition,monNom,monObjet,parentQt,maCommande)
+        self.widget=widget
         return widget
          
     
@@ -239,6 +268,9 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem):
          is_a_list= self.definition.validators.is_list() * is_a_list
       return is_a_list 
 
+  def is_list_SansOrdreNiDoublon(self):
+      if self.definition.homo=="SansOrdreNiDoublon": return 1
+      return 0 
 
   def has_into(self):
       """
@@ -520,6 +552,24 @@ class SIMPTreeItem(Objecttreeitem.AtomicObjectTreeItem):
           return 1
       else:
           return 0
+
+  def wait_date(self):
+      """ Méthode booléenne qui retourne 1 si l'objet pointé par self
+      attend un réel, 0 sinon """
+      if 'DateHHMMAAAA' in self.object.definition.type:
+          return 1
+      else:
+          return 0
+        
+  def wait_heure(self):
+      """ Méthode booléenne qui retourne 1 si l'objet pointé par self
+      attend un réel, 0 sinon """
+      if 'HeureHHMMSS' in self.object.definition.type:
+          return 1
+      else:
+          return 0
+        
+        
         
   def wait_tuple(self):
       """ Méthode booléenne qui retourne 1 si l'objet pointé par self