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.
virtualvoidExecute()virtualvoidUnexecute()virtualbooleanReversible()
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.
virtualvoidSetEditor(Editor*)
SetEditor calls SetEditor on each child with the given argument.
Command*GetCommand(Iterator)voidSetCommand(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.
voidAppend(Command*,Command*=nil,Command*=nil,Command*=nil)voidPrepend(Command*,Command*=nil,Command*=nil,Command*=nil)voidInsertAfter(Iterator,Command*)voidInsertBefore(Iterator,Command*)voidRemove(Command*)voidRemove(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.