# -*- coding: utf-8 -*-
-# CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
-# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
-# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
-# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
-# (AT YOUR OPTION) ANY LATER VERSION.
+# Copyright (C) 2007-2013 EDF R&D
#
-# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
-# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
-# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
-# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
#
-# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
-# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
-# 1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
#
-# ======================================================================
"""
"""
# import généraux
from copy import copy,deepcopy
# import du chargeur de composants
-from comploader import gettreeitem,make_objecttreeitem
-import treewidget
+from comploader import make_objecttreeitem
+from Ihm import CONNECTOR
+from Extensions.i18n import tr
+from Extensions.eficas_exception import EficasException
myrepr = Repr()
myrepr.maxstring = 100
# ou treeOrNode est le noeud parent, item est l'item associé
# command est une fonction python appelée sur sélection graphique
# du noeud et rmenu est une fonction python appelée sur click droit sur le noeud
- itemNode=treewidget.Node
+ itemNode=None
def __init__(self):
"""Constructor. Do whatever you need to do."""
def cachereport(self):
keys = self.__cache.keys()
keys.sort()
- print keys
+ #print keys
class ObjectTreeItem(TreeItem,Delegate):
# Dans le cas d'une MCListe de longueur 1, l'objet associé est la MCListe
# et l'objet délégué est le MCFACT (object = _object.data[0])
Delegate.__init__(self,object)
- # On cache l'objet initial (pour destruction eventuelle
- # ultérieure)
+ # On cache l'objet initial (pour destruction eventuelle
+ # ultérieure)
self._object = object
self.setfunction = setfunction
self.expandable = 1
def getObject(self):
return self._object
+ def connect(self,channel,callable,args):
+ """ Connecte la fonction callable (avec arguments args) à l'item self sur le
+ canal channel
+ """
+ CONNECTOR.Connect(self._object,channel,callable,args)
+ CONNECTOR.Connect(self.object, channel,callable,args)
+
def copy(self):
"""
Crée un item copie de self
return self.object.get_genealogie()
def get_index_child(self,nom_fils):
+ """
+ Retourne l'index dans la liste des fils de self du nouveau fils de nom nom_fils
+ Nécessaire pour savoir à quelle position dans la liste des fils il faut ajouter
+ le nouveau mot-clé
+ """
+ return self.object.get_index_child(nom_fils)
+
+ def get_index_child_old(self,nom_fils):
"""
Retourne l'index dans la liste des fils de self du nouveau fils de nom nom_fils
Nécessaire pour savoir à quelle position dans la liste des fils il faut ajouter
elif pos == 'after':
index = index +1
else:
- print str(pos)," n'est pas un index valide pour append_brother"
+ print tr("%d n'est pas un index valide pour append_brother", pos)
return
return self.parent.addobject(name,index)
représentatif de self.object
--> à surcharger par les différents items
"""
- raise Exception("MESSAGE AU DEVELOPPEUR : il faut surcharger la methode get_objet_commentarise() pour la classe "+self.__class__.__name__)
- pass
+ raise EficasException("MESSAGE AU DEVELOPPEUR : il faut \
+ surcharger la methode get_objet_commentarise() \
+ pour la classe %s", self.__class__.__name__)
def isvalid(self):
""" Retourne 1 si l'objet pointé par self est valide, 0 sinon"""
def get_fr(self):
""" Retourne le fr de l'objet pointé par self """
- return self.object.get_fr()
+ try:
+ return self.object.get_fr()
+ except:
+ return ""
def get_docu(self):
""" Retourne la clé de doc de l'objet pointé par self """
Cette methode, globale pour les objets de type item, permet de construire et de retourner un objet
de type item associé à l'object passé en argument.
"""
- c = gettreeitem(object)
- return c(appli,labeltext, object, setfunction)
+ return make_objecttreeitem(appli,labeltext,object,setfunction)
+
+ #def __del__(self):
+ # print "__del__",self
class AtomicObjectTreeItem(ObjectTreeItem):
def IsExpandable(self):
try :
self._object.remove(item.getObject())
# la liste peut être retournée vide !
- message = "Mot-clé " + item.getObject().nom + " supprimé"
+ message = "Mot-clef " + item.getObject().nom + " supprime"
self.appli.affiche_infos(message)
return 1
except:
if old_obj is None and obj is None:break
if old_obj is obj: self.sublist.append(item)
return self.sublist
-
- def GetSubList_BAK(self):
- sublist = []
- for obj in self._object.data:
- def setfunction(value, object=obj):
- object = value
- item = make_objecttreeitem(self.appli, obj.nom + ":", obj, setfunction)
- sublist.append(item)
- return sublist