InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IScriptEventTarget.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Jonathan W. Brown
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // ADOBE CONFIDENTIAL
16 //
17 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
18 //
19 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
20 // with the terms of the Adobe license agreement accompanying it. If you have received
21 // this file from a source other than Adobe, then your use, modification, or
22 // distribution of it requires the prior written permission of Adobe.
23 //
24 //========================================================================================
25 
26 #ifndef __IScriptEventTarget__
27 #define __IScriptEventTarget__
28 
29 #include "IPMUnknown.h"
30 
31 #include "IScriptEventListener.h"
32 
33 class IScriptEvent ;
34 
40 {
41 public:
42  enum { kDefaultIID = IID_ISCRIPTEVENTTARGET };
43 
53  typedef enum { kPreDispatch, kPostDispatch } InitCallbackType ;
54  typedef void (*InitEventCallback)( IScriptEvent* e, InitCallbackType t, void* privateData ) ;
63  virtual void DispatchScriptEvent( ScriptElementID eventID, InitEventCallback initCallback = nil, void* privateData = nil ) = 0 ;
64 
65  //------------------------------------------------------------------------------------------------------
66  // EventListeners
67  //------------------------------------------------------------------------------------------------------
68 
76  virtual bool16 WillTriggerEventListeners( const PMString& eventType, bool16 bubbles ) const = 0 ;
77 
81  virtual int32 GetNumEventListeners() const = 0 ;
82 
87  virtual int32 GetNumEventListeners( const PMString& eventType ) const = 0 ;
88 
94  virtual IScriptEventListener* QueryNthEventListener( int32 n ) const = 0 ;
95 
102  virtual IScriptEventListener* QueryNthEventListener( int32 n, const PMString& eventType ) const = 0 ;
103 
108  virtual void GetEventListeners( ScriptEventListenerList& eventListeners ) const = 0 ;
109 
115  virtual void GetEventListeners( ScriptEventListenerList& eventListeners, const PMString& eventType ) const = 0 ;
116 
122  virtual bool16 AddEventListener( IScriptEventListener* eventListener ) = 0 ;
123 
129  virtual bool16 RemoveEventListener( IScriptEventListener* eventListener ) = 0 ;
130 
137  virtual IScriptEventListener* QueryMatchingEventListener( const PMString& eventType, const ScriptData& handler ) const = 0 ;
138 
144  virtual void SetBusy( const PMString& eventType, bool16 bBusy ) = 0 ;
145 
150  virtual bool16 IsBusy() const = 0 ;
151 
152  //------------------------------------------------------------------------------------------------------
153  // Events
154  //------------------------------------------------------------------------------------------------------
155 
162  virtual int32 GetNumEvents( const ScriptID& type, const RequestContext& context ) const = 0 ;
163 
171  virtual IScriptEvent* QueryNthEvent( int32 n, const ScriptID& type, const RequestContext& context ) const = 0 ;
172 
177  virtual void PushEvent( IScriptEvent* e ) = 0 ;
178 
183  virtual IScriptEvent* PopEvent() = 0 ;
184 };
185 
186 #endif