InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IPageItemUtils.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Bernd Paradies
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 __IPageItemUtils__
25 #define __IPageItemUtils__
26 
27 #include "GenericID.h"
28 #include "IPMUnknown.h"
29 #include "Utils.h"
30 
31 class ICommand;
32 class IControlView;
33 class IDataBase;
34 class IDocumentLayer;
35 class IGeometry;
36 class IGraphicFrameData;
37 class IHandleShape;
38 class IHierarchy;
39 class IItemContext;
40 class IPathGeometry;
41 class IScrapItem;
42 class ISpread;
43 class ISubject;
44 class IDocument;
45 class PMUnknownRefList;
46 class UIDList;
48 
49 // Includes
50 #include "PMRect.h"
51 #include "PMLine.h"
52 #include "IGeometry.h"
53 #include "PathSelectionList.h"
54 #include "PMPathPoint.h"
55 #include "K2Vector.h"
56 
65 class IPageItemUtils : public IPMUnknown
66 {
67 public:
68  enum { kDefaultIID = IID_IPAGEITEMUTILS };
69 
72  {
79  };
80 
81 
82 
87  virtual void InvalidatePageItemCache(IDocument * doc, InvalidateCacheType type = kInvalidateAll) const = 0;
88 
93  virtual void InvalidatePageItemCacheForSpread(ISpread *spread, InvalidateCacheType type = kInvalidateAll) const = 0;
94 
95 
104  virtual void NotifyDocumentObservers(IDataBase* iDataBase, ClassID theChange, const PMIID& interestedIn, void* changedBy, LazyNotificationData* data = nil) const = 0;
105 
119  virtual void NotifyDocumentObservers(ISubject* originalSubject, IDataBase* iDataBase, ClassID theChange, const PMIID& interestedIn, void* changedBy, LazyNotificationData* data = nil) const = 0;
120 
126  virtual void GetTextFrameHandlePositions(IHandleShape* shape, PMPoint *point1, PMPoint *point2) const = 0;
127 
128 
134  virtual void SortDisplayList(UIDList *items) = 0;
135 
142  virtual IHierarchy *QueryInlineParentPageItem(IHierarchy *itemHierarchy) const = 0;
143 
152  virtual UID GetFirstPageItemUID(IDataBase *db, UID pageItemUID) const= 0;
153 
159  virtual UIDList* StripIfParentIsLocked(UIDList* items) = 0;
160 
167  virtual IHierarchy* QueryPlacedItemParentPageItem(IHierarchy *itemHierarchy) const = 0;
168 
175  virtual IHierarchy *QueryInlineImmediateParentPageItem(IHierarchy *itemHierarchy) const = 0;
176 };
177 
178 #endif // __IPageItemUtils__