InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IMultiColumnItemData.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Kevin Van Wiel
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 __IMultiColumnItemData__
25 #define __IMultiColumnItemData__
26 
27 #include "IPMUnknown.h"
28 #include "TextID.h"
29 #include "ICompositionStyle.h"
30 #include "IBaselineFrameGridData.h"
31 #include "ITextFrameFootnoteOptions.h"
32 #include "IReferencePointData.h"
33 #include "CTextEnum.h"
34 
35 class ITextColumnSizer;
37 class ITextOptions;
39 
44 {
45  public:
46  enum { kDefaultIID = IID_IMULTICOLUMNDATA};
47 
48  // Called when you have the doc preferences
49  virtual void SetTextFrameOptionsData(ITextOptions *textOptions) = 0;
50  // Called when you have the frame options data from an object style
51  virtual void SetTextFrameOptionsData(ITextFrameOptionsData *textFrameOptionsData) = 0;
52  virtual void SetTextFrameOptionsData(ITextColumnSizer *textColumnSizer) = 0;
53 
54  virtual int32 GetNumberOfColumns() = 0;
55  virtual PMReal GetGutterWidth() = 0;
56  virtual bool16 GetUseFixedColumnSize() = 0;
57  virtual PMReal GetFixedColumnWidth() = 0;
58  virtual bool16 GetUseFlexibleColumnSize() = 0;
59  virtual PMReal GetMaxColumnSize() = 0;
60  virtual void GetFrameInsets(PMReal& left, PMReal& top, PMReal& right, PMReal& bottom) = 0;
61  virtual Text::FirstLineOffsetMetric GetFirstLineOffsetMetric() = 0;
62  virtual PMReal GetMinFirstLineOffset() const = 0;
63  virtual Text::VerticalJustification GetVerticalJustification() = 0;
64  virtual PMReal GetMaxVJInterParaSpace() const = 0;
65  virtual bool16 GetVJBalanceColumns() const = 0;
66  virtual bool16 GetIgnoreTextWrap() const = 0;
67 
68  // Called when you have the doc preferences
69  virtual void SetTextFrameAutoSizeOptionsData(ITextOptions *textOptions) = 0;
70  // Called when you have the frame options data from an object style
71  virtual void SetTextFrameAutoSizeOptionsData(ITextFrameOptionsData *textFrameOptionsData) = 0;
72 
73  virtual Text::AutoSizeDimension GetAutoSizeDimension() const = 0;
74  virtual IReferencePointData::ReferencePointPosition GetAutoSizeRefPoint() const = 0;
75  virtual bool16 GetAutoSizeHasMinHeight() const = 0;
76  virtual PMReal GetAutoSizeMinHeightValue() const = 0;
77  virtual bool16 GetAutoSizeHasMinWidth() const = 0;
78  virtual PMReal GetAutoSizeMinWidthValue() const = 0;
79  virtual bool16 GetAutoSizeNoLineBreak() const = 0;
80 
81  // Called when you have the doc preferences
82  virtual void SetBaselineFrameGridData(IBaselineFrameGridData *baseLineFrameGridData) = 0;
83  // Called when you have the frame options data from an object style
84  virtual void SetBaselineFrameGridData(ITextFrameOptionsData *textFrameOptionsData) = 0;
85 
86  virtual void SetTextFrameFootnoteOptions(ITextFrameFootnoteOptions *textFrameFootnoteOptions) = 0;
87  virtual void SetTextFrameFootnoteOptions(ITextFrameOptionsData *textFrameOptionsData) = 0;
88 
89  virtual bool16 GetUseCustomBaselineGridFlag() const = 0;
90  virtual PMReal GetStartingOffset() const = 0;
91  virtual IBaselineFrameGridData::RelativeOption GetRelativeOption() const = 0;
92  virtual PMReal GetIncrement() const = 0;
93  virtual UID GetBaselineFrameGridColor() const = 0;
94 
95  // Used by object styles when converting from a non-text frame to a text frame
96  virtual void SetInitialParagraphStyle(UID paraStyle) = 0;
97  virtual UID GetInitialParagraphStyle() const = 0;
98 
99  // ddarling 6/23/04 -- I wanted to get rid of these, but they are still using these for specific cases,
100  // I added the above calls for SetTextFrameOptionsData because there was about 25+ places which did exactly
101  // those things, but master pages, InCopy, and TOC still want to have greater control so these are hanging around.
102  virtual void SetNumberOfColumns(int32 number) = 0;
103  virtual void SetGutterWidth(PMReal width) = 0;
104  virtual void SetUseFixedColumnSize(bool16 fixedSize) = 0;
105  virtual void SetFixedColumnWidth(PMReal columnWidth) = 0;
106 
107  // ddarling 6/23/04 -- needed to add this for cases where just the ignore data was being set
108  virtual void SetIgnoreTextWrap(bool16 ignore) = 0;
109 
110  virtual void SetUseFlexibleColumnSize(bool16 flexibleSize) = 0;
111  virtual bool16 GetEnableOverrides() const = 0;
112  virtual bool16 GetSpanFootnotesAcross() const = 0;
113  virtual PMReal GetMinimumSpacing() const = 0;
114  virtual PMReal GetSpaceBetweenFootnotes() const = 0;
115 
116  // Getter for vertical rule
117  virtual bool16 GetUseVerticalRule() const = 0;
118  virtual PMReal GetVerticalRuleOffset() const = 0;
119  virtual PMReal GetVerticalRuleTopInset() const = 0;
120  virtual bool16 GetVerticalRuleInsetChain() const = 0;
121  virtual PMReal GetVerticalRuleBottomInset() const = 0;
122  virtual PMReal GetVerticalRuleStrokeWidth() const = 0;
123  virtual UID GetVerticalRuleStrokeColor() const = 0;
124  virtual ICompositionStyle::StrokeType GetVerticalRuleStrokeType() const = 0;
125  virtual PMReal GetVerticalRuleTint() const = 0;
126  virtual bool16 GetVerticalRuleOverprint()const = 0;
127  virtual void SetVerticalColumnRuleData(IVerticalColumnRuleData *verticalColRuleData) = 0;
128  virtual void SetVerticalColumnRuleData(ITextFrameOptionsData *tfoData) = 0;
129 };
130 
131 #endif /* __IMultiColumnItemData__ */