InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IObjectStylesUtils.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 
24 #ifndef __IOBJECTSTYLEUTILS__
25 #define __IOBJECTSTYLEUTILS__
26 
27 #include "IPMUnknown.h"
28 #include "GenericID.h"
29 #include "PMString.h"
30 #include "AttributeBossList.h"
31 #include "IObjectAttributeList.h" // for ObjectStyleTarget
32 #include "IStyleNameTable.h"
33 #include "ISelectionExtension.h" // for ProtocolCollection
34 #include "IObjStylesAttrHandler.h"
35 #include "LazyNotificationData.h"
36 #include "IObjStylesAttrHandler.h"
37 #include "IAnchoredObjectData.h"
38 #include "Utils.h"
39 
40 //-----------------------------------
41 // Forward References
42 //
43 class ICommand;
44 
45 // ===================================================================================
46 // class IObjectStylesUtils
47 // ===================================================================================
52 {
53 
54 //-----------------------------------
55 // API
56 //
57 public:
58  // ----- Constants -----
59  enum {kDefaultIID = IID_IOBJECTSTYLESUTILS};
60 
68  virtual void FillStyleTargetFromSelection(const IPMUnknown* modelTargetBoss, IPMUnknown *targetBoss, IWorkspace *ws, bool16 fillInCategories = kTrue) const = 0;
69 
76  virtual void SetStyleTargetOnDefaultSelection(const IPMUnknown* targetBoss, IWorkspace *ws, K2Vector<ClassID>& categoriesToOverride) = 0;
77 
85  virtual void SetStyleTargetOnUIDList(const UIDList& list, const IPMUnknown* targetBoss, IWorkspace *ws, K2Vector<ClassID>& categoriesToOverride) = 0;
86 
93  virtual void GetTargetFromObjectStyle(const UIDRef& objectStyleUIDRef, IPMUnknown* target, UID fillInUncheckedCategoriesWithThisUID = kInvalidUID) = 0;
104  virtual void SetTargetIntoObjectStyle(const UIDRef& objectStyleUIDRef, const IPMUnknown* target, const IObjStylesAttrHandler::HowToUseCategories howToUseCat = IObjStylesAttrHandler::kApplyOnlyCheckedCategoriesFromSource) = 0;
105 
117  virtual void CopyTargetBetweenObjectStyles(IWorkspace *sourceWS, const UID& sourceObjectStyle,
118  IWorkspace *targetWS, const UID& targetObjectStyle) = 0;
128  virtual void MergeAttrsIntoObjectStyle(const IPMUnknown* sourceObjectStyle, IWorkspace *targetWS, const UID& targetObjectStyle) = 0;
129 
136  virtual void FillInDefaultGraphicStyle(IWorkspace *ws, IPMUnknown* target, bool16 isRootStyle = kFalse) = 0;
142  virtual void FillInDefaultTextStyle(IWorkspace *ws, IPMUnknown* target) = 0;
143 
149  virtual void FillInDefaultFrameGridStyle(IWorkspace *ws, IPMUnknown* target) = 0;
150 
157  virtual PMString GetUniqueDuplicateName(IWorkspace* ws, const PMString& baseName) = 0;
158 
168  virtual ICommand* CreateSetDefaultStyleCmd(IWorkspace *ws, const PMString& newDefaultStyleName, bool16 applyAttrs, const IPMUnknown *target, bool16 clearOverrides = kFalse) = 0;
178  virtual ICommand* CreateSetDefaultStyleCmd(IWorkspace *ws, const PMString& newDefaultStyleName, bool16 applyAttrs, const IPMUnknown *target, K2Vector<ClassID>& categoriesToOverride) = 0;
179 
190  virtual ICommand* CreateSetDefaultTextStyleCmd(IWorkspace *ws, const PMString& newDefaultStyleName, bool16 applyAttrs, const IPMUnknown *target, bool16 clearOverrides = kFalse, bool16 bDefaultFrameGridCmd = kFalse) = 0;
191 
202  virtual ICommand* CreateSetDefaultTextStyleCmd(IWorkspace *ws, const PMString& newDefaultStyleName, bool16 applyAttrs, const IPMUnknown *target, K2Vector<ClassID>& categoriesToOverride, bool16 bDefaultFrameGridCmd = kFalse) = 0;
203 
214  virtual ICommand* CreateSetDefaultFrameGridStyleCmd(IWorkspace *ws, const PMString& newDefaultStyleName, bool16 applyAttrs, const IPMUnknown *target, bool16 clearOverrides = kFalse, bool16 bDefaultFrameGridCmd = kTrue) = 0;
215 
226  virtual ICommand* CreateSetDefaultFrameGridStyleCmd(IWorkspace *ws, const PMString& newDefaultStyleName, bool16 applyAttrs, const IPMUnknown *target, K2Vector<ClassID>& categoriesToOverride, bool16 bDefaultFrameGridCmd = kTrue) = 0;
227 
236  virtual bool16 IsStyleOverridenBySelection(const IPMUnknown* modelTargetBoss, const IWorkspace*ws, const IPMUnknown* style, const K2Vector<ClassID> *categories = nil) = 0;
237 
247  virtual ObjStyleCategoryAttrMap GetSelectionOverridesToStyle(const IPMUnknown* modelTargetBoss, const IWorkspace*ws, const UID styleUID, ObjStyleCategoryNameMap& categoryNameMap, const K2Vector<ClassID> *categories = nil) = 0;
248 
256  virtual bool16 SelectionContainsMixedOverrides(const IPMUnknown* modelTargetBoss, const IWorkspace* ws, const K2Vector<ClassID> *categories = nil) = 0;
257 
269  virtual void SetAttrsInTarget(IPMUnknown* fillTargetBoss, const IPMUnknown* applyTargetBoss, const IPMUnknown* oldTargetBoss, const IWorkspace *ws, bool16 clearOverrides) = 0;
270 
275  virtual void FillStyleTargetWithAllSupportedCategories(IPMUnknown *targetBoss) const = 0;
276 
283  virtual void FillStyleTargetCategoriesFromStyle(const UIDRef& styleUIDRef, IPMUnknown *targetBoss) = 0;
284 
292  virtual bool16 CanItemsBreakLinkFromObjectStyles(IWorkspace* ws, const UIDList& itemList) = 0;
293 
301  virtual bool16 CanBaseStyleOnStyle(IWorkspace* ws, UID style1, UID style2) const = 0;
302 
308  virtual IWorkspace* QueryWorkspaceFromDataBase(IDataBase* db) const = 0;
309 
314  virtual void RemoveStyleAttributes(const UIDRef& styleUIDRef) const = 0;
315 
320  virtual K2Vector<ClassID> GetCateogryList() const = 0;
321 
328 
335  virtual void NotifyObjectStyleInfoChanged(const UIDList* itemList, ICommand *cmd, ClassID cmdClassID, const LazyNotificationData* data = nil) const = 0;
336 
342  virtual void NotifyObjectStyleNameTableChanged(const UIDList* itemList, ICommand *cmd, ClassID cmdClassID = kInvalidClass, const LazyNotificationData* data = nil) const = 0;
343 
349 
355 
361  virtual bool16 IsReservedObjectStyleName(const PMString& styleName) const = 0;
362 
366  virtual void GetFormattedString(const PMReal& value, const bool16& bHorizontal, const IWorkspace* ws, PMString& outString) = 0;
367 
373  virtual void FixTextStylesInDefaultObjectStyles(IWorkspace *ws) = 0;
374 
382  virtual bool16 IsItemWithCategoryAppliedByObjectStyle(const UIDRef& item, const ClassID& categoryClass, UIDRef& objectStyleUIDRef) const = 0;
383 
389  virtual IObjStylesAttrHandler* QueryObjectStyleHandler(const ClassID& handlerClass) const = 0;
390 
397  virtual bool16 DoesItemHaveSameTextAttrsWithObjectStyle(const UIDRef& item, const ClassID& category) const = 0;
398 
408  virtual void SetStyleAttrsInUIDListPostAddToHierarchy(const UIDList& list, const IPMUnknown* styleTarget, const IWorkspace *ws, K2Vector<ClassID>& categoriesToOverride)= 0;
409 
410 };
411 
412 #endif // define
413 
414 
415 
416