MacroCmd - a command that composes other commands
SYNOPSIS
#include <Unidraw/Commands/macro.h>
DESCRIPTION
MacroCmd composes other commands in a linear fashion.
Executing a MacroCmd is equivalent to executing its chil-
dren in preorder.
PUBLIC OPERATIONS
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 itera-
tor to point to a particular child Command; it ini-
tializes 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(Iterator&)
Operations that modify the MacroCmd's list of chil-
dren. Append and Prepend add up to four Commands to
the end and the beginning of the list, respec-
tively. InsertAfter and InsertBefore insert a Com-
mand 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 explic-
itly 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.
PROTECTED OPERATIONS
Command* Cmd(UList*)
UList* Elem(Iterator)
Convenience functions for extracting a Command from
a UList element a UList from an iterator, respec-
tively.
SEE ALSO
Command(3U), Iterator(3U), UList(3U)
Man(1) output converted with
man2html