bonjour,
je fais une liste observable et pour cela j'ai besoin de surcharger l'opérateur del, afin que la liste fasse une notification quand un élément est retiré de la sorte. comment puis-je faire cela ?
merci
edit : trouvé la solution
d'après mes recheches, il faut surcharger __delitem__(self, key). ce qui donne le code suivant :
Code :
- from common.Observable import Observable
- class ObservableList(list, Observable):
- def __init__(self):
- list.__init__(self)
- Observable.__init__(self)
-
- def append(self, o):
- list.append(self, o)
- self.notify()
-
- def remove(self, o):
- list.remove(self, o)
- self.notify()
-
- def __delitem__(self, key):
- list.__delitem__(self, key)
- self.notify()
|
tout simplement !
note : pour ceux qui trouvent qu'il manque des choses c'est normal, j'ai pas fini de l'implémenter. il manque pop notamment, extend, insert... bref tout ce qui est là : http://www.python.org/doc/current/ [...] table.html
note bis : pour ceux que le sujet intéresse, la doc est là : http://www.python.org/doc/current/ [...] names.html
note bis bis : tous les commentaires sont les bienvenus.
Message édité par psychotek le 06-01-2006 à 16:53:44