Ejemplo n.º 1
0
 def __del__(self):
     """
     
         Actions necessary on scan event deletion.
     
     """
     pub.unsubscribe(self.stop, "scan.stop")
Ejemplo n.º 2
0
 def __del__(self):
     """
     
         Actions necessary on filter bank deletion.
     
     """
     pub.unsubscribe(self.ComputeReference, "history.change_reference")
     pub.unsubscribe(self.RemoveReference, "history.clear_reference")
Ejemplo n.º 3
0
    def OnDestroy(self, evt):
        """Unbind to all events before the plugin is destroyed."""

        pub.unsubscribe(self.OnUpdatePatient)
        pub.unsubscribe(self.OnStructureCheck)
        pub.unsubscribe(self.OnIsodoseCheck)
        pub.unsubscribe(self.OnDrawingPrefsChange)
        pub.unsubscribe(self.OnPluginLoaded)
        self.OnUnfocus()
Ejemplo n.º 4
0
    def OnDestroy(self, evt):
        """Unbind to all events before the plugin is destroyed."""

        pub.unsubscribe(self.OnUpdatePatient)
        pub.unsubscribe(self.OnStructureCheck)
        pub.unsubscribe(self.OnIsodoseCheck)
        pub.unsubscribe(self.OnDrawingPrefsChange)
        pub.unsubscribe(self.OnPluginLoaded)
        self.OnUnfocus()
Ejemplo n.º 5
0
 def OnDelete(self, event=None):
     """
     
         Clean up before destroying object.
         
         Parameters:
             event    -    wx.Event
     
     """
     pub.unsubscribe(self.ChangeDefaultUnits, "default_units.changed")
     event.Skip()
Ejemplo n.º 6
0
 def OnDelete(self, event=None):
     """
     
         Actions triggered when canvas is deleted.
         
         Parameters:
             event    -    wx.Event
     
     """
     PlotCanvas1D.OnDelete(self,event)
     pub.unsubscribe(self.PostProcess, "filter.change")
     event.Skip()
Ejemplo n.º 7
0
    def OnUnfocus(self):
        """Unbind to certain events when the plugin is unfocused."""

        # Unbind keyboard and mouse events
        self.Unbind(wx.EVT_KEY_DOWN)
        self.Unbind(wx.EVT_MOUSEWHEEL)
        self.Unbind(wx.EVT_LEFT_DOWN)
        self.Unbind(wx.EVT_LEFT_UP)
        self.Unbind(wx.EVT_RIGHT_DOWN)
        self.Unbind(wx.EVT_RIGHT_UP)
        self.Unbind(wx.EVT_MOTION)
        pub.unsubscribe(self.OnKeyDown)
        pub.unsubscribe(self.OnMouseWheel)
        pub.unsubscribe(self.OnRefresh)
Ejemplo n.º 8
0
    def OnUnfocus(self):
        """Unbind to certain events when the plugin is unfocused."""

        # Unbind keyboard and mouse events
        self.Unbind(wx.EVT_KEY_DOWN)
        self.Unbind(wx.EVT_MOUSEWHEEL)
        self.Unbind(wx.EVT_LEFT_DOWN)
        self.Unbind(wx.EVT_LEFT_UP)
        self.Unbind(wx.EVT_RIGHT_DOWN)
        self.Unbind(wx.EVT_RIGHT_UP)
        self.Unbind(wx.EVT_MOTION)
        pub.unsubscribe(self.OnKeyDown)
        pub.unsubscribe(self.OnMouseWheel)
        pub.unsubscribe(self.OnRefresh)
Ejemplo n.º 9
0
def unsubscribe(listener):
    Publisher.unsubscribe(listener)
Ejemplo n.º 10
0
class fcEventManager(object):
    ''' Simple wrapper around pubsub to allow for easy exchange against other
        event libraries. Could probably need a rewrite. I am not sure the
        EventTypeTemplate and **keys methods are the best way to do this.
        Maybe just wrap send, subscribe, ... directly.
    '''
    class EventTypeTemplate(type):
        ''' Meta-class to create a specific event-type'''
        def __init__(cls, name, bases, dikt):
            type.__init__(cls, name, bases, dikt)

            def __init__(self, **keys):
                self.__dict__.update(**keys)
                self.vars = keys

            cls.__init__ = __init__

    def __init__(self):
        self.publisher = Publisher()
        self.event_types = {}
        self._wrapper_funcs = {}

    def send(self, event_name, **keys):
        try:
            evt_type = self.event_types[event_name]
        except KeyError:
            evt_type = self.event_types[event_name] = self.EventTypeTemplate(
                event_name, (), {})

        event_instance = evt_type(**keys)
        return self.publisher.sendMessage(event_name, event_instance)

    def sendEvent(self, event_name, event):
        return self.publisher.sendMessage(event_name, event)

    def subscribe(self, subscriber, event_name):
        def wrap(msg):
            return subscriber(msg.data)

        # we need to add this into a dictionary, because we have to keep a
        # reference to the wrap function. publisher uses weakrefs.
        self._wrapper_funcs.setdefault(_getId(subscriber),
                                       {})[event_name] = wrap
        return self.publisher.subscribe(wrap, event_name)

    def unsubscribe(self, subscriber, event_name=None):
        try:
            self._wrapper_funcs[_getId(subscriber)]
        except KeyError:  # isn't subscribed here, ignore it
            return

        if event_name is None:
            func = self._wrapper_funcs[_getId(subscriber)].values()[0]
        else:
            func = self._wrapper_funcs[_getId(subscriber)][event_name]

        result = self.publisher.unsubscribe(func, event_name)

        if event_name is None:
            del self._wrapper_funcs[_getId(subscriber)]
        else:
            del self._wrapper_funcs[_getId(subscriber)][event_name]

        return result
