Commit MetaInfo

Revisãoce61301af1e4aa4e14befa8e3ea3af339db71533 (tree)
Hora2013-02-28 18:11:04
Autorpylaf
Commiterpylaf

Mensagem de Log

Fix notify event

Mudança Sumário

Diff

diff -r b0fe3dd353c9 -r ce61301af1e4 src/pylafiii/ingredient.py
--- a/src/pylafiii/ingredient.py Thu Feb 28 13:45:20 2013 +0900
+++ b/src/pylafiii/ingredient.py Thu Feb 28 18:11:04 2013 +0900
@@ -137,8 +137,8 @@
137137 self._owner = weakref.ref(owner)
138138 self._proxy = weakref.ref(proxy)
139139 self.register(Container(value))
140- self.bind('<Register>','register_hook')
141- self.bind('<Unregister>','unregister_hook')
140+ self.bind('<Link>','link_hook')
141+ self.bind('<Unlink>','unlink_hook')
142142 self.bind('<Set>','set_hook')
143143 self.bind('<Get>','get_hook')
144144 def set(self,value):
@@ -146,11 +146,11 @@
146146 Observer.set(self,value)
147147 def link(self,slave):
148148 slave.register(self.container)
149+ self.container.notify('<Link>')
149150 def unlink(self):
150- #TODO: 現状の値を保持するべきか、初期値に戻すべきか?
151- value = self.container.value
152- self.unregister()
151+ value = self.container.value # 現状の値を保持する
153152 self.register(Container(value))
153+ self.container.notify('<Unlink>')
154154 def _hook(self,prefix):
155155 # getmembers を使うとメンバが評価されてしまい不要なフックが実行されてしまうので工夫した
156156 #for k,v in inspect.getmembers(self.owner,inspect.ismethod):
@@ -158,9 +158,9 @@
158158 if k.startswith(prefix):
159159 if self.name == k.split(prefix)[-1]:
160160 getattr(self.owner,k).__call__()
161- def register_hook(self):
161+ def link_hook(self):
162162 self._hook('_link_')
163- def unregister_hook(self):
163+ def unlink_hook(self):
164164 self._hook('_unlink_')
165165 def set_hook(self): pass
166166 def get_hook(self): pass
Show on old repository browser