fsleyes.actions.togglecontrolpanel

This module provides the ToggleControlPanelAction class, an action intended for use by ViewPanel classes to manage the addition/removal of control panels.

class fsleyes.actions.togglecontrolpanel.ToggleControlPanelAction(overlayList, displayCtx, viewPanel, cpType, func=None, name=None, **kwargs)[source]

Bases: fsleyes.actions.base.ToggleAction

The ToggleControlPanelAction class is an action which is intended to augment ViewPanel actions which add/remove a control panel.

The ToggleControlPanelAction keeps track of the ViewPanel state, and updates its own ToggleAction.toggled property whenever its designated control panel is added/removed from the ViewPanel.

This sounds a bit silly, but is necessary to ensure that any bound widgets (most likely menu items) are updated whenever the control panel managed by a ToggleControlPanelAction is added/removed.

__init__(overlayList, displayCtx, viewPanel, cpType, func=None, name=None, **kwargs)[source]

Create a ToggleControlPanelAction.

Parameters
  • overlayList – The OverlayList

  • displayCtx – The DisplayContext

  • viewPanel – The ViewPanel instance.

  • cpType – The type of the control panel being managed by this ToggleControlPanelAction.

  • func – The function which toggles the control panel. If not provided, a default function is used.

  • name – Name of this action - defaults to func.__name__.

All other arguments will be passed to the ViewPanel.togglePanel() method.

__togglePanel(*args, **kwargs)

Default action to run if a func wasn’t specified. Calls ViewPanel.togglePanel,

property viewPanel

Returns a reference to the ViewPanel that is associated with this action.

destroy()[source]

Must be called when this ToggleControlPanelAction is no longer used. Clears references, and calls the base-class destroy method.

__viewPanelChanged(*a)

Called whenever a control panel is added to/removed from the ViewPanel that owns this ToggleControlPanelAction. Updates the ToggleAction.toggled attribute of this action.

__module__ = 'fsleyes.actions.togglecontrolpanel'