InDesign SDK
20.5
InDesign SDK
Documentation
Bosses
Sample plug-ins
Class Index
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
IAttributePrePost.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: This interface is optional on graphic and text attributes. If it is present,
24
// the apply attribute commands will call PreXxxxApply() before the attribute is
25
// applied and PostXxxxApply() afterwards.
26
// For graphic attributes the IClassIDListData* is used to notify the graphic
27
// state of the attributes that were changed within the Pre and Post member
28
// functions. It is a list of ClassIDs. If the implementation needs to process a
29
// command to alter the page item, it should turn off that command's DoNotify()
30
// and instead append its classID list to the passed in IClassIDListData*, using
31
// TransferAttributesModified().
32
//
33
//========================================================================================
34
35
#ifndef _IAttributePrePost_
36
#define _IAttributePrePost_
37
//========================================================================================
38
//________________________________________________________________________________________
39
// INCLUDES
40
//________________________________________________________________________________________
41
#include "IPMUnknown.h"
42
#include "GraphicStylesID.h"
43
#include "UIDList.h"
44
#include "K2Vector.h"
45
//========================================================================================
46
//________________________________________________________________________________________
47
// CLASS FORWARDS
48
//________________________________________________________________________________________
49
class
IClassIDListData
;
50
class
IDataBase
;
51
class
IFocusCache
;
52
class
ITextModel
;
53
//________________________________________________________________________________________
54
// CLASS DECLARATIONS
55
//________________________________________________________________________________________
56
61
class
IAttributePrePost
:
public
IPMUnknown
62
{
63
//____________________________________________________________________________________
64
// Data Types
65
//____________________________________________________________________________________
66
public
:
67
enum
{ kDefaultIID = IID_IATTRIBUTE_PREPOST_ACTION };
68
69
enum
ActionType
70
{
73
kAction_Nothing
= 0,
76
kAction_NothingLocalMetaData
,
79
kAction_AddOverride
,
82
kAction_RemoveOverride
,
85
kAction_ChangeOverride
86
};
87
//____________________________________________________________________________________
88
// Member Functions
89
//____________________________________________________________________________________
90
public
:
98
virtual
void
PreGraphicApply
(
K2Vector<IPMUnknown*>
* newAttributeList,
99
K2Vector<ActionType>
* actionList,
100
UIDList
* pageItemList,
101
IClassIDListData
* modifiedAttrClassList,
102
K2Vector<IPMUnknown*>
* origAttributeList) = 0;
103
111
virtual
UIDList
*
PostGraphicApply
(
K2Vector<IPMUnknown*>
* newAttributeList,
112
K2Vector<ActionType>
* actionList,
113
UIDList
* pageItemList,
114
IClassIDListData
* modifiedAttrClassList,
115
K2Vector<IPMUnknown*>
* origAttributeList) = 0;
116
123
virtual
void
PreTextApply
(
ITextModel
*model, TextIndex start, int32 len,
IFocusCache
*listOfAll)
const
= 0;
130
virtual
void
PostTextApply
(
ITextModel
*model, TextIndex start, int32 len,
IFocusCache
*listOfAll)
const
= 0;
131
};
132
133
DECLARE_BASE_TYPE(
IAttributePrePost::ActionType
);
134
135
#endif // _IAttributePrePost_
tmpdoxygeninput
IAttributePrePost.h
Generated on Sat Jul 19 2025 02:54:12 for InDesign SDK by
1.8.3.1