Salome HOME
cht version
[tools/eficas.git] / Editeur / Objecttreeitem.py
index 575042c71ef5beeae34493b323408bc70552fdb9..8b6fbbd6835e944fa51ceb157ef6940b397aa041 100644 (file)
 from __future__ import absolute_import
 from __future__ import print_function
 try :
-   from builtins import str
-   from builtins import range
-   from builtins import object
+    from builtins import str
+    from builtins import object
 except :
-   pass
+    pass
 import types,os,glob,imp,sys
-from six.moves.reprlib import Repr
 from copy import copy,deepcopy
 
 # import du chargeur de composants
@@ -37,8 +35,11 @@ from .comploader import makeObjecttreeitem
 from Ihm import CONNECTOR
 from Extensions.i18n import tr
 from Extensions.eficas_exception import EficasException
-from six.moves import range
 
+try :
+    from repr import Repr
+except :
+    from reprlib import Repr
 myrepr = Repr()
 myrepr.maxstring = 100
 myrepr.maxother = 100
@@ -143,9 +144,9 @@ class Delegate(object):
 
 
 class ObjectTreeItem(TreeItem,Delegate):
-    def __init__(self, appli, labeltext, object, setFunction=None):
+    def __init__(self, appliEficas, labeltext, object, setFunction=None):
         self.labeltext = labeltext
-        self.appli = appli
+        self.appliEficas = appliEficas
         # L'objet delegue est stocke dans l'attribut object
         # L'objet associe a l'item est stocke dans l'attribut _object
         # Il peut etre obtenu par appel a la methode getObject
@@ -168,7 +169,7 @@ class ObjectTreeItem(TreeItem,Delegate):
         return self._object
 
     def connect(self,channel,callable,args):
-        """ Connecte la fonction callable (avec arguments args) a l'item self sur le 
+        """ Connecte la fonction callable (avec arguments args) a l'item self sur le
             canal channel
         """
         #print self,channel,callable,args
@@ -180,18 +181,18 @@ class ObjectTreeItem(TreeItem,Delegate):
         Cree un item copie de self
         """
         object = self._object.copy()
-        appli = copy(self.appli)
+        appliEficas = copy(self.appliEficas)
         labeltext = copy(self.labeltext)
         fonction = deepcopy(self.setFunction)
-        item = makeObjecttreeitem(appli,labeltext,object,fonction)
+        item = makeObjecttreeitem(appliEficas,labeltext,object,fonction)
         return item
-    
+
     def isActif(self):
         if hasattr(self.object,'actif'):
             return self.object.actif
         else:
             return 1
-    
+
     def update(self,item):
         """
           Met a jour l'item courant a partir d'un autre item passe en argument
@@ -209,27 +210,27 @@ class ObjectTreeItem(TreeItem,Delegate):
         return tr(self.labeltext),None,None
 
     def getNature(self) :
-        """ 
+        """
             Retourne la nature de l'item et de l'objet
-        """ 
+        """
         return self.object.nature
 
     def getRegles(self):
         """ retourne les regles de l'objet pointe par self """
         return self.object.getRegles()
-    
+
     def getListeMcPresents(self):
         """ Retourne la liste des mots-cles fils de l'objet pointe par self """
         return self.object.listeMcPresents()
-    
+
     def getVal(self):
         """ Retourne le nom de la valeur de l'objet pointe par self dans le cas
             ou celle-ci est un objet (ASSD) """
         return self.object.getVal()
-    
+
     def get_definition(self):
-        """ 
-           Retourne l'objet definition de l'objet pointe par self 
+        """
+           Retourne l'objet definition de l'objet pointe par self
         """
         return self.object.definition
 
@@ -248,7 +249,7 @@ class ObjectTreeItem(TreeItem,Delegate):
         d'une liste du type :ETAPE + MCFACT ou MCBLOC + ...
         """
         return self.object.getListeMcOrdonneeBrute(liste,dico)
-   
+
     def getGenealogie(self):
         """
         Retourne la liste des noms des ascendants (noms de MCSIMP,MCFACT,MCBLOC ou ETAPE)
@@ -278,7 +279,7 @@ class ObjectTreeItem(TreeItem,Delegate):
                 l.append(nom)
         # l contient les anciens mots-cles + le nouveau dans l'ordre
         return l.index(nom_fils)
-        
+
     def appendChild(self,name,pos=None):
         """
           Permet d'ajouter un item fils a self
@@ -288,7 +289,7 @@ class ObjectTreeItem(TreeItem,Delegate):
         elif pos == 'last':
             index = len(self.listeMcPresents())
         elif type(pos) == int :
-            # la position est fixee 
+            # la position est fixee
             index = pos
         #elif type(pos) == types.InstanceType:
         elif type(pos) == object :
@@ -319,7 +320,7 @@ class ObjectTreeItem(TreeItem,Delegate):
     def getCopieObjet(self):
         """ Retourne une copie de l'objet pointe par self """
         return self.object.copy()
-    
+
     def getPosition(self):
         """ Retourne la valeur de l'attribut position de l'objet pointe par self """
         definition = self.get_definition()
@@ -327,7 +328,7 @@ class ObjectTreeItem(TreeItem,Delegate):
             return getattr(definition,'position')
         except AttributeError:
             return 'local'
-        
+
     def getNom(self):
         """ Retourne le nom de l'objet pointe par self """
         return self.object.nom
@@ -335,7 +336,7 @@ class ObjectTreeItem(TreeItem,Delegate):
     def getJdc(self):
         """ Retourne le jdc auquel appartient l'objet pointe par self """
         return self.object.jdc
