Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/tutorius/filters.py
diff options
context:
space:
mode:
Diffstat (limited to 'tutorius/filters.py')
-rw-r--r--tutorius/filters.py214
1 files changed, 107 insertions, 107 deletions
diff --git a/tutorius/filters.py b/tutorius/filters.py
index aa8c997..fc58562 100644
--- a/tutorius/filters.py
+++ b/tutorius/filters.py
@@ -94,111 +94,111 @@ class EventFilter(properties.TPropContainer):
if self._callback:
self._callback(self)
-class TimerEvent(EventFilter):
- """
- TimerEvent is a special EventFilter that uses gobject
- timeouts to trigger a state change after a specified amount
- of time. It must be used inside a gobject main loop to work.
- """
- def __init__(self,next_state,timeout_s):
- """Constructor.
-
- @param next_state default EventFilter param, passed on to EventFilter
- @param timeout_s timeout in seconds
- """
- super(TimerEvent,self).__init__(next_state)
- self._timeout = timeout_s
- self._handler_id = None
-
- def install_handlers(self, callback, **kwargs):
- """install_handlers creates the timer and starts it"""
- super(TimerEvent,self).install_handlers(callback, **kwargs)
- #Create the timer
- self._handler_id = gobject.timeout_add_seconds(self._timeout, self._timeout_cb)
-
- def remove_handlers(self):
- """remove handler removes the timer"""
- super(TimerEvent,self).remove_handlers()
- if self._handler_id:
- try:
- #XXX What happens if this was already triggered?
- #remove the timer
- gobject.source_remove(self._handler_id)
- except:
- pass
-
- def _timeout_cb(self):
- """
- _timeout_cb triggers the eventfilter callback.
-
- It is necessary because gobject timers only stop if the callback they
- trigger returns False
- """
- self.do_callback()
- return False #Stops timeout
-
-class GtkWidgetTypeFilter(EventFilter):
- """
- Event Filter that listens for keystrokes on a widget
- """
- def __init__(self, next_state, object_id, text=None, strokes=None):
- """Constructor
- @param next_state default EventFilter param, passed on to EventFilter
- @param object_id object tree-ish identifier
- @param text resulting text expected
- @param strokes list of strokes expected
-
- At least one of text or strokes must be supplied
- """
- super(GtkWidgetTypeFilter, self).__init__(next_state)
- self._object_id = object_id
- self._text = text
- self._captext = ""
- self._strokes = strokes
- self._capstrokes = []
- self._widget = None
- self._handler_id = None
-
- def install_handlers(self, callback, **kwargs):
- """install handlers
- @param callback default EventFilter callback arg
- """
- super(GtkWidgetTypeFilter, self).install_handlers(callback, **kwargs)
- logger.debug("~~~GtkWidgetTypeFilter install")
- activity = ObjectStore().activity
- if activity is None:
- logger.error("No activity")
- raise RuntimeWarning("no activity in the objectstore")
-
- self._widget = find_widget(activity, self._object_id)
- if self._widget:
- self._handler_id= self._widget.connect("key-press-event",self.__keypress_cb)
- logger.debug("~~~Connected handler %d on %s" % (self._handler_id,self._object_id) )
-
- def remove_handlers(self):
- """remove handlers"""
- super(GtkWidgetTypeFilter, self).remove_handlers()
- #if an event was connected, disconnect it
- if self._handler_id:
- self._widget.handler_disconnect(self._handler_id)
- self._handler_id=None
-
- def __keypress_cb(self, widget, event, *args):
- """keypress callback"""
- logger.debug("~~~keypressed!")
- key = event.keyval
- keystr = event.string
- logger.debug("~~~Got key: " + str(key) + ":"+ keystr)
- self._capstrokes += [key]
- #TODO Treat other stuff, such as arrows
- if key == gtk.keysyms.BackSpace:
- self._captext = self._captext[:-1]
- else:
- self._captext = self._captext + keystr
-
- logger.debug("~~~Current state: " + str(self._capstrokes) + ":" + str(self._captext))
- if not self._strokes is None and self._strokes in self._capstrokes:
- self.do_callback()
- if not self._text is None and self._text in self._captext:
- self.do_callback()
+##class TimerEvent(EventFilter):
+## """
+## TimerEvent is a special EventFilter that uses gobject
+## timeouts to trigger a state change after a specified amount
+## of time. It must be used inside a gobject main loop to work.
+## """
+## def __init__(self,next_state,timeout_s):
+## """Constructor.
+##
+## @param next_state default EventFilter param, passed on to EventFilter
+## @param timeout_s timeout in seconds
+## """
+## super(TimerEvent,self).__init__(next_state)
+## self._timeout = timeout_s
+## self._handler_id = None
+##
+## def install_handlers(self, callback, **kwargs):
+## """install_handlers creates the timer and starts it"""
+## super(TimerEvent,self).install_handlers(callback, **kwargs)
+## #Create the timer
+## self._handler_id = gobject.timeout_add_seconds(self._timeout, self._timeout_cb)
+##
+## def remove_handlers(self):
+## """remove handler removes the timer"""
+## super(TimerEvent,self).remove_handlers()
+## if self._handler_id:
+## try:
+## #XXX What happens if this was already triggered?
+## #remove the timer
+## gobject.source_remove(self._handler_id)
+## except:
+## pass
+##
+## def _timeout_cb(self):
+## """
+## _timeout_cb triggers the eventfilter callback.
+##
+## It is necessary because gobject timers only stop if the callback they
+## trigger returns False
+## """
+## self.do_callback()
+## return False #Stops timeout
+##
+##class GtkWidgetTypeFilter(EventFilter):
+## """
+## Event Filter that listens for keystrokes on a widget
+## """
+## def __init__(self, next_state, object_id, text=None, strokes=None):
+## """Constructor
+## @param next_state default EventFilter param, passed on to EventFilter
+## @param object_id object tree-ish identifier
+## @param text resulting text expected
+## @param strokes list of strokes expected
+##
+## At least one of text or strokes must be supplied
+## """
+## super(GtkWidgetTypeFilter, self).__init__(next_state)
+## self._object_id = object_id
+## self._text = text
+## self._captext = ""
+## self._strokes = strokes
+## self._capstrokes = []
+## self._widget = None
+## self._handler_id = None
+##
+## def install_handlers(self, callback, **kwargs):
+## """install handlers
+## @param callback default EventFilter callback arg
+## """
+## super(GtkWidgetTypeFilter, self).install_handlers(callback, **kwargs)
+## logger.debug("~~~GtkWidgetTypeFilter install")
+## activity = ObjectStore().activity
+## if activity is None:
+## logger.error("No activity")
+## raise RuntimeWarning("no activity in the objectstore")
+##
+## self._widget = find_widget(activity, self._object_id)
+## if self._widget:
+## self._handler_id= self._widget.connect("key-press-event",self.__keypress_cb)
+## logger.debug("~~~Connected handler %d on %s" % (self._handler_id,self._object_id) )
+##
+## def remove_handlers(self):
+## """remove handlers"""
+## super(GtkWidgetTypeFilter, self).remove_handlers()
+## #if an event was connected, disconnect it
+## if self._handler_id:
+## self._widget.handler_disconnect(self._handler_id)
+## self._handler_id=None
+##
+## def __keypress_cb(self, widget, event, *args):
+## """keypress callback"""
+## logger.debug("~~~keypressed!")
+## key = event.keyval
+## keystr = event.string
+## logger.debug("~~~Got key: " + str(key) + ":"+ keystr)
+## self._capstrokes += [key]
+## #TODO Treat other stuff, such as arrows
+## if key == gtk.keysyms.BackSpace:
+## self._captext = self._captext[:-1]
+## else:
+## self._captext = self._captext + keystr
+##
+## logger.debug("~~~Current state: " + str(self._capstrokes) + ":" + str(self._captext))
+## if not self._strokes is None and self._strokes in self._capstrokes:
+## self.do_callback()
+## if not self._text is None and self._text in self._captext:
+## self.do_callback()