Ejemplo n.º 11
0
    def OnDestroy(self, evt):
        """Unbind to all events before the plugin is destroyed."""

        pub.unsubscribe(self.OnUpdatePatient)
Ejemplo n.º 12
0
    def OnDestroy(self, evt):
        """Unbind to all events before the plugin is destroyed."""

        pub.unsubscribe(self.OnUpdatePatient)
        pub.unsubscribe(self.OnStructureCheck)
        pub.unsubscribe(self.OnStructureSelect)
Ejemplo n.º 13
0
 def Close(self):
     self.dbconn.close()
     for callback, topic in self.Subscriptions:  # @UnusedVariable
         Publisher.unsubscribe(callback)
Ejemplo n.º 14
0
    def OnDestroy(self, evt):
        """Unbind to all events before the plugin is destroyed."""

        pub.unsubscribe(self.OnUpdatePatient)
        pub.unsubscribe(self.OnStructureCheck)
        pub.unsubscribe(self.OnStructureSelect)
Ejemplo n.º 15
0
def unsubscribe(function, *args, **kwargs):
    """Alias for wx.lib.pubsub.Publisher.unsubscribe()"""
    pub.unsubscribe(function, *args, **kwargs)
Ejemplo n.º 16
0
 def __del__(self):
     # Unsubscribe when deleted
     Publisher.unsubscribe(self.OnConfigMsg)
Ejemplo n.º 17
0
 def __del__(self):
     for callback, topic in self.Subscriptions:
         Publisher.unsubscribe(callback)
Ejemplo n.º 18
0
 def __del__(self):
     for callback, topic in self.Subscriptions:  # @UnusedVariable
         Publisher.unsubscribe(callback)
Ejemplo n.º 19
0
 def OnDestroy(self, evt):
     """Unbind to all events before the plugin is destroyed."""
     
     pub.unsubscribe(self.OnUpdatePatient)
Ejemplo n.º 20
0
 def __del__(self):
     # Unsubscribe when deleted
     Publisher.unsubscribe(self.OnConfigMsg)
def unsubscribe(listener):

    Publisher.unsubscribe(listener)
Ejemplo n.º 22
0
 def unsubscribe_all(self):
     pub.unsubscribe(self.update_channels)
     pub.unsubscribe(self.process_data)
Ejemplo n.º 23
0
 def stop_debug_subscriptions(self):
     pub.unsubscribe(self._print_messages) # unsubscribes from all
Ejemplo n.º 24
0
class fcEventManager(object):
    ''' Simple wrapper around pubsub to allow for easy exchange against other
        event libraries. Could probably need a rewrite. I am not sure the
        EventTypeTemplate and **keys methods are the best way to do this.
        Maybe just wrap send, subscribe, ... directly.
    '''

    class EventTypeTemplate(type):
        ''' Meta-class to create a specific event-type'''
        def __init__(cls, name, bases, dikt):
            type.__init__(cls, name, bases, dikt)

            def __init__(self, **keys):
                self.__dict__.update(**keys)
                self.vars = keys
            
            cls.__init__ = __init__
        
    def __init__(self):
        self.publisher = Publisher()
        self.event_types = {}
        self._wrapper_funcs = {}
        
    def send(self, event_name, **keys):
        try:
            evt_type = self.event_types[ event_name ]
        except KeyError:
            evt_type = self.event_types[ event_name ] = self.EventTypeTemplate( event_name, (), {} )
                
        event_instance = evt_type( **keys )
        return self.publisher.sendMessage( event_name, event_instance )
        
    def sendEvent(self, event_name, event):
        return self.publisher.sendMessage( event_name, event )

    def subscribe(self, subscriber, event_name ):
        def wrap( msg ):
            return subscriber( msg.data )
        
        # we need to add this into a dictionary, because we have to keep a
        # reference to the wrap function. publisher uses weakrefs.
        self._wrapper_funcs.setdefault( _getId(subscriber), {} )[event_name] = wrap
        return self.publisher.subscribe( wrap, event_name )

    def unsubscribe(self, subscriber, event_name = None):
        try:
            self._wrapper_funcs[_getId(subscriber)]
        except KeyError:        # isn't subscribed here, ignore it
            return
        
        if event_name is None:
            func = self._wrapper_funcs[_getId(subscriber)].values()[0]
        else:
            func = self._wrapper_funcs[_getId(subscriber)][event_name]

        result = self.publisher.unsubscribe( func, event_name )
        
        if event_name is None:
            del self._wrapper_funcs[ _getId(subscriber) ]
        else:
            del self._wrapper_funcs[ _getId(subscriber) ][event_name]            
            
        return result