InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IStyleUtils.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 __IStyleUtils__
25 #define __IStyleUtils__
26 
27 #include "IPMUnknown.h"
28 
29 #include "AttributeBossList.h"
30 #include "K2SmartPtr.h"
31 #include "RequestContext.h"
32 #include "TextID.h"
33 #include "Utils.h"
34 
35 class IScript ;
36 class IScriptRequestData ;
37 class IStyleInfo ;
38 class IStyleNameTable ;
39 class IStyleGroupManager;
41 
42 typedef boost::shared_ptr<AttributeBossList> AddAttributeList ;
44 
50 class IStyleUtils : public IPMUnknown
51 {
52 public:
53  enum { kDefaultIID = IID_ISTYLEUTILS };
54 
66  virtual void CreateUniqueName( IStyleNameTable* pStyleTable, PMString& sName, bool16 appendCopy = kFalse) = 0 ;
67 
73  virtual void CreateUniqueName(const IStyleGroupHierarchy* hierarchy, PMString& sName ) = 0 ;
74 
82  virtual ICommand* CreateEditStyleCmd( const ScriptInfo::RequestContext& context, const IStyleInfo* style, const IPMUnknown* addAttribute = nil, ClassID removeAttribute = kInvalidClass ) = 0 ;
83  virtual ICommand* CreateEditStyleCmd( const ScriptInfo::RequestContext& context, const IStyleInfo* style, const AddAttributeList& addAttrList, const RemoveAttributeList& removeAttrList ) = 0 ;
84 
85 
89  virtual IStyleNameTable* QueryStyleNameTable( const IScript* script, const ScriptInfo::RequestContext& context, const ScriptID& desiredType ) = 0 ;
90 
94  virtual IStyleGroupManager* QueryStyleGroupManager(const IScript* script, const ScriptInfo::RequestContext& context, const ScriptID& desiredType ) = 0 ;
95 
99  virtual ErrorCode GetStyleRef( const ScriptInfo::RequestContext& context, IScript* script, const ScriptID& propID, UIDRef& styleRef ) = 0 ;
100 
104  virtual ErrorCode AccessStyle( IScriptRequestData* data, IScript* script, const ScriptID& propID, ScriptID dataLocation, bool16 clearOverrides = kTrue ) = 0 ;
105 
115  virtual bool16 CopyStyle(const IStyleInfo *pFrom, IStyleInfo *pTo, bool16 bCopyInherited ) = 0;
116 
122  virtual void CopyStyleInfo(const IStyleInfo *pFrom, IStyleInfo *pTo) = 0;
123 
130  virtual ICommand* CreateEditStyleCmd( const IStyleInfo* style, const IPMUnknown* addAttribute = nil, ClassID removeAttribute = kInvalidClass ) = 0 ;
131  virtual ICommand* CreateEditStyleCmd( const IStyleInfo* style, const AddAttributeList& addAttrList, const RemoveAttributeList& removeAttrList ) = 0 ;
137  virtual void LogStyleApplied(IDataBase* db, const UID styleUID) = 0 ;
138 
139 };
140 
141 #endif // __IStyleUtils__
142