InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IGraphicStyleAttrBossList.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Michael_Martz
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:
24 // When a consumer of this interface changes an attribute owned by this
25 // boss list, it is responsible for calling AttributeChanged(). This is
26 // necessary so that this object can dirty itself when one of the attributes
27 // it manages changes. (The attribute boss list is responsible for the
28 // persistence of its attributes.)
29 //
30 //========================================================================================
31 
32 #ifndef _IGraphicStyle_AttributeBossList_
33 #define _IGraphicStyle_AttributeBossList_
34 //===================================================================================
35 //___________________________________________________________________________________
36 // INCLUDES
37 //___________________________________________________________________________________
38  #include "IPMUnknown.h"
39 //===================================================================================
40 //___________________________________________________________________________________
41 // CLASS DECLARATIONS
42 //___________________________________________________________________________________
54  {
55  //___________________________________________________________________________
56  // Data Types
57  //___________________________________________________________________________
58  public:
61  typedef enum _DuplicateKind
62  {
66 
70  }
72 
73  //___________________________________________________________________________
74  // Object Maintainance
75  //___________________________________________________________________________
80  virtual void MarkPreDirty (ImplementationID impleID = kInvalidImpl, bool16 markDirty = kTrue) = 0;
81 
82  //___________________________________________________________________________
83  // Attribute Utilities
84  //___________________________________________________________________________
85  public:
94  virtual IPMUnknown* QueryAttribute (ClassID attrClass, const PMIID& interfaceID) const = 0;
95 
104  virtual IPMUnknown* QueryAttributeN (uint32 whichAttribute, const PMIID& interfaceID) const = 0;
105 
114  virtual IPMUnknown* CreateAttributeCopy (ClassID attrClass, const PMIID& interfaceID) const = 0;
115 
124  virtual IPMUnknown* CreateAttributeNCopy (uint32 whichAttribute, const PMIID& interfaceID) const = 0;
125 
129  virtual uint32 GetAttributeCount (void) const = 0;
130 
136  virtual ErrorCode DuplicateAttributes (IGraphicStyleAttributeBossList* iAttrListCopy, DuplicateKind whichDupKind) const = 0;
137 
145  virtual ErrorCode AddAttribute (IPMUnknown* iAttrbute) = 0;
146 
154  virtual ErrorCode CopyIntoAttribute (IPMUnknown* iAttrbute) = 0;
155 
161  virtual ErrorCode AttributeChanged (ClassID attrClass) = 0;
162 
170  virtual ErrorCode RemoveAttribute (IPMUnknown* iAttrbute) = 0;
171 
177  virtual ErrorCode RemoveAttribute (ClassID attrClass) = 0;
178 
181  virtual void RemoveEveryAttribute (void) = 0;
182 
187  virtual void CompareAttribute (IPMUnknown* iAttrbute2, bool16* pAttrIsEquivalent, bool16* pAttrInList = nil) const = 0;
188 
193  virtual bool16 AttributeExists (ClassID attrClass) const = 0;
194 
197  virtual void BeginUpdate (void) = 0;
198  virtual void EndUpdate (void) = 0;
199  };
200 
201 #endif // _IGraphicStyle_AttributeBossList_