MacroCmd - a command that composes other commands
#include <Unidraw/Commands/macro.h>
MacroCmd composes other commands in a linear fashion. Executing a
MacroCmd is equivalent to executing its children in preorder.
- MacroCmd(ControlInfo*)
- MacroCmd(
- Editor* =
nil,
- Command* first =
nil, Command* second = nil,
- Command* third
= nil, Command* fourth = nil
- )
-
Construct a MacroCmd instance, optionally supplying up to four of its child
commands.
- virtual void
Execute()
- virtual void
Unexecute()
- virtual boolean
Reversible()
- Execute simply executes each child, from first to last. Unexecute calls
Unexecute on each child, from last to first. The MacroCmd is reversible if
any of its children are.
- virtual void
SetEditor(Editor*)
- SetEditor calls SetEditor on each child with the given argument.
- Command*
GetCommand(Iterator)
- void SetCommand(Command*,
Iterator&)
- GetCommand returns the child Command to which an iterator points.
SetCommand initializes the iterator to point to a particular child
Command; it initializes the iterator to point to a nil instance if the
given Command is not a child.
- void
Append(
- Command*,
Command* = nil, Command* = nil, Command* = nil
- )
- void
Prepend(
- Command*,
Command* = nil, Command* = nil, Command* = nil
- )
- void
InsertAfter(Iterator, Command*)
- void
InsertBefore(Iterator, Command*)
- void
Remove(Command*)
- void
Remove(Iterator&)
- Operations that modify the MacroCmd's list of children. Append and Prepend
add up to four Commands to the end and the beginning of the list,
respectively. InsertAfter and InsertBefore insert a Command after and
before the Command pointed to by the iterator, respectively. The Remove
operations remove a child from the list without deleting it. You can
remove a child by referring to it explicitly or by specifying an iterator.
If an iterator is supplied, the Remove operation should advance it to
point to the following child as a side effect.
Command(3U), Iterator(3U), UList(3U)