-    
+
     def getValeur(self):
         """ Retourne la valeur de l'objet pointe par self """
         return self.object.valeur
@@ -353,7 +354,7 @@ class ObjectTreeItem(TreeItem,Delegate):
         raise EficasException("MESSAGE AU DEVELOPPEUR : il faut \
                                  surcharger la methode getObjetCommentarise() \
                                  pour la classe %s", self.__class__.__name__)
-        
+
     def isValid(self):
         """ Retourne 1 si l'objet pointe par self est valide, 0 sinon"""
         return self.object.isValid()
@@ -364,7 +365,7 @@ class ObjectTreeItem(TreeItem,Delegate):
         Par defaut retourne 0
         """
         return 0
-    
+
     def getMcPresents(self):
         """ Retourne le dictionnaire des mots-cles presents de l'objet pointe par self """
         return self.object.dictMcPresents()
@@ -386,10 +387,10 @@ class ObjectTreeItem(TreeItem,Delegate):
     def setValeur(self,new_valeur):
         """ Remplace la valeur de l'objet pointe par self par new_valeur """
         return self.object.setValeur(new_valeur)
-        
+
     def getText(self):
         return myrepr.repr(self.object)
-    
+
     def getIconName(self):
         if not self.isExpandable():
             return "python"
@@ -403,14 +404,10 @@ class ObjectTreeItem(TreeItem,Delegate):
             self.setFunction(value)
         except:
             pass
-# Modif de ma part CCar : je ne comprend pas a quoi ca sert
-# ca parait meme incorrect
-      #  else:
-      #      self.object = value
 
     def isExpandable(self):
         return 1
-        
+
     def getSubList(self):
         keys = dir(self.object)
         sublist = []
@@ -420,7 +417,7 @@ class ObjectTreeItem(TreeItem,Delegate):
             except AttributeError:
                 continue
             item = makeObjecttreeitem(
-                self.appli,
+                self.appliEficas,
                 str(key) + " =",
                 value,
                 lambda value, key=key, object=self.object:
@@ -434,12 +431,12 @@ class ObjectTreeItem(TreeItem,Delegate):
         (ex: macros POURSUITE et INCLUDE de Code_Aster), 0 SINON """
     #    return self.object.definition.fichier_ini
 
-    def makeObjecttreeitem(self,appli,labeltext, object, setFunction=None):
+    def makeObjecttreeitem(self,appliEficas,labeltext, object, setFunction=None):
         """
            Cette methode, globale pour les objets de type item, permet de construire et de retourner un objet
            de type item associe a l'object passe en argument.
         """
-        return makeObjecttreeitem(appli,labeltext,object,setFunction)
+        return makeObjecttreeitem(appliEficas,labeltext,object,setFunction)
 
     #def __del__(self):
     #    print "__del__",self
@@ -454,17 +451,17 @@ class SequenceTreeItem(ObjectTreeItem):
 
     def __len__(self) :
         return len(self._object)
-   
+
     def keys(self):
         return list(range(len(self._object)))
 
     def getIconName(self):
         if self._object.isValid():
-          return "ast-green-los"
+            return "ast-green-los"
         elif self._object.isOblig():
-          return "ast-red-los"
+            return "ast-red-los"
         else:
-          return "ast-yel-los"
+            return "ast-yel-los"
 
     def ajoutPossible(self):
         return self._object.ajoutPossible()
@@ -474,11 +471,11 @@ class SequenceTreeItem(ObjectTreeItem):
         return self._object.getIndex(child.getObject())
 
     def getText(self):
-      return  "    "
+        return  "    "
 
     def addItem(self,obj,pos):
         self._object.insert(pos,obj)
-        item = self.makeObjecttreeitem(self.appli, obj.nom + ":", obj)
+        item = self.makeObjecttreeitem(self.appliEficas, obj.nom + ":", obj)
         return item
 
     def suppItem(self,item):
@@ -486,7 +483,7 @@ class SequenceTreeItem(ObjectTreeItem):
             self._object.remove(item.getObject())
             # la liste peut etre retournee vide !
             message = "Mot-clef " + item.getObject().nom + " supprime"
-            self.appli.afficheInfos(message)
+            self.appliEficas.afficheInfos(message)
             return 1
         except:
             return 0
@@ -498,18 +495,18 @@ class SequenceTreeItem(ObjectTreeItem):
         self.sublist=[]
 
         while(1):
-           old_obj=obj=None
-           for item in isublist:
-              old_obj=item.getObject()
-              if old_obj in liste:break
-
-           for obj in iliste:
-              if obj is old_obj:break
-              # nouvel objet : on cree un nouvel item
-              def setFunction(value, object=obj):
-                  object=value
-              it = self.makeObjecttreeitem(self.appli, obj.nom + " : ", obj, setFunction)
-              self.sublist.append(it)
-           if old_obj is None and obj is None:break
-           if old_obj is obj: self.sublist.append(item)
+            old_obj=obj=None
+            for item in isublist:
+                old_obj=item.getObject()
+                if old_obj in liste:break
+
+            for obj in iliste:
+                if obj is old_obj:break
+                # nouvel objet : on cree un nouvel item
+                def setFunction(value, object=obj):
+                    object=value
+                it = self.makeObjecttreeitem(self.appliEficas, obj.nom + " : ", obj, setFunction)
+                self.sublist.append(it)
+            if old_obj is None and obj is None:break
+            if old_obj is obj: self.sublist.append(item)
         return self.sublist