logo

class

fwt::Command

sys::Obj
  fwt::Command

Command packages up the diplay name, icon, execution, and undo support for a user command. You can create a command two ways:

  1. use a closure (or any function) for onInvoke
  2. subclass Command and override invoke

If the command supports undo, then you must create a a subclass and override undo.

Commands are often used to centralize control of multiple widgets. For example if a Command is associated with both a menu item and a toolbar button, then disabling the command will disable both the menu item and toolbar button.

Slots

enabled

Bool enabled := true

The enable state of the command automatically controls the enabled state of all the registered widgets.

Source

icon

Image icon

Icon of the command or null. Typically a 16x16.

Source

invoke

virtual Void invoke(Event event)

Invoke the command. If the user event is known then is passed, otherwise it might be null.

Source

make

new make(Str name := null, Image icon := null, |Event| onInvoke := null)

Construct a command with the specified onInvoke function. If onInvoke is not specified, then the invoke method must be overridden to execute the command.

Source

name

Str name

Name of the command.

Source

onInvoke

|Event| onInvoke

The function to invoke when the command is executed. If null, then invoke must be overridden.

Source

redo

virtual Void redo()

This method is invoked when the command invoked as a redo. It is not called on the first invocation. Default calls invoke with a null event.

Source

register

Void register(Widget w)

Register a widget with this command. This is done automatically by the widget. You only need to call this method if you are developing a custom widget.

Source

undo

virtual Void undo()

This method is invoked to undo the command. This method is only used if undoable returns true.

Source

undoable

virtual Bool undoable()

Return if the command can be undone. Default implementation returns true is the undo method has been overridden.

Source

unregister

Void unregister(Widget w)

Unregister a widget with this command. This is done automatically by the widget. You only need to call this method if you are developing a custom widget.

Source

widgets

Widget[] widgets()

Get the associated widgets with this command. Widgets are automatically associated with their command field is set.

Source