Lines Matching refs:self

74     def __init__(self, type, widget, widgetinst):
75 self.type = type
76 self.sequence = '<'+_types[type][0]+'>'
77 self.widget = widget
78 self.widgetinst = widgetinst
79 self.bindedfuncs = []
80 self.handlerid = None
82 def bind(self, triplet, func):
83 if not self.handlerid:
84 def handler(event, l = self.bindedfuncs, mc_type = self.type):
94 self.handlerid = self.widget.bind(self.widgetinst,
95 self.sequence, handler)
96 self.bindedfuncs.append(func)
98 def unbind(self, triplet, func):
99 self.bindedfuncs.remove(func)
100 if not self.bindedfuncs:
101 self.widget.unbind(self.widgetinst, self.sequence, self.handlerid)
102 self.handlerid = None
104 def __del__(self):
105 if self.handlerid:
107 self.widget.unbind(self.widgetinst, self.sequence,
108 self.handlerid)
155 # self.handlerids is the list of seqs and ids of binded handler functions.
161 def __create_handler(self, lists, mc_type, mc_state):
164 ishandlerrunning = self.ishandlerrunning,
165 doafterhandler = self.doafterhandler):
190 def __init__(self, type, widget, widgetinst):
191 self.type = type
192 self.typename = _types[type][0]
193 self.widget = widget
194 self.widgetinst = widgetinst
195 self.bindedfuncs = {None: [[] for s in _states]}
196 self.handlerids = []
204 self.ishandlerrunning = []
205 self.doafterhandler = []
207 lists = [self.bindedfuncs[None][i] for i in _state_subsets[s]]
208 handler = self.__create_handler(lists, type, _state_codes[s])
209 seq = '<'+_state_names[s]+self.typename+'>'
210 self.handlerids.append((seq, self.widget.bind(self.widgetinst,
213 def bind(self, triplet, func):
214 if triplet[2] not in self.bindedfuncs:
215 self.bindedfuncs[triplet[2]] = [[] for s in _states]
217 lists = [ self.bindedfuncs[detail][i]
220 handler = self.__create_handler(lists, self.type,
222 seq = "<%s%s-%s>"% (_state_names[s], self.typename, triplet[2])
223 self.handlerids.append((seq, self.widget.bind(self.widgetinst,
225 doit = lambda: self.bindedfuncs[triplet[2]][triplet[0]].append(func)
226 if not self.ishandlerrunning:
229 self.doafterhandler.append(doit)
231 def unbind(self, triplet, func):
232 doit = lambda: self.bindedfuncs[triplet[2]][triplet[0]].remove(func)
233 if not self.ishandlerrunning:
236 self.doafterhandler.append(doit)
238 def __del__(self):
239 for seq, id in self.handlerids:
241 self.widget.unbind(self.widgetinst, seq, id)
325 def __init__(self, *args, **kwargs):
326 widget.__init__(self, *args, **kwargs)
330 self.__eventinfo = {}
331 self.__binders = [_binder_classes[i](i, widget, self)
334 def bind(self, sequence=None, func=None, add=None):
339 if sequence in self.__eventinfo:
340 ei = self.__eventinfo[sequence]
343 self.__binders[triplet[1]].unbind(triplet, ei[0])
347 self.__binders[triplet[1]].bind(triplet, func)
349 self.__eventinfo[sequence] = [func, []]
350 return widget.bind(self, sequence, func, add)
352 def unbind(self, sequence, funcid=None):
355 sequence in self.__eventinfo:
356 func, triplets = self.__eventinfo[sequence]
359 self.__binders[triplet[1]].unbind(triplet, func)
360 self.__eventinfo[sequence][0] = None
361 return widget.unbind(self, sequence, funcid)
363 def event_add(self, virtual, *sequences):
366 if virtual not in self.__eventinfo:
367 self.__eventinfo[virtual] = [None, []]
369 func, triplets = self.__eventinfo[virtual]
374 widget.event_add(self, virtual, seq)
377 self.__binders[triplet[1]].bind(triplet, func)
380 def event_delete(self, virtual, *sequences):
381 if virtual not in self.__eventinfo:
383 func, triplets = self.__eventinfo[virtual]
388 widget.event_delete(self, virtual, seq)
391 self.__binders[triplet[1]].unbind(triplet, func)
394 def event_info(self, virtual=None):
395 if virtual is None or virtual not in self.__eventinfo:
396 return widget.event_info(self, virtual)
399 self.__eventinfo[virtual][1])) + \
400 widget.event_info(self, virtual)
402 def __del__(self):
403 for virtual in self.__eventinfo:
404 func, triplets = self.__eventinfo[virtual]
408 self.__binders[triplet[1]].unbind(triplet, func)