24 #ifndef __IFootnoteSettingsCmdData__ 25 #define __IFootnoteSettingsCmdData__ 27 #include "IPMUnknown.h" 28 #include "ITextAttrStrokeType.h" 29 #include "IWorkspace.h" 30 #include "ISwatchList.h" 31 #include "IStyleNameTable.h" 32 #include "IFootnoteSettings.h" 33 #include "IStyleGroupManager.h" 36 #include "WideString.h" 38 #include "ILayoutUIUtils.h" 39 #include "LocaleSetting.h" 42 #include "InstStrokeFillID.h" 52 enum { kDefaultIID = IID_IFOOTNOTESETTINGSCMDDATA };
56 virtual void GetWhichSettings(bool16* settings, bool16* separator, bool16* continuing)
const = 0;
159 bool16 isCCJK = (LocaleSetting::GetLocale().GetLanguageFS() == kJapaneseLanguageFS);
160 bool16 isCCKOnly = (isCCJK && (LocaleSetting::GetLocale().GetUserInterfaceId() == k_zhCN
161 || LocaleSetting::GetLocale().GetUserInterfaceId() == k_zhTW
162 || LocaleSetting::GetLocale().GetUserInterfaceId() == k_koKR ));
164 fPrefixSuffixUsage = IFootnoteSettings::kPrefixSuffixNone;
165 fSeparator.Append(isCCJK ? kTextChar_IdeographicSpace : kTextChar_Tab);
167 fMarkerStyle = kInvalidUID;
168 fFootnoteStyle = kInvalidUID;
173 fRestartOption = IFootnoteSettings::kDontRestart;
175 fMarkerPositioning = (!isCCJK || isCCKOnly) ? IFootnoteSettings::kPositionSuperscript
176 : IFootnoteSettings::kPositionRuby;
179 fMinFirstLineOffset = 0.0;
182 fFirstLineOffset = Text::kFLOLeading;
184 fEndOfStoryPlacement = kFalse;
185 fNoSplitting = kFalse;
186 fEnableStraddling = kTrue;
219 fPrefixSuffixUsage = other.fPrefixSuffixUsage;
220 fMarkerSuffix = other.fMarkerSuffix;
221 fMarkerPrefix = other.fMarkerPrefix;
222 fSeparator = other.fSeparator;
224 fMarkerStyle = other.fMarkerStyle;
225 fFootnoteStyle = other.fFootnoteStyle;
227 fNumberingMethod = other.fNumberingMethod;
229 fStartingNumber = other.fStartingNumber;
230 fRestartOption = other.fRestartOption;
232 fMarkerPositioning = other.fMarkerPositioning;
234 fGutterHeight = other.fGutterHeight;
235 fSpacerHeight = other.fSpacerHeight;
237 fFirstLineOffset = other.fFirstLineOffset;
238 fMinFirstLineOffset = other.fMinFirstLineOffset;
240 fEndOfStoryPlacement = other.fEndOfStoryPlacement;
241 fNoSplitting = other.fNoSplitting;
242 fEnableStraddling = other.fEnableStraddling;
249 UID defaultStyleUID = paraStyleNameTable->
FindByName(
"NormalParagraphStyle");
250 if (defaultStyleUID == kInvalidUID)
253 fFootnoteStyle = defaultStyleUID;
259 fMarkerStyle = defaultStyleUID;
269 int32 fStartingNumber;
272 PMReal fMinFirstLineOffset;
273 Text::FirstLineOffsetMetric fFirstLineOffset;
278 bool16 fEndOfStoryPlacement;
280 bool16 fEnableStraddling;
292 fColorStroke = kInvalidUID;
293 fColorGap = kInvalidUID;
294 fSeparatorLineOn = kTrue;
299 fOverprintStroke = kFalse;
300 fOverprintGap = kFalse;
321 fStrokeType = other.fStrokeType;
322 fColorStroke = other.fColorStroke;
323 fColorGap = other.fColorGap;
324 fSeparatorLineOn = other.fSeparatorLineOn;
325 fIndentLeft = other.fIndentLeft;
326 fWidth = other.fWidth;
327 fOffset = other.fOffset;
328 fWeightStroke = other.fWeightStroke;
329 fTintStroke = other.fTintStroke;
330 fOverprintStroke = other.fOverprintStroke;
331 fTintGap = other.fTintGap;
332 fOverprintGap = other.fOverprintGap;
341 fColorStroke = blackSwatchUID;
342 fColorGap = noneSwatchUID;
345 bool16 fSeparatorLineOn;
357 bool16 fOverprintStroke;
360 bool16 fOverprintGap;
370 #endif // __IFootnoteSettingsCmdData__