Class: TRecursiveModelCommandOn

Declaration: CompoundDocumentCommand.h

Taxonomy Categories:

Member Functions:


Interface Category:

API.

Inherits From:

TCommandOn, MRecursiveModelCommandImplementation

Inherited By:

None.

Purpose:

Provides a standard base class for commands that recurse down the embedding hierarchy when performed. The command provides a default implementation for the recursive selection iteration. Derived classes override HandleRecursiveDo which is called once for each compatible compatible selection found in the iteration.

Instantiation:

Abstract base class; do not allocate.

Deriving Classes:

All commands that operate on embedded models included in a selection. Derived classes must override the pure virtual function HandleRecursiveDo.

Concurrency:

Not multithread safe.

Resource Use:

No special requirements.

Member Function: TRecursiveModelCommandOn::~TRecursiveModelCommandOn

virtual ~ TRecursiveModelCommandOn ()

Interface Category:

API.

Purpose:

Destructor.

Calling Context:

Called to destroy an object.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TRecursiveModelCommandOn::operator>>=

virtual TStream & operator >>=(TStream &) const

Interface Category:

API.

Purpose:

Stream-out operator.

Calling Context:

Called to stream out data.

Parameters:

Return Value:

Returns a reference to the stream the object streams itself out to.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TRecursiveModelCommandOn::operator<<=

virtual TStream & operator <<= (TStream &)

Interface Category:

API.

Purpose:

Stream-in operator.

Calling Context:

Called to stream in data.

Parameters:

Return Value:

Returns a reference to the stream the object streams itself in from.

Exceptions:

Throws a TInvalidVersionError if the version of the object on the stream is unknown to the version of the shared library installed.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TRecursiveModelCommandOn::TRecursiveModelCommandOn

  1. TRecursiveModelCommandOn (UndoType)
  2. TRecursiveModelCommandOn (const TRecursiveModelCommandOn < ATarget > &)
  3. TRecursiveModelCommandOn ()

Interface Category:

API.

Purpose:

  1. Creates a new recursive model command with the specified undo type.
  2. Creates a new recursive model command on the specified target.
  3. Default constructor.

Calling Context:

  1. Called by derived classes.
  2. Called by derived classes.
  3. Called by the stream-in operators

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

TRecursiveModelCommandOn is an abstract base class--all the constructors are protected. Do not instantiate this class.

Member Function: TRecursiveModelCommandOn::operator=

TRecursiveModelCommandOn < ATarget > & operator =(const TRecursiveModelCommandOn < ATarget > &)

Interface Category:

API.

Purpose:

Assignment operator.

Calling Context:

Call this function by using the operator in an assignment statement.

Parameters:

Return Value:

Returns a const reference to the left-hand side object.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

TRecursiveModelCommandOn is an abstract base class--all the constructors are protected. Do not instantiate this class.

Member Function: TRecursiveModelCommandOn::HandleDoBegin

virtual void HandleDoBegin (ATarget & target)

Interface Category:

API.

Purpose:

Starts command execution.

Calling Context:

Called by DoBegin after command state has been verified.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TRecursiveModelCommandOn::HandleRecursiveDo

virtual void HandleRecursiveDo (ATarget & target)

Interface Category:

API.

Purpose:

Overridden by derived classes to provide command specific Do behavior. This function is called for each compatible selection (CanDo(const ATarget&) ==true) found in the recursive selection iteration. Note that there is no corresponding HandleRecursiveUndo or HandleRecursiveRedo. It is the responsibility of the command implementor to maintain undo information and context for each iteration. HandleUndo and HandleRedo are called only once, for the top level target.

Calling Context:

Called only by TRecursiveModelCommand.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.