/usr/lib/python3/dist-packages/ginga/GingaPlugin.py is in python3-ginga 2.6.1-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | #
# GingaPlugin.py -- Base classes for plugins in Ginga reference viewer
#
# This is open-source software licensed under a BSD license.
# Please see the file LICENSE.txt for details.
#
from ginga.misc import Bunch
class PluginError(Exception):
    pass
class GlobalPlugin(object):
    def __init__(self, fv):
        super(GlobalPlugin, self).__init__()
        self.fv = fv
        self.logger = fv.logger
        # Holds GUI widgets
        self.w = Bunch.Bunch()
    def initialize(self, container):
        """This method will be called with a container widget if the global
        plugin was requested to be loaded into a workspace.  The plugin should
        construct its GUI and pack it into the container.
        """
        pass
    def start(self):
        """This method is called to start the plugin.  It is called after
        build_gui().
        """
        pass
    def stop(self):
        """This method is called to stop the plugin.
        """
        pass
    def redo(self, channel, image):
        """This method is called when an image is set in a channel.
        """
        pass
class LocalPlugin(object):
    def __init__(self, fv, fitsimage):
        super(LocalPlugin, self).__init__()
        self.fv = fv
        self.logger = fv.logger
        self.fitsimage = fitsimage
        # find our channel info
        if self.fitsimage is not None:
            self.chname = self.fv.get_channel_name(self.fitsimage)
            self.channel = self.fv.get_channel(self.chname)
            # TO BE DEPRECATED
            self.chinfo = self.channel
        # Holds GUI widgets
        self.w = Bunch.Bunch()
    def modes_off(self):
        # turn off any mode user may be in
        bm = self.fitsimage.get_bindmap()
        bm.reset_mode(self.fitsimage)
    # def build_gui(self, container):
    #     """If a plugin defines this method, it will be called with a
    #     container object in which to build its GUI. It should finish
    #     by packing into this container.  This will be called every
    #     time the local plugin is activated.
    #     """
    #     pass
    def start(self):
        """This method is called just after build_gui() when the plugin is
        activated.
        """
        pass
    def stop(self):
        """This method is called when the plugin is deactivated.
        """
        pass
    def pause(self):
        """This method is called when the plugin is defocused.  The plugin
        should disable any user input that it responds to.
        """
        pass
    def resume(self):
        """This method is called when the plugin is focused.  The plugin
        should enable any user input that it responds to.
        """
        pass
    def redo(self):
        """This method is called when a new image arrives in the channel
        associated with the plugin.  It can optionally redo whatever operation
        it is doing.
        """
        pass
#END
 |