File: plugins.rst

package info (click to toggle)
ginga 6.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 41,380 kB
  • sloc: python: 97,109; javascript: 409; makefile: 146
file content (103 lines) | stat: -rw-r--r-- 3,161 bytes parent folder | download
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