InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IOwnedItemIBeamData Class Referenceabstract

#include <IOwnedItemIBeamData.h>

Inheritance diagram for IOwnedItemIBeamData:
IPMUnknown

Public Types

enum  { kDefaultIID = IID_IOWNEDITEMIBEAMDATA }
 

Public Member Functions

virtual bool16 GetCursor (PBPMPoint &pt, IControlView *controlView, CursorSpec &spec) const =0
 
virtual ITrackerCreateTracker (const IEvent *event, IControlView *controlView) const =0
 
virtual IPlaceBehaviorQueryPlaceBehavior (PBPMPoint &pt, IControlView *controlView) const =0
 
virtual ITextFrameColumnQueryContainingFrame () const =0
 
- Public Member Functions inherited from IPMUnknown
virtual IPMUnknownQueryInterface (PMIID interfaceID) const =0
 
virtual void AddRef () const =0
 
virtual void Release () const =0
 

Detailed Description

The IBeam Tool looks for this interface on OwnedItems to help it set the appropriate cursor and spawn the appropriate trackers for the OwnedItem.

The core reason it exists is because the Visitor/Helper mechanism assumes that hit items must be UID based objects and Table Cells do not fall into this category. So, for example, the TableFrame, which is a UID based object, returns itself as being hit and the callee must be smart enough to recognize that what was hit was an OwnedItem and look for this interface on the boss to get further information.

Member Function Documentation

virtual ITracker* IOwnedItemIBeamData::CreateTracker (const IEventevent,
IControlViewcontrolView 
) const
pure virtual

Returns a tracker for the Text IBeam Tool which has wandered over the IOwnedItemIBeamData.

Parameters
eventThe event
controlViewThe relevant ControlView
Returns
A pointer to the new tracker object or nil.
virtual bool16 IOwnedItemIBeamData::GetCursor (PBPMPointpt,
IControlViewcontrolView,
CursorSpecspec 
) const
pure virtual

Returns a cursor for the Text IBeam Tool which has wandered over the IOwnedItemIBeamData. If the item fails to return a cursor then the appropriate default IBeam is used.

Parameters
ptPoint Pasteboard coordinates
controlViewPointer to the relevant ControlView
specHow the cursor is returned
Returns
kTrue if a cursor was returned via spec kFalse if no cursor
virtual ITextFrameColumn* IOwnedItemIBeamData::QueryContainingFrame () const
pure virtual

Some callers want to hit the containing MuliColumnTextFrame instead of the sub-objects and this method provides a quick way to getting that context.

Returns
Pointer to TextFrameColumn
virtual IPlaceBehavior* IOwnedItemIBeamData::QueryPlaceBehavior (PBPMPointpt,
IControlViewcontrolView 
) const
pure virtual

Returns a pointer to place behavior object for the specified parameters. Tables use this, for example, to support placing into Table cells.

Parameters
ptPoint Pasteboard coordinates
controlViewPointer to the relevant ControlView
Returns
A pointer to a queried IPlaceBevior, or nil.