From dd47ed0a91a43fecc09d5dc32d3b1a9ec5614d0e Mon Sep 17 00:00:00 2001
From: Paul McCarthy <pauld.mccarthy@gmail.com>
Date: Sun, 20 Sep 2015 07:43:03 +1000
Subject: [PATCH] Documentation for OrthoEditToolBar and OverlayDisplayToolBar.

---
 doc/images/orthoedittoolbar.png               | Bin 0 -> 42664 bytes
 doc/images/overlaydisplaytoolbar.png          | Bin 0 -> 37863 bytes
 fsl/fsleyes/controls/__init__.py              |   1 +
 fsl/fsleyes/controls/orthoedittoolbar.py      | 274 +++++----
 fsl/fsleyes/controls/overlaydisplaytoolbar.py | 524 ++++++++++--------
 5 files changed, 486 insertions(+), 313 deletions(-)
 create mode 100644 doc/images/orthoedittoolbar.png
 create mode 100644 doc/images/overlaydisplaytoolbar.png

diff --git a/doc/images/orthoedittoolbar.png b/doc/images/orthoedittoolbar.png
new file mode 100644
index 0000000000000000000000000000000000000000..86d54ece8fa45fcb5ed4274de2460966fa4b78b8
GIT binary patch
literal 42664
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
F?qB*_bUOe5

literal 0
HcmV?d00001

diff --git a/doc/images/overlaydisplaytoolbar.png b/doc/images/overlaydisplaytoolbar.png
new file mode 100644
index 0000000000000000000000000000000000000000..5c40d9003b76537eb1a009e5e9c24c9a0623ce79
GIT binary patch
literal 37863
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
P5D?$f)z4*}Q$iB}XBsS^

literal 0
HcmV?d00001

diff --git a/fsl/fsleyes/controls/__init__.py b/fsl/fsleyes/controls/__init__.py
index dda85bec4..0251c3acc 100644
--- a/fsl/fsleyes/controls/__init__.py
+++ b/fsl/fsleyes/controls/__init__.py
@@ -30,6 +30,7 @@ The following control panels currently exist:
    ~fsl.fsleyes.controls.orthoedittoolbar.OrthoEditToolBar
    ~fsl.fsleyes.controls.orthotoolbar.OrthoToolBar
    ~fsl.fsleyes.controls.overlaydisplaypanel.OverlayDisplayPanel
+   ~fsl.fsleyes.controls.overlaydisplaytoolbar.OverlayDisplayToolBar
    ~fsl.fsleyes.controls.overlayinfopanel.OverlayInfoPanel
    ~fsl.fsleyes.controls.overlaylistpanel.OverlayListPanel
    ~fsl.fsleyes.controls.shellpanel.ShellPanel
diff --git a/fsl/fsleyes/controls/orthoedittoolbar.py b/fsl/fsleyes/controls/orthoedittoolbar.py
index 7f9ff6e5a..dfbddb7a3 100644
--- a/fsl/fsleyes/controls/orthoedittoolbar.py
+++ b/fsl/fsleyes/controls/orthoedittoolbar.py
@@ -1,9 +1,14 @@
 #!/usr/bin/env python
 #
-# orthoedittoolbar.py -
+# orthoedittoolbar.py - The OrthoEditToolBar
 #
 # Author: Paul McCarthy <pauldmccarthy@gmail.com>
 #
+"""This module provides the :class:`OrthoEditToolBar`, a
+:class:`.FSLEyesToolBar` which displays controls for editing :class:`.Image`
+instances in an :class:`.OrthoPanel`.
+"""
+
 
 import logging
 
@@ -20,7 +25,144 @@ from fsl.fsleyes.profiles.orthoeditprofile import OrthoEditProfile
 
 log = logging.getLogger(__name__)
 
