InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ITableAttrReport.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Joe Shankar
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 __ITableAttrReport__
25 #define __ITableAttrReport__
26 
27 #include "IPMUnknown.h"
28 #include "TablesID.h"
29 
34 {
35 public:
36  enum { kDefaultIID = IID_ITABLEATTRREPORT };
37 
38  enum EAttributeType { eRow, eColumn, eCell, eTable };
39 
40  enum ETableDamageNotification
41  {
42  tan_geometry_first = 0x00000001, // space before
43  tan_geometry_last = 0x00000002, // space after
44  tan_bodyDraw = 0x00000004, // inval body rows
45  tan_allDraw = 0x0000000c, // + header/footer rows
46  tan_bodyTopBottomInval = 0x00000010, // body ink may have changed
47  tan_bodyTopBottomStroke = 0x00000030, // + body effective weight
48  tan_allTopBottomInval = 0x00000050, // + h/f
49  tan_allTopBottomStroke = 0x000000f0, // + h/f
50  tan_allLeftRightInval = 0x00000100, // all ink may have changed
51  tan_bodyStructure = 0x00000200, // body row structure
52  tan_allStructure = 0x00000600, // + header/footer rows
53  tan_headerGeometry = 0x00000800, // skip/start on attr
54  tan_footerGeometry = 0x00001000, // skip/start on attr
55  tan_outerLeftDraw = 0x00002000, // inval left outer stroke
56  tan_outerLeftInval = 0x00004000, // ink may have changed
57  tan_outerLeftStroke = 0x0000c000, // + effective weight changed
58  tan_outerTopDraw = 0x00010000, // inval top outer stroke
59  tan_outerTopInval = 0x00020000, // ink may have changed
60  tan_outerTopStroke = 0x00060000, // + effective weight changed
61  tan_outerRightDraw = 0x00080000, // inval right outer stroke
62  tan_outerRightInval = 0x00100000, // ink may have changed
63  tan_outerRightStroke = 0x00300000, // + effective weight changed
64  tan_outerBottomDraw = 0x00400000, // inval bottom outer stroke
65  tan_outerBottomInval = 0x00800000, // ink may have changed
66  tan_outerBottomStroke = 0x01800000, // + effective weight changed
67 
68  tan_all = 0x01b6bff3 // everything but draw
69  };
70 
71  enum ERowDamageNotification
72  {
73  ran_geometry = 0x01, // positioning attribute (ex: breakAt) chngd
74  ran_structure = 0x02, // structure attribute changed
75  ran_height = 0x07, // + row height property changed
76 
77  ran_all = 0x07
78  };
79 
80  enum EColumnDamageNotification
81  {
82  can_structure = 0x01, // structure attribute changed
83  can_width = 0x03, // + width of the column changed
84 
85  can_all = 0x03
86  };
87 
88  enum ECellDamageNotification
89  {
90  clan_draw = 0x0001, // draw attribute changed
91  clan_inval = 0x0002, // stroke ink changed
92  clan_content = 0x0004, // content attribute changed
93  clan_structure = 0x0008, // structure attribute changed
94  clan_leftStroke = 0x001a, // + inval + left effective weight changed
95  clan_topStroke = 0x002a, // + inval + top effective weight changed
96  clan_rightStroke = 0x004a, // + inval + right effective weight changed
97  clan_bottomStroke = 0x008a, // + inval + bottom effective weight changed
98 
99  clan_all = 0x00fe // everything but draw
100  };
101 
106  virtual void AppendDescription(PMString& into, IDataBase* db) const = 0;
107 
111  virtual EAttributeType GetType(void) const = 0;
112 
116  virtual int32 GetDamageNotification(void) const = 0;
117  //
118 
119  //virtual void ExtractAttr(/* Need to define and pass in data collector interfaces here.
120  // e.g. ITableDrawStyle* drawStyle etc.*/) const = 0;
121 };
122 
123 ITableAttrReport::ECellDamageNotification& operator|=(ITableAttrReport::ECellDamageNotification& obj, ITableAttrReport::ECellDamageNotification v);
124 
125 ITableAttrReport::ETableDamageNotification& operator|=(ITableAttrReport::ETableDamageNotification& obj, ITableAttrReport::ETableDamageNotification v);
126 
127 ITableAttrReport::EColumnDamageNotification& operator|=(ITableAttrReport::EColumnDamageNotification& obj, ITableAttrReport::EColumnDamageNotification v);
128 
129 ITableAttrReport::ERowDamageNotification& operator|=(ITableAttrReport::ERowDamageNotification& obj, ITableAttrReport::ERowDamageNotification v);
130 
131 
132 #endif // __ITableAttrReport__