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
|
.. _ch-plugins:
+++++++
Plugins
+++++++
Ginga is written so that most of the functionality of the program is
achieved through the use of plugins. This modular approach allows a
large degree of flexibility and customization, as well as making overall
design and maintenance of the program simpler.
Plugins are divided into two types: *global* and *local*.
A global plugin is not tied to any particular channel, while a local plugin
is associated with a channel.
Global and local plugins are further distinguished by whether they are a
*singleton* (the default case) or not. If a global plugin is a singleton, then
only one instance of it can be opened; if not, then multiple instances of it
can be opened. If a local plugin is a singleton, then only one instance of it
can be opened *per channel*; if not, then multiple instances can be opened per
channel.
Many global plugins are written to respond to a switch of the focus between
channels. If you focus a channel viewer (e.g. by clicking on it, or selecting
the channel in the Operations plugin), a global plugin will respond to the change
by updating itself, while a local plugin will normally remain unchanged if the
channel is switched, because its operation is specific to a given channel.
(Ginga's concept of channels is discussed in :ref:`concepts-channels`.)
This chapter describes the set of plugins that come with Ginga. Those
interested in writing their own custom plugins should refer to
:ref:`sec-writing-global-plugins` or :ref:`sec-writing-local-plugins`.
.. _sec-globalplugins:
==============
Global plugins
==============
.. toctree::
:maxdepth: 1
plugins_global/toolbar
plugins_global/pan
plugins_global/info
plugins_global/header
plugins_global/zoom
plugins_global/thumbs
plugins_global/contents
plugins_global/colorbar
plugins_global/cursor
plugins_global/operations
plugins_global/fbrowser
plugins_global/colormappicker
plugins_global/errors
plugins_global/rc
plugins_global/wcsmatch
plugins_global/changehistory
plugins_global/samp
plugins_global/log
plugins_global/command
plugins_global/saveimage
plugins_global/downloads
plugins_global/loaderconfig
plugins_global/pluginconfig
.. _sec-localplugins:
=============
Local plugins
=============
An *operation* is the activation of a local plugin to perform some
function. The plugin manager toolbar at the bottom of the center pane
is the graphical way to start an operation.
.. toctree::
:maxdepth: 1
plugins_local/pick
plugins_local/ruler
plugins_local/multidim
plugins_local/cuts
plugins_local/histogram
plugins_local/crosshair
plugins_local/overlays
plugins_local/wcsaxes
plugins_local/tvmark
plugins_local/tvmask
plugins_local/blink
plugins_local/lineprofile
plugins_local/pixtable
plugins_local/preferences
plugins_local/catalogs
plugins_local/mosaic
plugins_local/collage
plugins_local/drawing
plugins_local/fbrowser
plugins_local/colormappicker
plugins_local/compose
plugins_local/plottable
plugins_local/pipeline
plugins_local/screenshot
plugins_local/autoload
|