InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IOutputPages.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: DBerggren
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 // an interface to be used off of export commands
24 // to output multiple pages from multiple open pubs -
25 // basically a UIDRef list for outputing pages
26 // from multiple open pubs (possibly from a book)
27 //
28 //========================================================================================
29 
30 #ifndef __IOutputPages__
31 #define __IOutputPages__
32 
33 #include "IPMUnknown.h"
34 #include "DocFrameworkID.h"
35 #include "UIDRef.h"
36 #include "PMRect.h"
37 #include "PMString.h"
38 #include "UIDList.h"
39 
40 class IDataBase;
41 class IPMStream;
42 
57 class IOutputPages : public IPMUnknown
58 {
59  public:
60  enum { kDefaultIID = IID_IOUTPUTPAGES };
61 
62  // -----------------------------
63  // Start/End
64  // -----------------------------
73  virtual void Start() = 0;
74 
82  virtual void End() = 0;
83 
84  // -----------------------------
85  // Master Database
86  // -----------------------------
95  virtual IDataBase* GetMasterDataBase(void) = 0;
96 
100  virtual void SetMasterDataBase(IDataBase* iDataBase) = 0;
101 
102 
103  // -----------------------------
104  // IsSpreads
105  // -----------------------------
112  virtual bool16 GetIsSpreads(void) const = 0;
113 
117  virtual void SetIsSpreads(const bool16 bIsSpreads) = 0;
118 
119  // -----------------------------
120  // Which pages/spreads to output methods
121  // -----------------------------
127  virtual void InitializeFrom( const UIDList& listPages, bool16 bSpreads ) = 0;
128 
134  virtual void InsertOutputPageUIDRef(const UIDRef& uidRef) = 0;
135 
141  virtual void AppendOutputPageUIDRef(const UIDRef& uidRef) = 0;
142 
152  virtual void AppendOutputPageUIDRef2(const UIDRef& uidRef, const IDFile* sysFile, const PMRect& pageBounds) = 0;
153 
157  virtual void RemoveUIDRef(const int32 index) = 0;
158 
161  virtual void Clear(void) = 0;
162 
166  virtual int32 Location(const UIDRef& uidRef) const = 0;
167 
171  virtual int32 Number(void) const = 0;
172 
182  virtual UIDRef GetNthUIDRef(const int32 index, bool16 bValidateDataBase = kTrue) const = 0;
183 
189  virtual IDFile* GetNthSysFile(const int32 index) = 0;
190 
195  virtual void SetNthOutputPageBounds(const int32 index, const PMRect& pageBounds) = 0;
196 
203  virtual PMRect GetNthOutputPageBounds(const int32 index) const = 0;
204 
205  // -----------------------------
206  // Page information methods
207  // -----------------------------
211  virtual bool16 GetContiguousPages(void) const = 0;
212 
216  virtual void SetContiguousPages(const bool16 bContiguousPages) = 0;
217 
223  virtual bool16 GetUniformSizePages(void) = 0;
224 
231  virtual void SetUniformSizePages(const bool16 bUniformSizePages) = 0;
232 
233  // -----------------------------
234  // Document/Book name methods
235  // -----------------------------
240  virtual void GetName(PMString& name) const = 0;
241 
245  virtual void SetName(const PMString& name) = 0;
246 
247  // -----------------------------
248  // Output stream methods
249  // -----------------------------
254  virtual IPMStream* GetOutputStream(void) const = 0;
255 
259  virtual void SetOutputStream(IPMStream *outputStream) = 0;
260 
261  // -----------------------------
262  // Utility methods
263  // -----------------------------
267  virtual void Copy(IOutputPages* other) = 0;
268 
274  virtual void InitializeFrom( IOutputPages* pSrc, bool16 bConvertToSpreads ) = 0;
275 
280  virtual void SetOutputFile(IDFile& sysFile, bool16 validFile = kFalse) = 0;
281 
287  virtual IDFile GetOutputFile(bool16& isValidOutputFile) = 0;
288 
292  virtual void ReverseOrder() = 0;
293 };
294 
295 #endif // __IOutputPages__