InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IObjStylesAttrHandler.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Danielle Darling
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 // Note: Handlers the processing of an object style target thru to the model
24 //
25 // Adobe Patent or Adobe Patent Pending Invention Included Within this File
26 //
27 //========================================================================================
28 
29 
30 #ifndef __IObjStylesAttrHander__
31 #define __IObjStylesAttrHander__
32 
33 #include "IPMUnknown.h"
34 #include "ShuksanID.h"
35 #include "GenericID.h"
36 #include "IObjectAttributeList.h" // for ObjectStyleTarget
37 #include "KeyValuePair.h"
38 #include "ISelectionExtension.h" // for ProtocolCollection
39 
40 //
41 // Adobe patent application tracking #B098,
42 // entitled Design a flexible and extensible way to implement object style,
43 // inventors: Danielle Darling, Yeming Liu
44 //
45 
50 
52  {
53 
54  //____________________________________________________________________________________________
55  // Data Types
56  //____________________________________________________________________________________________
57  public:
58  enum { kDefaultIID = IID_IOBJSTYLESATTRHANDLER };
59 
60  enum HowToUseCategories { kApplyAllCategories, kApplyOnlyCheckedCategoriesFromSource, kApplyOnlyUncheckedCategoriesInTarget };
61 
62  //____________________________________________________________________________________________
63  // Member functions
64  //____________________________________________________________________________________________
65  public:
72  virtual void GetFillStyleTargetFromSelectionTarget(const IPMUnknown *modelTarget, IPMUnknown* styleTarget, const IWorkspace *ws) const = 0;
79  virtual void SetStyleAttrsInDefaultSelection(const IPMUnknown* styleTarget, const IWorkspace *ws, K2Vector<ClassID>& categoriesToOverride) = 0;
80 
88  virtual void SetStyleAttrsInUIDList(const UIDList& list, const IPMUnknown* styleTarget, const IWorkspace *ws, K2Vector<ClassID>& categoriesToOverride)= 0;
89 
96  virtual void GetDefaultGraphicFrameStyleAttrs(IPMUnknown* targetBoss, const IWorkspace *ws, const bool16 isRootStyle = kFalse) const = 0;
102  virtual void GetDefaultTextFrameStyleAttrs(IPMUnknown* targetBoss, const IWorkspace *ws) const = 0;
103 
109  virtual void GetDefaultFrameGridStyleAttrs(IPMUnknown* targetBoss, const IWorkspace *ws) const = 0;
110 
119  virtual void SetAttrsInTarget(IPMUnknown* fillTargetBoss, const IPMUnknown* applyTargetBoss, const IPMUnknown* oldTargetBoss, bool16 clearOverrides) = 0;
120 
127  virtual void GetAttrsFromObjectStyle(const UIDRef& objectStyleUIDRef, IPMUnknown* targetBoss, const HowToUseCategories howToUseCat = kApplyAllCategories) = 0;
128 
136  virtual void SetAttrsIntoObjectStyle(const UIDRef& objectStyleUIDRef, const IPMUnknown* targetBoss, const HowToUseCategories howToUseCat = kApplyAllCategories) = 0;
137 
146  virtual void CopyAttrsBetweenObjectStyles(const IWorkspace* sourceWS, const UID& sourceObjectStyle,
147  const IWorkspace* targetWS, const UID& targetObjectStyle) = 0;
154  virtual void MergeAttrsIntoObjectStyle(const IPMUnknown* sourceObjectStyle, const IWorkspace* targetWS,
155  const UID& targetObjectStyle) = 0;
156 
164  virtual bool16 IsStyleOverridenBySelection(const IPMUnknown* modelTargetBoss, const IWorkspace*ws, const IPMUnknown* style, const K2Vector<ClassID> *categories = nil) const = 0;
165 
172  virtual bool16 SelectionContainsMixedOverrides(const IPMUnknown *modelTarget, const IWorkspace* ws, const K2Vector<ClassID> *categories) const = 0;
173 
178  virtual void FillTargetWithAllSupportedAttrCategories(IPMUnknown* targetBoss) = 0;
179 
184  virtual K2Vector<ClassID> GetAcceptedCategories() const = 0;
185 
188  virtual ObjStyleCategoryAttrMap GetOverrideList(const IPMUnknown* modelTargetBoss, const IWorkspace *ws, const IPMUnknown* target,
189  const K2Vector<ClassID> *categories, ObjStyleCategoryNameMap& categoryNameMap) const = 0;
190 
194  virtual ObjStyleCategoryAttrMap GetAcceptedAttributeList(const IPMUnknown* target, const IWorkspace *ws, ObjStyleCategoryNameMap& categoryNameMap) const = 0;
195 
203 
211  virtual void DoAttrConversion(IDataBase* targetDB, IPMUnknown* iTargetStyleAttributes,
212  const IWorkspace *targetWS, IDataBase* sourceDB) = 0;
213 
218  virtual void RemoveStyleAttributes(const UIDRef& styleUIDRef) = 0;
219 
225 
230 
236  virtual void GetCategoryByAttribute(const ClassID& attributeID, ClassID& categoryClass) const = 0;
237 
247  virtual void SetStyleAttrsInUIDListPostAddToHierarchy(const UIDList& list, const IPMUnknown* styleTarget, const IWorkspace *ws, K2Vector<ClassID>& categoriesToOverride)= 0;
248 
249  };
250 
251 #endif // __IObjStylesAttrHandler__
252