fsleyes.actions.base

This module provides the Action and ToggleAction classes. See the actions package documentation for more details.

exception fsleyes.actions.base.ActionDisabledError

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)

Bases: object

Container class used by Action instances to store references to widgets that are currently bound to them.

__init__(parent, evType, widget)

Initialize self. See help(type(self)) for accurate signature.

isAlive()

Returns True if the widget contained by this BoundWidget 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>})
__module__ = 'fsleyes.actions.base'
__weakref__

list of weak references to the object (if defined)

class fsleyes.actions.base.Action(func, instance=None, name=None)

Bases: __main__.MockClass

Represents an action of some sort.

enabled = <MagicMock name='mock.Boolean()' id='139845844115072'>

Controls whether the action is currently enabled or disabled. When this property is False calls to the action will result in a ActionDisabledError.

__init__(func, instance=None, name=None)

Create an Action.

Parameters:
  • func – The action function.
  • instance – Object associated with the function, if this Action is encapsulating an instance method.
  • name – Action name. Defaults to func.__name__.

Note

If an Action encapsulates a method of an ActionProvider instance, it is assumed that the name is the name of the method on the instance.

__str__()

Returns a string representation of this Action.

__repr__()

Returns a string representation of this Action.

name()

Returns the name of this Action.

__call__(*args, **kwargs)

Calls this action. An ActionDisabledError will be raised if enabled is False.

destroy()

Must be called when this Action is no longer needed.

bindToWidget(parent, evType, widget, wrapper=None)

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(widget)

Unbinds the given widget from this Action.

unbindAllWidgets()

Unbinds all widgets which have been bound via bindToWidget().

getBoundWidgets()

Returns a list of BoundWidget instances, containing all widgets which have been bound to this Action.

_Action__enabledChanged(*args)

Internal method which is called when the enabled property changes. Enables/disables any bound widgets.

_Action__unbindWidget(index)

Unbinds the widget at the specified index into the __boundWidgets list. Does not remove it from the list.

__module__ = 'fsleyes.actions.base'
class fsleyes.actions.base.ToggleAction(*args, **kwargs)

Bases: fsleyes.actions.base.Action

A ToggleAction an Action which is intended to encapsulate actions that toggle some sort of state. For example, a ToggleAction could be used to encapsulate an action which opens and/or closes a dialog window.

toggled = <MagicMock name='mock.Boolean()' id='139845844115072'>

Boolean which tracks the current state of the ToggleAction.

__init__(*args, **kwargs)

Create a ToggleAction. All arguments are passed to Action.__init__().

__call__(*args, **kwargs)

Call this ToggleAction. The value of the toggled property is flipped.

_ToggleAction__setState(widget)

Sets the toggled state of the given widget to the current value of toggled.

_ToggleAction__toggledChanged(*a)

Internal method called when toggled changes. Updates the state of any bound widgets.

__module__ = 'fsleyes.actions.base'
bindToWidget(parent, evType, widget, wrapper=None)

Bind this ToggleAction to a widget. If the widget is a wx.MenuItem, its Check is called whenever the toggled state changes.