Class: TFrameViewInteractionPolicy

Declaration: FrameInteractionPolicy.h

Taxonomy Categories:

Member Functions:


Interface Category:

API.

Inherits From:

MFrameInteractionPolicy, MCollectible

Inherited By:

None.

Purpose:

TFrameViewInteractionPolicy provides a concrete implementation of a frame interaction policy for TPrimitiveFrameView and derived classes that is adopted by calling the frame's AdoptInteractionPolicy function.

Instantiation:

Allocate on the heap or the stack.

Deriving Classes:

Derive classes from TFrameViewInteractionPolicy to provide a customized frame interaction policy for manipulation of frames derived from TPrimitiveFrameView. This class is used to construct a policy object to be adopted by the frame view. Derived classes can control the layout and sizing of frames, and handle the direct selection of a frame on behalf of the container. Classes derived from MFrameInteractionPolicy may override the member functions StartFrameMove, StartFrameResize, IntermediateFrameMove, IntermediateFrameResize, EndFrameMove, and EndFrameResize for control over frame layout and sizing. The function HandleFrameSelect must be overridden to update the container for selection.

Concurrency:

Not multithread safe.

Resource Use:

No special requirements.

Other Considerations:

None.

Member Function: TFrameViewInteractionPolicy::TFrameViewInteractionPolicy

  1. TFrameViewInteractionPolicy (TPrimitiveFrameView *)
  2. TFrameViewInteractionPolicy (const TFrameViewInteractionPolicy &)
  3. TFrameViewInteractionPolicy ()

Interface Category:

API.

Purpose:

  1. Creates an interaction policy object for the specified frame.
  2. Copy constructor.
  3. Default constructor.

Calling Context:

  1. Called to create an interaction policy object for the specified frame.
  2. Called to copy an object.
  3. Called to create an object suitable for streaming into.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TFrameViewInteractionPolicy::~TFrameViewInteractionPolicy

virtual ~ TFrameViewInteractionPolicy ()

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: TFrameViewInteractionPolicy::operator=

TFrameViewInteractionPolicy & operator =(const TFrameViewInteractionPolicy &)

Interface Category:

API.

Purpose:

Assignment operator.

Calling Context:

Called when an object is assigned to another compatible object.

Parameters:

Return Value:

A non-const reference to the left-hand side object.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TFrameViewInteractionPolicy::operator>>=

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

Interface Category:

API.

Purpose:

Stream-out operator.

Calling Context:

Called to stream out data. Called when streaming the frame. This function should not be called directly, except by a derived class, since doing so Flattens a pointer to the frame.

Parameters:

Return Value:

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

Exceptions:

Throws no exceptions, passes all exceptions through

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TFrameViewInteractionPolicy::operator<<=

virtual TStream & operator <<= (TStream &)

Interface Category:

API.

Purpose:

Stream-in operator.

Calling Context:

Called to stream in data. Called when streaming the frame. This function should not be called directly, except by a derived class, since doing so Resurrects a pointer to the frame.

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: TFrameViewInteractionPolicy::SetFrameView

virtual void SetFrameView (TPrimitiveFrameView *)

Interface Category:

API.

Purpose:

Sets the frame view for this object.

Calling Context:

Called to set the frame view associated with this object. Call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TFrameViewInteractionPolicy::GetFrameView

virtual TPrimitiveFrameView * GetFrameView () const

Interface Category:

API.

Purpose:

Returns the frame view associated with this object.

Calling Context:

Called to obtain the frame view associated with this object. Call this function directly.

Parameters:

Return Value:

Returns the frame view associated with this object.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TFrameViewInteractionPolicy::HandleFrameSelect

virtual void HandleFrameSelect ()

Interface Category:

API.

Purpose:

Handles the processing associated with the selection of this frame.

Calling Context:

Called when the frame gets an input event requesting selection. 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 should override this member function to provide additional selection semantics, such as recording the frame as the current selection for the container.

Member Function: TFrameViewInteractionPolicy::StartFrameMove

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

Interface Category:

API.

Purpose:

Handles the start of a frame move. The default implementation starts a TMoveFrameInteractor.

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 may choose to override this member function.

Member Function: TFrameViewInteractionPolicy::StartFrameResize

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

Interface Category:

API.

Purpose:

Handles the start of a frame resize. The default implementation starts a TResizeFrameInteractor.

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 may choose to override this member function.

Member Function: TFrameViewInteractionPolicy::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 the frame move 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 TMoveFrameInteractor, 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 may choose to override this member function to control or constrain the frame move interaction when live dragging is turned on.

Member Function: TFrameViewInteractionPolicy::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 the frame resize 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 TResizeFrameInteractor, 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 may choose to override this member function to control or constrain the frame resize interaction when live resizing is enabled.

Member Function: TFrameViewInteractionPolicy::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 may choose to override this member function to control or constrain the frame move interaction.

Member Function: TFrameViewInteractionPolicy::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 may choose to override this member function to control or constrain the frame resize interaction.
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.