-# Some of the toolbar widgets are labelled 
+
+class OrthoEditToolBar(fsltoolbar.FSLEyesToolBar):
+    """The ``OrthoEditToolBar`` is a :class:`.FSLEyesToolBar` which displays
+    controls for editing :class:`.Image` instances in an :class:`.OrthoPanel`.
+
+    An ``OrthoEditToolBar`` looks something like this:
+
+    
+    .. image:: images/orthoedittoolbar.png
+       :scale: 50%
+       :align: center
+
+    
+    The ``OrthoEditToolBar`` exposes properties and actions which are defined
+    on the :class:`.OrthoEditProfile` class, and allows the user to:
+
+     - Change the :class:`.OrthoPanel` profile  between ``view`` and ``edit``
+       mode (see the :attr:`.ViewPanel.profile` property). When in ``view``
+       mode, all of the other controls are hidden.
+
+     - Undo/redo changes to the selection and to :class:`.Image` instances.
+
+     - Clear and fill the current selection.
+
+     - Switch between a 2D and 3D selection cursor.
+
+     - Change the selection cursor size.
+
+     - Create a new mask/ROI :class:`.Image` from the current selection.
+
+     - Switch between regular *select* mode, and *select by intensity* mode,
+       and adjust the select by intensity mode settings.
+
+    
+    All of the controls shown on an ``OrthoEditToolBar`` instance are defined
+    in the :attr:`_TOOLBAR_SPECS` dictionary.
+    """
+
+    
+    selint = props.Boolean(default=False)
+    """This property allows the user to change the :class:`.OrthoEditProfile`
+    between ``sel`` mode, and ``selint`` mode.
+    """
+
+
+    def __init__(self, parent, overlayList, displayCtx, ortho):
+        """Create an ``OrthoEditToolBar``.
+
+        :arg parent:      The :mod:`wx` parent object.
+        :arg overlayList: The :class:`.OverlayList` instance.
+        :arg displayCtx:  The :class:`.DisplayContext` instance.
+        :arg ortho:       The :class:`.OrthoPanel` instance.
+        """
+        fsltoolbar.FSLEyesToolBar.__init__(self,
+                                           parent,
+                                           overlayList,
+                                           displayCtx,
+                                           24)
+
+        self.__orthoPanel = ortho
+
+        self .addListener('selint',  self._name, self.__selintChanged)
+        ortho.addListener('profile', self._name, self.__profileChanged)
+
+        self.__profileTool = props.buildGUI(
+            self,
+            ortho,
+            _TOOLBAR_SPECS['profile'])
+
+        self.AddTool(self.__profileTool)
+
+        self.__profileChanged()
+
+
+    def destroy(self):
+        """Must be called when this ``OrthoEditToolBar`` is no longer
+        needed. Removes property listeners, and calls the
+        :meth:`.FSLEyesToolBar.destroy` method.
+        """
+        self.__orthoPanel.removeListener('profile', self._name)
+        fsltoolbar.FSLEyesToolBar.destroy(self)
+
+
+    def __selintChanged(self, *a):
+        """Called when the :attr:`selint` property changes. If the
+        :class:`OrthoPanel` is currently in ``edit`` mode, toggles the
+        associated :class:`.OrthoEditProfile` instance between ``sel``
+        and ``selint`` modes.
+        """
+
+        ortho = self.__orthoPanel
+
+        if ortho.profile != 'edit':
+            return
+        
+        profile = ortho.getCurrentProfile()
+        
+        if self.selint: profile.mode = 'selint'
+        else:           profile.mode = 'sel'
+
+
+    def __profileChanged(self, *a):
+        """Called when the :attr:`.ViewPanel.profile` property of the
+        :class:`.OrthoPanel` changes. Shows/hides edit controls accordingly.
+        """
+
+        # We don't want to remove the profile tool
+        # created in __init__, so we skip the first
+        # tool
+        self.ClearTools(startIdx=1, destroy=True, postevent=False)
+                
+        ortho      = self.__orthoPanel
+        profile    = ortho.profile
+        profileObj = ortho.getCurrentProfile()
+
+        if profile == 'edit':
+            self.disableNotification('selint')
+            self.selint = profileObj.mode == 'selint'
+            self.enableNotification('selint')
+
+        specs = _TOOLBAR_SPECS[profile]
+
+        tools = []
+
+        for spec in specs:
+
+            if spec.key == 'selint': target = self
+            else:                    target = profileObj
+            
+            widget = props.buildGUI(self, target, spec)
+            if spec.label is not None:
+                widget = self.MakeLabelledTool(widget, spec.label)
+                
+            tools.append(widget)
+
+        self.InsertTools(tools, 1)
+
+
 _LABELS = {
 
     'selectionCursorColour'  : strings.properties[OrthoEditProfile,
@@ -36,22 +178,30 @@ _LABELS = {
     'fillValue'              : strings.properties[OrthoEditProfile,
                                                   'fillValue'], 
 }
+"""This dictionary contains labels for some :class:`OrthoEditToolBar`
+controls. It is referenced in the :attr:`_TOOLBAR_SPECS` dictionary.
+"""
+
 
 _ICONS = {
-    'view'                    : fslicons.findImageFile('eye24'),
-    'edit'                    : fslicons.findImageFile('pencil24'),
+    'view'                    :  fslicons.findImageFile('eye24'),
+    'edit'                    :  fslicons.findImageFile('pencil24'),
     'selectionIs3D'           : [fslicons.findImageFile('selection3D24'),
                                  fslicons.findImageFile('selection2D24')],
-    'clearSelection'          : fslicons.findImageFile('clear24'),
-    'undo'                    : fslicons.findImageFile('undo24'),
-    'redo'                    : fslicons.findImageFile('redo24'),
-    'fillSelection'           : fslicons.findImageFile('fill24'),
-    'createMaskFromSelection' : fslicons.findImageFile('createMask24'),
-    'createROIFromSelection'  : fslicons.findImageFile('createROI24'),
-    'limitToRadius'           : fslicons.findImageFile('radius24'),
-    'localFill'               : fslicons.findImageFile('localsearch24'),
-    'selint'                  : fslicons.findImageFile('selectByIntensity24'),
+    'clearSelection'          :  fslicons.findImageFile('clear24'),
+    'undo'                    :  fslicons.findImageFile('undo24'),
+    'redo'                    :  fslicons.findImageFile('redo24'),
+    'fillSelection'           :  fslicons.findImageFile('fill24'),
+    'createMaskFromSelection' :  fslicons.findImageFile('createMask24'),
+    'createROIFromSelection'  :  fslicons.findImageFile('createROI24'),
+    'limitToRadius'           :  fslicons.findImageFile('radius24'),
+    'localFill'               :  fslicons.findImageFile('localsearch24'),
+    'selint'                  :  fslicons.findImageFile('selectByIntensity24'),
 }
+"""This dictionary contains icons for some :class:`OrthoEditToolBar`
+controls. It is referenced in the :attr:`_TOOLBAR_SPECS` dictionary.
+"""
+
 
 _TOOLTIPS = {
     'profile'                 : fsltooltips.properties['OrthoPanel.profile'],
@@ -90,6 +240,10 @@ _TOOLTIPS = {
     'intensityThres'          : fsltooltips.properties['OrthoEditProfile.'
                                                        'intensityThres'],
 }
+"""This dictionary contains tooltips for some :class:`OrthoEditToolBar`
+controls. It is referenced in the :attr:`_TOOLBAR_SPECS` dictionary.
+"""
+
 
 _TOOLBAR_SPECS  = {
 
@@ -177,84 +331,16 @@ _TOOLBAR_SPECS  = {
             enabledWhen=lambda p: p.mode == 'selint' and p.limitToRadius)
     ]
 }
-
-
-
-class OrthoEditToolBar(fsltoolbar.FSLEyesToolBar):
-
-    
-    selint = props.Boolean(default=False)
-
-
-    def __init__(self, parent, overlayList, displayCtx, ortho):
-        fsltoolbar.FSLEyesToolBar.__init__(self,
-                                           parent,
-                                           overlayList,
-                                           displayCtx,
-                                           24)
-
-        self.orthoPanel = ortho
-
-        self .addListener('selint',  self._name, self.__selintChanged)
-        ortho.addListener('profile', self._name, self.__profileChanged)
-
-        self.__profileTool = props.buildGUI(
-            self,
-            ortho,
-            _TOOLBAR_SPECS['profile'])
-
-        self.AddTool(self.__profileTool)
-
-        self.__profileChanged()
-
-
-    def destroy(self):
-        self.orthoPanel.removeListener('profile', self._name)
-        fsltoolbar.FSLEyesToolBar.destroy(self)
-
-
-    def __selintChanged(self, *a):
-
-        ortho = self.orthoPanel
-
-        if ortho.profile != 'edit':
-            return
-        
-        profile = ortho.getCurrentProfile()
-        
-        if self.selint: profile.mode = 'selint'
-        else:           profile.mode = 'sel'
-
-
-    def __profileChanged(self, *a):
-
-        # We don't want to remove the profile tool
-        # created in __init__, so we skip the first
-        # tool
-        self.ClearTools(startIdx=1, destroy=True, postevent=False)
-                
-        ortho      = self.orthoPanel
-        profile    = ortho.profile
-        profileObj = ortho.getCurrentProfile()
-
-        if profile == 'edit':
-            self.disableNotification('selint')
-            self.selint = profileObj.mode == 'selint'
-            self.enableNotification('selint')
-
-        specs = _TOOLBAR_SPECS[profile]
-
-        tools = []
-
-        for spec in specs:
-
-            if spec.key == 'selint': target = self
-            else:                    target = profileObj
-            
-            widget = props.buildGUI(self, target, spec)
-            if spec.label is not None:
-                widget = self.MakeLabelledTool(widget, spec.label)
-                
-            tools.append(widget)
-
-        self.InsertTools(tools, 1)
+"""This dictionary contains specifications for all of the tools shown in an
+:class:`OrthoEditToolBar`. The following keys are defined:
+
+  =========== ===========================================================
+  ``profile`` Contains a single specification defining the control for
+              switching the :class:`.OrthoPanel` between ``view`` and
+              ``edit`` profiles.
+  ``view``    A list of specifications defining controls to be shown when
+              the ``view`` profile is active.
+  ``edit``    A list of specifications defining controls to be shown when
+              the ``view`` profile is active.
+  =========== ===========================================================
+"""
diff --git a/fsl/fsleyes/controls/overlaydisplaytoolbar.py b/fsl/fsleyes/controls/overlaydisplaytoolbar.py
index 3ffbfec17..28e678899 100644
--- a/fsl/fsleyes/controls/overlaydisplaytoolbar.py
+++ b/fsl/fsleyes/controls/overlaydisplaytoolbar.py
@@ -1,14 +1,15 @@
 #!/usr/bin/env python
 #
-# overlaydisplaytoolbar.py - A toolbar which shows display control options for
-#                            the currently selected overlay.
+# overlaydisplaytoolbar.py - The OverlayDisplayToolBar.
 #
 # Author: Paul McCarthy <pauldmccarthy@gmail.com>
 
-"""A :class:`wx.Panel` which shows display control options for the currently
-selected overlay.
+"""This module provides the :class:`OverlyDisplyaToolBar`, a
+:class:`.FSLEyesToolBar` containing controls for changing the display settings
+of the currently selected overlay.
 """
 
+
 import logging
 
 import wx
@@ -27,178 +28,56 @@ import overlaydisplaypanel  as overlaydisplay
 log = logging.getLogger(__name__)
 
 
-def _modImageLabel(img):
-    if img is None: return strings.choices['VectorOpts.modulate.none']
-    else:           return img.name
-
+class OverlayDisplayToolBar(fsltoolbar.FSLEyesToolBar):
+    """The ``OverlyDisplyaToolBar`` is a :class:`.FSLEyesToolBar` containing
+    controls which allow the user to change the display settings of the
+    currently selected overlay (as defined by the
+    :attr:`.DisplayContext.selectedOverlay` property). The display settings
+    for an overlay are contained in the :class:`.Display` and
+    :class:`.DisplayOpts` instances that are associated with that overlay.
     
-_TOOLTIPS = td.TypeDict({
-
-    'Display.name'        : fsltooltips.properties['Display.name'],
-    'Display.overlayType' : fsltooltips.properties['Display.overlayType'],
-    'Display.alpha'       : fsltooltips.properties['Display.alpha'],
-    'Display.brightness'  : fsltooltips.properties['Display.brightness'],
-    'Display.contrast'    : fsltooltips.properties['Display.contrast'],
-
-    'VolumeOpts.displayRange'      : fsltooltips.properties['VolumeOpts.'
-                                                            'displayRange'],
-    'VolumeOpts.resetDisplayRange' : fsltooltips.actions[   'VolumeOpts.reset'
-                                                            'DisplayRange'],
-    'VolumeOpts.cmap'              : fsltooltips.properties['VolumeOpts.cmap'],
 
-    'MaskOpts.threshold' : fsltooltips.properties['MaskOpts.threshold'],
-    'MaskOpts.colour'    : fsltooltips.properties['MaskOpts.colour'],
+    An ``OverlyDisplyaToolBar`` looks something like the following:
 
-    'LabelOpts.lut'          : fsltooltips.properties['LabelOpts.lut'],
-    'LabelOpts.outline'      : fsltooltips.properties['LabelOpts.outline'],
-    'LabelOpts.outlineWidth' : fsltooltips.properties['LabelOpts.'
-                                                      'outlineWidth'],
+    .. image:: images/overlaydisplaytoolbar.png
+       :scale: 50%
+       :align: center
 
-    'RGBVectorOpts.modulate'     : fsltooltips.properties['VectorOpts.'
-                                                          'modulate'],
-    'RGBVectorOpts.modThreshold' : fsltooltips.properties['VectorOpts.'
-                                                          'modThreshold'],
-
-    'LineVectorOpts.modulate'     : fsltooltips.properties['VectorOpts.'
-                                                           'modulate'],
-    'LineVectorOpts.modThreshold' : fsltooltips.properties['VectorOpts.'
-                                                           'modThreshold'],
-    'LineVectorOpts.lineWidth'    : fsltooltips.properties['LineVectorOpts.'
-                                                           'lineWidth'],
-
-    'ModelOpts.colour'       : fsltooltips.properties['ModelOpts.colour'],
-    'ModelOpts.outline'      : fsltooltips.properties['ModelOpts.outline'],
-    'ModelOpts.outlineWidth' : fsltooltips.properties['ModelOpts.'
-                                                      'outlineWidth'],
-})
-
-
-_TOOLBAR_PROPS = td.TypeDict({
-
-    'Display' : {
-        'name'         : props.Widget(
-            'name',
-            tooltip=_TOOLTIPS['Display.name']),
-        'overlayType'  : props.Widget(
-            'overlayType',
-            tooltip=_TOOLTIPS['Display.overlayType'],
-            labels=strings.choices['Display.overlayType']),
-        'alpha'        : props.Widget(
-            'alpha',
-            spin=False,
-            showLimits=False,
-            tooltip=_TOOLTIPS['Display.alpha']),
-        'brightness'   : props.Widget(
-            'brightness',
-            spin=False,
-            showLimits=False,
-            tooltip=_TOOLTIPS['Display.brightness']),
-        'contrast'     : props.Widget(
-            'contrast',
-            spin=False,
-            showLimits=False,
-            tooltip=_TOOLTIPS['Display.contrast'])},
-
-    'VolumeOpts' : {
-        'displayRange' : props.Widget(
-            'displayRange',
-            slider=False,
-            showLimits=False,
-            tooltip=_TOOLTIPS['VolumeOpts.displayRange'],
-            labels=[strings.choices['VolumeOpts.displayRange.min'],
-                    strings.choices['VolumeOpts.displayRange.max']]),
-        'resetDisplayRange' : actions.ActionButton(
-            'resetDisplayRange',
-            icon=icons.findImageFile('verticalReset24'),
-            tooltip=_TOOLTIPS['VolumeOpts.resetDisplayRange']), 
-        'cmap' : props.Widget(
-            'cmap',
-            tooltip=_TOOLTIPS['VolumeOpts.cmap'])},
-
-    'MaskOpts' : {
-        'threshold' : props.Widget(
-            'threshold',
-            showLimits=False,
-            spin=False,
-            tooltip=_TOOLTIPS['MaskOpts.threshold']),
-        'colour'    : props.Widget(
-            'colour',
-            size=(24, 24),
-            tooltip=_TOOLTIPS['MaskOpts.colour'])},
-
-    'LabelOpts' : {
-        'lut'     : props.Widget(
-            'lut',
-            tooltip=_TOOLTIPS['LabelOpts.lut'],
-            labels=lambda l: l.name),
-        'outline' : props.Widget(
-            'outline',
-            tooltip=_TOOLTIPS['LabelOpts.outline'],
-            icon=[icons.findImageFile('outline24'),
-                  icons.findImageFile('filled24')],
-            toggle=True,
-            enabledWhen=lambda i, sw: not sw,
-            dependencies=[(lambda o: o.display, 'softwareMode')]),
-        
-        'outlineWidth' : props.Widget(
-            'outlineWidth',
-            tooltip=_TOOLTIPS['LabelOpts.outlineWidth'],
-            enabledWhen=lambda i, sw: not sw,
-            dependencies=[(lambda o: o.display, 'softwareMode')],
-            showLimits=False,
-            spin=False)},
-
-    'RGBVectorOpts' : {
-        'modulate'     : props.Widget(
-            'modulate',
-            labels=_modImageLabel,
-            tooltip=_TOOLTIPS['RGBVectorOpts.modulate']),
-        'modThreshold' : props.Widget(
-            'modThreshold',
-            showLimits=False,
-            spin=False,
-            tooltip=_TOOLTIPS['RGBVectorOpts.modThreshold'])},
-
-    'LineVectorOpts' : {
-        'modulate'     : props.Widget(
-            'modulate',
-            labels=_modImageLabel,
-            tooltip=_TOOLTIPS['LineVectorOpts.modulate']),
-        'modThreshold' : props.Widget(
-            'modThreshold',
-            showLimits=False,
-            spin=False,
-            tooltip=_TOOLTIPS['LineVectorOpts.modThreshold']), 
-        'lineWidth' : props.Widget(
-            'lineWidth',
-            showLimits=False,
-            spin=False,
-            tooltip=_TOOLTIPS['LineVectorOpts.lineWidth']),
-    },
-
-    'ModelOpts' : {
-        'colour'       : props.Widget(
-            'colour',
-            size=(24, 24),
-            tooltip=_TOOLTIPS['ModelOpts.colour']),
-        'outline'      : props.Widget(
-            'outline',
-            tooltip=_TOOLTIPS['ModelOpts.outline'],
-            icon=[icons.findImageFile('outline24'),
-                  icons.findImageFile('filled24')],
-            toggle=True),
-        'outlineWidth' : props.Widget(
-            'outlineWidth',
-            showLimits=False,
-            spin=False,
-            tooltip=_TOOLTIPS['ModelOpts.outlineWidth'],
-            enabledWhen=lambda i: i.outline)}
-})
-
-
-class OverlayDisplayToolBar(fsltoolbar.FSLEyesToolBar):
+    
+    The ``OverlayDisplayToolBar`` also defines an action called ``more``
+    (which is linked to the :meth:`showMoreSettings` method), which opens an
+    :class:`.OverlayDisplayPanel`.
+
+
+    The specific controls which are displayed are defined in the
+    :attr:`_TOOLBAR_PROPS` dictionary, and are created by the following
+    methods:
+
+    .. autosummary::
+       :nosignatures:
+
+       __makeDisplayTools
+       __makeVolumeOptsTools
+       __makeMaskOptsTools
+       __makeLabelOptsTools
+       __makeVectorOptsTools
+       __makeRGBVectorOptsTools
+       __makeLineVectorOptsTools
+       __makeModelOptsTools
+    """
     
     def __init__(self, parent, overlayList, displayCtx, viewPanel):
+        """Create an ``OverlyDisplyaToolBar``.
+
+        :arg parent:      The :mod:`wx` parent object.
+        
+        :arg overlayList: The :class:`.OverlayList` instance.
+        
+        :arg displayCtx:  The :class:`.DisplayContext` instance.
+        
+        :arg viewPanel:   The :class:`.ViewPanel` which this
+                          ``OverlayDisplayToolBar`` is owned by.
+        """
 
         actionz = {'more' : self.showMoreSettings}
         
@@ -221,7 +100,10 @@ class OverlayDisplayToolBar(fsltoolbar.FSLEyesToolBar):
 
 
     def destroy(self):
-        """Deregisters property listeners. """
+        """Must be called when this ``OverlyDisplyaToolBar`` is no longer
+        needed. Removes some property listeners, and calls the
+        :meth:`.FSLEyesToolBar.destroy` method.
+        """
 
         self._overlayList.removeListener('overlays',        self._name)
         self._displayCtx .removeListener('selectedOverlay', self._name)
@@ -240,18 +122,82 @@ class OverlayDisplayToolBar(fsltoolbar.FSLEyesToolBar):
 
 
     def showMoreSettings(self, *a):
+        """Shows/hides a :class:`.OverlayDisplayPanel` dialog. """
         self.__viewPanel.togglePanel(overlaydisplay.OverlayDisplayPanel,
                                      floatPane=True)
 
+
+    def __showTools(self, overlay):
+        """Creates and shows a set of controls allowing the user to change
+        the display settings of the specified ``overlay``.
+        """
+
+        oldTools = self.GetTools()
+
+        # See long comment at bottom
+        def destroyOldTools():
+            for t in oldTools:
+                t.Destroy()
+
+        for t in oldTools:
+            t.Show(False)
+
+        self.ClearTools(destroy=False, postevent=False)
+
+        log.debug('Showing tools for {}'.format(overlay))
+
+        display   = self._displayCtx.getDisplay(overlay)
+        opts      = display.getDisplayOpts()
+
+        # Display tools
+        tools     = self.__makeDisplayTools(display)
+
+        # DisplayOpts tools
+        makeFunc = getattr(self, '_{}__make{}Tools'.format(
+            type(self).__name__, type(opts).__name__), None)
+
+        if makeFunc is not None:
+            tools.extend(makeFunc(opts))
+
+        # Button which opens the OverlayDisplayPanel
+        more = props.buildGUI(
+            self,
+            self,
+            view=actions.ActionButton(
+                'more',
+                icon=icons.findImageFile('gear24'),
+                tooltip=fsltooltips.actions[self, 'more']))
+
+        tools.insert(0, more)
+
+        self.SetTools(tools)
+        
+        # This method may have been called via an
+        # event handler an existing tool in the
+        # toolbar - in this situation, destroying
+        # that tool will result in nasty crashes,
+        # as the wx widget that generated the event
+        # will be destroyed while said event is
+        # being processed. So we destroy the old
+        # tools asynchronously, well after the event
+        # which triggered this method call will have
+        # returned.
+        wx.CallLater(1000, destroyOldTools)
+
         
     def __overlayEnableChanged(self, *a):
+        """Called when the :attr:`.Display.enabled` property for the currently
+        selected overlay changes. Enables/disables this
+        ``OverlayDisplayToolBar`` accordingly.
+        """
         display = self._displayCtx.getDisplay(self.__currentOverlay)
         self.Enable(display.enabled)
 
 
     def __selectedOverlayChanged(self, *a):
-        """Called when the :attr:`.DisplayContext.selectedOverlay`
-        index changes. Ensures that the correct display panel is visible.
+        """Called when the :attr:`.DisplayContext.selectedOverlay` or
+        :class:`.OverlayList` changes. Ensures that controls for the currently
+        selected overlay are being shown.
         """
 
         if self.__currentOverlay is not None and \
@@ -282,7 +228,8 @@ class OverlayDisplayToolBar(fsltoolbar.FSLEyesToolBar):
 
 
     def __makeDisplayTools(self, display):
-        """
+        """Creates and returns a collection of controls for editing properties
+        of the given :class:`.Display` instance.
         """
         
         dispSpecs = _TOOLBAR_PROPS[display]
@@ -336,7 +283,8 @@ class OverlayDisplayToolBar(fsltoolbar.FSLEyesToolBar):
 
 
     def __makeVolumeOptsTools(self, opts):
-        """
+        """Creates and returns a collection of controls for editing properties
+        of the given :class:`.VolumeOpts` instance.
         """
         rangeSpec = _TOOLBAR_PROPS[opts]['displayRange']
         resetSpec = _TOOLBAR_PROPS[opts]['resetDisplayRange']
@@ -354,8 +302,9 @@ class OverlayDisplayToolBar(fsltoolbar.FSLEyesToolBar):
 
 
     def __makeMaskOptsTools(self, opts):
-        """
-        """
+        """Creates and returns a collection of controls for editing properties
+        of the given :class:`.MaskOpts` instance.
+        """ 
         thresSpec  = _TOOLBAR_PROPS[opts]['threshold']
         colourSpec = _TOOLBAR_PROPS[opts]['colour']
 
@@ -366,8 +315,9 @@ class OverlayDisplayToolBar(fsltoolbar.FSLEyesToolBar):
 
 
     def __makeLabelOptsTools(self, opts):
-        """
-        """
+        """Creates and returns a collection of controls for editing properties
+        of the given :class:`.LabelOpts` instance.
+        """        
 
         lutSpec     = _TOOLBAR_PROPS[opts]['lut']
         outlineSpec = _TOOLBAR_PROPS[opts]['outline']
@@ -401,6 +351,9 @@ class OverlayDisplayToolBar(fsltoolbar.FSLEyesToolBar):
 
 
     def __makeVectorOptsTools(self, opts):
+        """Creates and returns a collection of controls for editing properties
+        of the given :class:`.VectorOpts` instance.
+        """        
         
         modSpec   = _TOOLBAR_PROPS[opts]['modulate']
         thresSpec = _TOOLBAR_PROPS[opts]['modThreshold']
@@ -425,10 +378,16 @@ class OverlayDisplayToolBar(fsltoolbar.FSLEyesToolBar):
         return [panel]
 
     def __makeRGBVectorOptsTools(self, opts):
+        """Creates and returns a collection of controls for editing properties
+        of the given :class:`.RGBVectorOpts` instance.
+        """        
         return self.__makeVectorOptsTools(opts)
 
     
     def __makeLineVectorOptsTools(self, opts):
+        """Creates and returns a collection of controls for editing properties
+        of the given :class:`.LineVectorOpts` instance.
+        """        
         widthSpec = _TOOLBAR_PROPS[opts]['lineWidth']
 
         widget = props.buildGUI(self, opts, widthSpec)
@@ -439,6 +398,9 @@ class OverlayDisplayToolBar(fsltoolbar.FSLEyesToolBar):
 
 
     def __makeModelOptsTools(self, opts):
+        """Creates and returns a collection of controls for editing properties
+        of the given :class:`.ModelOpts` instance.
+        """        
         colourSpec  = _TOOLBAR_PROPS[opts]['colour']
         outlineSpec = _TOOLBAR_PROPS[opts]['outline']
         widthSpec   = _TOOLBAR_PROPS[opts]['outlineWidth']
@@ -452,56 +414,180 @@ class OverlayDisplayToolBar(fsltoolbar.FSLEyesToolBar):
         return [colourWidget, outlineWidget, widthWidget]
 
 
-    def __showTools(self, overlay):
+def _modImageLabel(img):
+    """Used to generate labels for the :attr:`.VectorOpts.modulate`
+    property choices.
+    """
+    if img is None: return strings.choices['VectorOpts.modulate.none']
+    else:           return img.name
 
-        oldTools = self.GetTools()
+    
+_TOOLTIPS = td.TypeDict({
 
-        # See long comment at bottom
-        def destroyOldTools():
-            for t in oldTools:
-                t.Destroy()
+    'Display.name'        : fsltooltips.properties['Display.name'],
+    'Display.overlayType' : fsltooltips.properties['Display.overlayType'],
+    'Display.alpha'       : fsltooltips.properties['Display.alpha'],
+    'Display.brightness'  : fsltooltips.properties['Display.brightness'],
+    'Display.contrast'    : fsltooltips.properties['Display.contrast'],
 
-        for t in oldTools:
-            t.Show(False)
+    'VolumeOpts.displayRange'      : fsltooltips.properties['VolumeOpts.'
+                                                            'displayRange'],
+    'VolumeOpts.resetDisplayRange' : fsltooltips.actions[   'VolumeOpts.reset'
+                                                            'DisplayRange'],
+    'VolumeOpts.cmap'              : fsltooltips.properties['VolumeOpts.cmap'],
 
-        self.ClearTools(destroy=False, postevent=False)
+    'MaskOpts.threshold' : fsltooltips.properties['MaskOpts.threshold'],
+    'MaskOpts.colour'    : fsltooltips.properties['MaskOpts.colour'],
 
-        log.debug('Showing tools for {}'.format(overlay))
+    'LabelOpts.lut'          : fsltooltips.properties['LabelOpts.lut'],
+    'LabelOpts.outline'      : fsltooltips.properties['LabelOpts.outline'],
+    'LabelOpts.outlineWidth' : fsltooltips.properties['LabelOpts.'
+                                                      'outlineWidth'],
 
-        display   = self._displayCtx.getDisplay(overlay)
-        opts      = display.getDisplayOpts()
+    'RGBVectorOpts.modulate'     : fsltooltips.properties['VectorOpts.'
+                                                          'modulate'],
+    'RGBVectorOpts.modThreshold' : fsltooltips.properties['VectorOpts.'
+                                                          'modThreshold'],
 
-        # Display tools
-        tools     = self.__makeDisplayTools(display)
+    'LineVectorOpts.modulate'     : fsltooltips.properties['VectorOpts.'
+                                                           'modulate'],
+    'LineVectorOpts.modThreshold' : fsltooltips.properties['VectorOpts.'
+                                                           'modThreshold'],
+    'LineVectorOpts.lineWidth'    : fsltooltips.properties['LineVectorOpts.'
+                                                           'lineWidth'],
 
-        # DisplayOpts tools
-        makeFunc = getattr(self, '_{}__make{}Tools'.format(
-            type(self).__name__, type(opts).__name__), None)
+    'ModelOpts.colour'       : fsltooltips.properties['ModelOpts.colour'],
+    'ModelOpts.outline'      : fsltooltips.properties['ModelOpts.outline'],
+    'ModelOpts.outlineWidth' : fsltooltips.properties['ModelOpts.'
+                                                      'outlineWidth'],
+})
+"""This dictionary contains tooltips for :class:`.Display` and
+:class:`.DisplayOpts` properties. It is referenced in the
+:attr:`_TOOLBAR_PROPS` dictionary definition.
+"""
 
-        if makeFunc is not None:
-            tools.extend(makeFunc(opts))
 
-        # Button which opens the OverlayDisplayPanel
-        more = props.buildGUI(
-            self,
-            self,
-            view=actions.ActionButton(
-                'more',
-                icon=icons.findImageFile('gear24'),
-                tooltip=fsltooltips.actions[self, 'more']))
+_TOOLBAR_PROPS = td.TypeDict({
 
-        tools.insert(0, more)
+    'Display' : {
+        'name'         : props.Widget(
+            'name',
+            tooltip=_TOOLTIPS['Display.name']),
+        'overlayType'  : props.Widget(
+            'overlayType',
+            tooltip=_TOOLTIPS['Display.overlayType'],
+            labels=strings.choices['Display.overlayType']),
+        'alpha'        : props.Widget(
+            'alpha',
+            spin=False,
+            showLimits=False,
+            tooltip=_TOOLTIPS['Display.alpha']),
+        'brightness'   : props.Widget(
+            'brightness',
+            spin=False,
+            showLimits=False,
+            tooltip=_TOOLTIPS['Display.brightness']),
+        'contrast'     : props.Widget(
+            'contrast',
+            spin=False,
+            showLimits=False,
+            tooltip=_TOOLTIPS['Display.contrast'])},
 
-        self.SetTools(tools)
+    'VolumeOpts' : {
+        'displayRange' : props.Widget(
+            'displayRange',
+            slider=False,
+            showLimits=False,
+            tooltip=_TOOLTIPS['VolumeOpts.displayRange'],
+            labels=[strings.choices['VolumeOpts.displayRange.min'],
+                    strings.choices['VolumeOpts.displayRange.max']]),
+        'resetDisplayRange' : actions.ActionButton(
+            'resetDisplayRange',
+            icon=icons.findImageFile('verticalReset24'),
+            tooltip=_TOOLTIPS['VolumeOpts.resetDisplayRange']), 
+        'cmap' : props.Widget(
+            'cmap',
+            tooltip=_TOOLTIPS['VolumeOpts.cmap'])},
+
+    'MaskOpts' : {
+        'threshold' : props.Widget(
+            'threshold',
+            showLimits=False,
+            spin=False,
+            tooltip=_TOOLTIPS['MaskOpts.threshold']),
+        'colour'    : props.Widget(
+            'colour',
+            size=(24, 24),
+            tooltip=_TOOLTIPS['MaskOpts.colour'])},
+
+    'LabelOpts' : {
+        'lut'     : props.Widget(
+            'lut',
+            tooltip=_TOOLTIPS['LabelOpts.lut'],
+            labels=lambda l: l.name),
+        'outline' : props.Widget(
+            'outline',
+            tooltip=_TOOLTIPS['LabelOpts.outline'],
+            icon=[icons.findImageFile('outline24'),
+                  icons.findImageFile('filled24')],
+            toggle=True,
+            enabledWhen=lambda i, sw: not sw,
+            dependencies=[(lambda o: o.display, 'softwareMode')]),
         
-        # This method may have been called via an
-        # event handler an existing tool in the
-        # toolbar - in this situation, destroying
-        # that tool will result in nasty crashes,
-        # as the wx widget that generated the event
-        # will be destroyed while said event is
-        # being processed. So we destroy the old
-        # tools asynchronously, well after the event
-        # which triggered this method call will have
-        # returned.
-        wx.CallLater(1000, destroyOldTools)
+        'outlineWidth' : props.Widget(
+            'outlineWidth',
+            tooltip=_TOOLTIPS['LabelOpts.outlineWidth'],
+            enabledWhen=lambda i, sw: not sw,
+            dependencies=[(lambda o: o.display, 'softwareMode')],
+            showLimits=False,
+            spin=False)},
+
+    'RGBVectorOpts' : {
+        'modulate'     : props.Widget(
+            'modulate',
+            labels=_modImageLabel,
+            tooltip=_TOOLTIPS['RGBVectorOpts.modulate']),
+        'modThreshold' : props.Widget(
+            'modThreshold',
+            showLimits=False,
+            spin=False,
+            tooltip=_TOOLTIPS['RGBVectorOpts.modThreshold'])},
+
+    'LineVectorOpts' : {
+        'modulate'     : props.Widget(
+            'modulate',
+            labels=_modImageLabel,
+            tooltip=_TOOLTIPS['LineVectorOpts.modulate']),
+        'modThreshold' : props.Widget(
+            'modThreshold',
+            showLimits=False,
+            spin=False,
+            tooltip=_TOOLTIPS['LineVectorOpts.modThreshold']), 
+        'lineWidth' : props.Widget(
+            'lineWidth',
+            showLimits=False,
+            spin=False,
+            tooltip=_TOOLTIPS['LineVectorOpts.lineWidth']),
+    },
+
+    'ModelOpts' : {
+        'colour'       : props.Widget(
+            'colour',
+            size=(24, 24),
+            tooltip=_TOOLTIPS['ModelOpts.colour']),
+        'outline'      : props.Widget(
+            'outline',
+            tooltip=_TOOLTIPS['ModelOpts.outline'],
+            icon=[icons.findImageFile('outline24'),
+                  icons.findImageFile('filled24')],
+            toggle=True),
+        'outlineWidth' : props.Widget(
+            'outlineWidth',
+            showLimits=False,
+            spin=False,
+            tooltip=_TOOLTIPS['ModelOpts.outlineWidth'],
+            enabledWhen=lambda i: i.outline)}
+})
+"""This dictionary defines specifications for all controls shown on an
+:class:`OverlayDisplayToolBar`. 
+"""
-- 
GitLab