InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IScriptRunner.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 // 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 __IScriptRunner__
25 #define __IScriptRunner__
26 
27 #include "ScriptingID.h"
28 #include "ScriptData.h"
29 
30 #include "IScriptRequestData.h"
31 
32 class IScriptCoreFunctor ;
33 class RunScriptParams ;
34 
39 class IScriptRunner : public IPMUnknown
40 {
41 public:
42  enum { kDefaultIID = IID_ISCRIPTRUNNER };
43 
48  virtual bool16 CanHandleFile( const IDFile& idFile ) const = 0;
49 
56  virtual ErrorCode RunFile( const IDFile& idFile, const RunScriptParams& params ) = 0;
63  virtual ErrorCode RunScript( const PMString& scriptText, const RunScriptParams& params ) = 0;
70  virtual ErrorCode InvokeFunction( const IScriptCoreFunctor* scriptFunction, const RunScriptParams& params ) = 0 ;
71 
76  virtual ErrorCode EditFile( const IDFile& idFile ) const = 0;
81  virtual ErrorCode ShowFile( const IDFile& idFile ) const = 0;
82 
87  virtual bool16 ScriptHasDescription( const IDFile& idFile ) const = 0;
92  virtual PMString GetScriptDescription( const IDFile& idFile ) const = 0;
93 
98  virtual PMRsrcID GetFileIcon( const IDFile& idFile ) const = 0;
99 
103  virtual bool16 CheckForUserCancel() const = 0;
104 
108  virtual ErrorCode CancelScriptExecution() const = 0;
109 
113  virtual ErrorCode HandleIdleTasks() const = 0;
114 
118  virtual ErrorCode ProcessScheduledCmds() const = 0;
119 
123  virtual bool16 IsScriptRunning() const = 0;
128  virtual ErrorCode GetRunningScriptFile( IDFile& idFile ) const = 0;
129 
140  virtual ErrorCode DisplayErrorMessage( ErrorCode errorNumber, const PMString& errorString,
141  int32 lineNumber, const PMString& sourceCode,
142  const PMString& offendingText, const IDFile& scriptFile ) const = 0 ;
143 };
144 
145 
147 {
148 public:
152  explicit RunScriptParams( IScriptRunner* scriptRunner ) ;
158  RunScriptParams( const RunScriptParams& params, IScriptRunner* scriptRunner ) ;
159  ~RunScriptParams() ;
160 
163 
166  ScriptVersion GetVersion() const { return fVersion ; }
169  void SetVersion( const ScriptVersion& version ) { fVersion = version ; }
170 
172  IScript* QueryTarget() const ;
174  void SetTarget( IScript* target ) ;
175 
177  bool16 GetShowErrorAlert() const { return fShowErrorAlert ; }
179  void SetShowErrorAlert( bool16 showErrorAlert ) { fShowErrorAlert = showErrorAlert ; }
180 
182  bool16 GetInvokeDebugger() const { return fInvokeDebugger ; }
184  void SetInvokeDebugger( bool16 invokeDebugger ) { fInvokeDebugger = invokeDebugger ; }
185 
187  enum UndoMode
188  {
190  kUndoScriptRequest = en_UndoScriptRequest,
193  kUndoEntireScript = en_UndoEntireScript,
196  kFastUndoEntireScript = en_FastUndoEntireScript,
198  kAutoUndoScript = en_AutoUndoScript
199  } ;
200 
202  virtual UndoMode GetUndoMode() const { return fUndoMode ; }
204  virtual void SetUndoMode( UndoMode undoMode ) { fUndoMode = undoMode ; }
205 
207  PMString GetUndoName() const { return fUndoName ; }
209  void SetUndoName( const PMString& undoName ) { fUndoName = undoName ; }
210 
211 private:
212  InterfacePtr<IScriptRequestData> fScriptRequestData ;
213  InterfacePtr<IScript> fTarget ;
214  bool16 fShowErrorAlert ;
215  bool16 fInvokeDebugger ;
216  UndoMode fUndoMode ;
217  PMString fUndoName ;
218  ScriptVersion fVersion ;
219 } ;
220 
221 
222 #endif // __IScriptRunner__