fsleyes.actions.base
This module provides the Action
, NeedOverlayAction
, and
ToggleAction
classes. See the actions
package documentation
for more details.
- exception fsleyes.actions.base.ActionDisabledError[source]
Bases:
Exception
Exception raised when an attempt is made to call a disabled
Action
.- __module__ = 'fsleyes.actions.base'
- __weakref__
list of weak references to the object (if defined)
- class fsleyes.actions.base.BoundWidget(parent, evType, widget)[source]
Bases:
object
Container class used by
Action
instances to store references to widgets that are currently bound to them.- isAlive()[source]
Returns
True
if the widget contained by thisBoundWidget
is still alive,False
otherwise.
- __dict__ = mappingproxy({'__module__': 'fsleyes.actions.base', '__doc__': 'Container class used by :class:`Action` instances to store references\n to widgets that are currently bound to them.\n ', '__init__': <function BoundWidget.__init__>, 'isAlive': <function BoundWidget.isAlive>, '__dict__': <attribute '__dict__' of 'BoundWidget' objects>, '__weakref__': <attribute '__weakref__' of 'BoundWidget' objects>, '__annotations__': {}})
- __module__ = 'fsleyes.actions.base'
- __weakref__
list of weak references to the object (if defined)
- class fsleyes.actions.base.Action(overlayList, displayCtx, func, name=None)[source]
Bases:
__main__.docbuilder.run.<locals>.MockClass
Represents an action of some sort.
- enabled = <MagicMock name='mock.Boolean()' id='4118803744'>
Controls whether the action is currently enabled or disabled. When this property is
False
calls to the action will result in aActionDisabledError
.
- static supportedViews()[source]
May be overridden to declare that this Action should be associated with a specific
ViewPanel
. If overridden, must return a list containing all of the supportedViewPanel
types.
- static ignoreTool()[source]
Used by the FSLeyes
plugins
module for actions which are loaded as plugins. Can be used to tell theplugins
module that a particularAction
should not be added as an option to the FSLeyes Tools menu.Note that this method must be implemented on the class that is to be ignored - inherited implementations from base classes are not considered.
- __init__(overlayList, displayCtx, func, name=None)[source]
Create an
Action
.- Parameters
overlayList – The
OverlayList
.displayCtx – The
DisplayContext
associated with thisAction
; note that this is not necessarily the masterDisplayContext
.func – The action function.
name – Action name. Defaults to
func.__name__
.
Note
If an
Action
encapsulates a method of anActionProvider
instance, it is assumed that thename
is the name of the method on the instance.
- property actionName
Returns the name of this
Action
, often the method name of theActionProvider
that implements the action. Not to be confused withname()
.
- property name
Not to be confused with
actionName()
. Returns a unique name for a specificAction
instance, which can be used (e.g.) for registering property listeners.
- property overlayList
Return a reference to the
OverlayList
.
- property displayCtx
Return a reference to the
DisplayContext
.
- __call__(*args, **kwargs)[source]
Calls this action. An
ActionDisabledError
will be raised ifenabled
isFalse
.
- bindToWidget(parent, evType, widget, wrapper=None)[source]
Binds this action to the given
wx
widget.- Parameters
parent – The
wx
object on which the event should be bound.evType – The
wx
event type.widget – The
wx
widget.wrapper – Optional custom wrapper function used to execute the action.
- __unbindWidget(index)
Unbinds the widget at the specified index into the
__boundWidgets
list. Does not remove it from the list.
- unbindAllWidgets()[source]
Unbinds all widgets which have been bound via
bindToWidget()
.
- getBoundWidgets()[source]
Returns a list of
BoundWidget
instances, containing all widgets which have been bound to thisAction
.
- __enabledChanged(*args)
Internal method which is called when the
enabled
property changes. Enables/disables any bound widgets.
- __annotations__ = {}
- __module__ = 'fsleyes.actions.base'
- class fsleyes.actions.base.ToggleAction(*args, **kwargs)[source]
Bases:
fsleyes.actions.base.Action
A
ToggleAction
anAction
which is intended to encapsulate actions that toggle some sort of state. For example, aToggleAction
could be used to encapsulate an action which opens and/or closes a dialog window.- toggled = <MagicMock name='mock.Boolean()' id='4118803744'>
Boolean which tracks the current state of the
ToggleAction
.
- __init__(*args, **kwargs)[source]
Create a
ToggleAction
.- Parameters
autoToggle – Must be specified as a keyword argument. If
True
(the default), the state oftoggled
is inverted every time this action is called. Otherwise, the state oftoggled
, and of all bound widgets/menu items, needs to be changed manually.
All other arguments are passed to
Action.__init__()
.
- __call__(*args, **kwargs)[source]
Call this
ToggleAction
. The value of thetoggled
property is flipped.
- bindToWidget(parent, evType, widget, wrapper=None)[source]
Bind this
ToggleAction
to a widget. If the widget is awx.MenuItem
, itsCheck
is called whenever thetoggled
state changes.
- __toggledChanged(*a)
Internal method called when
toggled
changes. Updates the state of any bound widgets.
- __annotations__ = {}
- __module__ = 'fsleyes.actions.base'
- class fsleyes.actions.base.NeedOverlayAction(overlayList, displayCtx, func=None, overlayType=<MagicMock name='mock.data.image.Image' id='4118322432'>)[source]
Bases:
fsleyes.actions.base.Action
The
NeedOverlayAction
is a convenience base class for actions which can only be executed when an overlay of a specific type is selected. It enables/disables itself based on the type of the currently selected overlay.- __init__(overlayList, displayCtx, func=None, overlayType=<MagicMock name='mock.data.image.Image' id='4118322432'>)[source]
Create a
NeedOverlayAction
.- Parameters
overlayList – The
OverlayList
.displayCtx – The
DisplayContext
.func – The action function
overlayType – The required overlay type (defaults to
Image
)
- __annotations__ = {}
- __module__ = 'fsleyes.actions.base'
- destroy()[source]
Removes listeners from the
DisplayContext
andOverlayList
, and callsAction.destroy()
.
- __selectedOverlayChanged(*a)
Called when the selected overlay, or overlay list, changes.
Enables/disables this action depending on the nature of the selected overlay.