InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ITracker.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Lonnie Millett
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16 //
17 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18 // with the terms of the Adobe license agreement accompanying it. If you have received
19 // this file from a source other than Adobe, then your use, modification, or
20 // distribution of it requires the prior written permission of Adobe.
21 //
22 //========================================================================================
23 
24 #ifndef __ITRACKER__
25 #define __ITRACKER__
26 
27 #include "PMTypes.h"
28 #include "PMPoint.h"
29 
30 //----------------------------------------------------------------------------------------
31 // Forward Declarations
32 //----------------------------------------------------------------------------------------
33 
34 class IEvent;
35 class IControlView;
36 class ISnapTo;
37 class IItemContext;
38 
39 //----------------------------------------------------------------------------------------
40 // ITracker: Abstract interface for trackers
41 //----------------------------------------------------------------------------------------
42 
46 class ITracker : public IPMUnknown
47 {
48  public:
61  inline void SetupTracker( IControlView* theControlView){ SetupTracker(theControlView, (ISnapTo*)0, (IItemContext*)0);}
62 
77  inline void SetupSpecialTracker( IControlView* theControlView, ISnapTo* theSnapper, IItemContext* context){ SetupTracker(theControlView, theSnapper, context);}
78 
83  virtual IControlView* QueryControlView() const = 0;
84 
89  virtual bool16 IsEnabled() = 0;
90 
95  virtual bool16 IsTracking() = 0; // BeginTracking has been called
96 
103  virtual void EnableTracking() = 0;
104 
108  virtual void DisableTracking() = 0;
109 
114  virtual bool16 BeginTracking(IEvent* theEvent) = 0;
115 
121  virtual void HandleContinueTracking(const GSysPoint& where) = 0;
122 
128  virtual void ContinueTracking(const PBPMPoint& where, bool16 mouseDidMove) = 0;
129 
134  virtual bool16 EndTracking(IEvent* theEvent) = 0;
135 
139  virtual void AbortTracking(IEvent* theEvent) = 0;
140 
144  virtual void TimerMessage(int32 data) = 0;
145 
150  virtual bool16 DoBeginTracking(IEvent* theEvent) = 0;
151 
156  virtual bool16 DoEndTracking(IEvent* theEvent) = 0;
157 
163  virtual void Initialize(IEvent* theEvent) = 0;
164 
165 private:
166 
178  virtual void SetupTracker(IControlView* theControlView, ISnapTo* theSnapper, IItemContext* context) = 0;
179 };
180 
181 #endif