Salome HOME
nettoyage des GetPanel et affichage pler deplier selon l ancien etat
[tools/eficas.git] / InterfaceQT4 / composimp.py
index f97c0a95c7d2c0bdbe5f27fc111f81333861b1f2..ca8a572a91b5ccb5a29e7494c3d023fa4f6c0642 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
@@ -31,83 +31,6 @@ from Noyau.N_CR   import justify_text
 from Accas        import SalomeEntry
     
 class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):    
-    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 )
-        
 
     def createPopUpMenu(self):
         typeNode.PopUpMenuNodeMinimal.createPopUpMenu(self)
@@ -130,13 +53,19 @@ class Node(browser.JDCNode,typeNode.PopUpMenuNodeMinimal):
       # 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 "____________________________", 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 :
 
+        # A verifier
           if maDefinition.into != [] and maDefinition.into != None:
             if len(maDefinition.into) < 4 :
               from monWidgetRadioButton import MonWidgetRadioButton
@@ -213,7 +142,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)