![]() | InDesign SDK 20.5 |
#include <ITrackerFactory.h>
Public Types | |
| enum | { kDefaultIID = IID_ITRACKERFACTORY } |
Public Member Functions | |
| virtual void | Startup ()=0 |
| virtual void | InstallTracker (ClassID widgetID, ClassID toolID, ClassID trackerID)=0 |
| virtual void | RemoveTracker (ClassID widgetID, ClassID toolID)=0 |
| virtual bool16 | HasTracker (ClassID widgetID, ClassID toolID)=0 |
| virtual ITracker * | QueryTracker (ClassID widgetID, ClassID toolID)=0 |
Public Member Functions inherited from IPMUnknown | |
| virtual IPMUnknown * | QueryInterface (PMIID interfaceID) const =0 |
| virtual void | AddRef () const =0 |
| virtual void | Release () const =0 |
Abstract interface for the tracker factory. There is a single implementation of this interface installed on the kSessionBoss. It handles installing all trackers, which get registered via the ITrackerRegister interface.
Provides an extensible mechanism for creating new tracking behavior. Trackers are uniquely identified by two classIDs. These IDs usually identify the context in which the tracker will be created. For example the tracker that is used for rotation of page items is installed with a widgetID of kLayoutWidgetBoss, a toolID of kRotateToolBoss. When a mouse down occurs in the layout widget and the active tool is the rotate tool, a tracker with a class of kRotateTrackerBoss will be created. Trackers can be installed on the fly with Install or at startup with ITrackerRegister.
Determine if a tracker has already been installed with these ID values.
| widgetID | [IN] the widget associated with this tracker. |
| toolID | [IN] the tool the tracker is associated with. |
| pure virtual |
Install a tracker with the indicated widgetID and toolID. These can be any ID values and are not required to be IDs of actual widgets or tools.
| widgetID | [IN] the widget associated with this tracker. |
| toolID | [IN] the tool the tracker is associated with. If not associated with a toolbox tool (e.g. a widget tracker) just use the same value as widgetID. |
| trackerID | [IN] the boss ID for the tracker. |
Returns an instantiated tracker if registered
| widgetID | [IN] the widget associated with this tracker. |
| toolID | [IN] the tool the tracker is associated with. |
Remove the tracker if it exists
| widgetID | [IN] the widget associated with this tracker. |
| toolID | [IN] the tool the tracker is associated with. |
| pure virtual |
Registers all trackers for classes that implement the ITrackerRegister interface