Class: MFrameInteractionPolicy

Declaration: FrameInteractionPolicy.h

Taxonomy Categories:

Member Functions:


Interface Category:

API

Inherits From:

None.

Inherited By:

TFrameViewInteractionPolicy

Purpose:

MFrameInteractionPolicy is an abstract base class for that provides the frame interaction policy used for TPrimitiveFrameView.

Instantiation:

MFrameInteractionPolicy is an abstract class and cannot be instantiated.

Deriving Classes:

Derive from this class to specify a policy for manipulations with frame semantics, such as manipulation of graphics in a view. Derive from TFrameViewInteractionPolicy for manipulation of frames derived from TPrimitiveFrameView. This class can be mixed into a container view class or a separate interaction manager class. Derived classes can control the layout and sizing of frames, and handle the direct selection of a frame. Classes derived from MFrameInteractionPolicy must override the member functions StartFrameMove, StartFrameResize, IntermediateFrameMove, IntermediateFrameResize, EndFrameMove, and EndFrameResize. The function HandleFrameSelect should be overridden to update the container for selection of the frame.

Concurrency:

Not multithread safe.

Resource Use:

No special requirements.

Other Considerations:

None.

Member Function: MFrameInteractionPolicy::MFrameInteractionPolicy

  1. MFrameInteractionPolicy ()
  2. MFrameInteractionPolicy (const MFrameInteractionPolicy &)

Interface Category:

API.

Purpose:

  1. Default constructor.
  2. Copy constructor.

Calling Context:

  1. Called to create an MFrameInteractionPolicy suitable for streaming into.
  2. Called to copy an object.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: MFrameInteractionPolicy::~MFrameInteractionPolicy

virtual ~ MFrameInteractionPolicy ()

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: MFrameInteractionPolicy::StartFrameMove

virtual void StartFrameMove (TMouseDownEvent &, const TGRect & initialBounds, TPrimitiveFrameView :: ERegion)

Interface Category:

API.

Purpose:

Handles the start of a frame move. The default implementation does nothing.

Calling Context:

Called by the frame when an input event is identified as requesting the start of an interaction to move the frame. This function is not normally called directly outside event processing.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

Deriving classes must override this member function.

Member Function: MFrameInteractionPolicy::StartFrameResize

virtual void StartFrameResize (TMouseDownEvent &, const TGRect & initialBounds, TPrimitiveFrameView :: ERegion)

Interface Category:

API.

Purpose:

Handles the start of a frame resize. The default implementation does nothing.

Calling Context:

Called by the frame when an input event is identified as requesting the start of an interaction to resize the frame. This function is not normally called directly outside event processing.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

Deriving classes must override this member function.

Member Function: MFrameInteractionPolicy::IntermediateFrameMove

virtual void IntermediateFrameMove (const TGPoint & newLocation)

Interface Category:

API.

Purpose:

Provides the user with feedback of the frame move operation.

Calling Context:

Called by a frame interactor at intermediate points along the frame's trajectory to give the user feedback of the move operation when live dragging is turned on. Currently live dragging is turned off for existing frame interactors, so this function does not get called. This function is not normally called directly outside the interactor.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

Deriving classes can override this member function to control or constrain the frame move interaction when live dragging is turned on.

Member Function: MFrameInteractionPolicy::IntermediateFrameResize

virtual void IntermediateFrameResize (const TGRect & newBounds)

Interface Category:

API.

Purpose:

Provides the user with feedback of the frame resize operation.

Calling Context:

Called by a frame interactor at intermediate points during the frame's resizing to give the user feedback of the resize operation when live resizing is turned on. Currently live resizing is not enabled for existing frame interactors, so this function does not get called. This function is not normally called directly outside the interactor.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

Deriving classes can override this member function to control or constrain the frame resize interaction when live resizing is enabled.

Member Function: MFrameInteractionPolicy::EndFrameMove

virtual void EndFrameMove (const TGPoint & newLocation)

Interface Category:

API.

Purpose:

Completes the interaction and moves the frame.

Calling Context:

Called by the frame interactor when the frame move interaction has completed to move the frame to its final position. This function is not normally called directly outside the interactor.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

Deriving classes can override this member function to control or constrain the frame move interaction.

Member Function: MFrameInteractionPolicy::EndFrameResize

virtual void EndFrameResize (const TGRect & newBounds)

Interface Category:

API.

Purpose:

Completes the interaction and resizes the frame.

Calling Context:

Called by the frame interactor when resizing interaction for the frame has completed, to set the final size for the frame. This function is not normally called directly outside the interactor.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

Deriving classes can override this member function to control or constrain the frame resize interaction.

Member Function: MFrameInteractionPolicy::HandleFrameSelect

virtual void HandleFrameSelect ()

Interface Category:

API.

Purpose:

Handles the processing and feedback associated with the selection of this frame.

Calling Context:

Called by the frame when the frame is selected through user interaction. This function is not normally called directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

Deriving classes must override this member function.
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.