OfficeVba/docx/paragraphformat/TSDocxParagraphFormat.tsf

718 lines
22 KiB
Plaintext

Type TSDocxParagraphFormat = Class(TSVbaBase)
Uses TSDocxEnumerations;
public
Function Init(docx, pPr);
Function Apply();virtual;
Function ReWrite(pr);virtual;
protected
docx_;
pr_; // TOfficeObj("TwpPr")
public
// Methods
Function CloseUp();virtual;
Function IndentCharWidth(Count);virtual;
Function IndentFirstLineCharWidth(Count);virtual;
Function OpenOrCloseUp();virtual;
Function OpenUp();virtual;
Function Reset();virtual;
Function Space1();virtual;
Function Space15();virtual;
Function Space2();virtual;
Function TabHangingIndent(Count);virtual;
Function TabIndent(Count);virtual;
// Properties
property AddSpaceBetweenFarEastAndAlpha read ReadAddSpaceBetweenFarEastAndAlpha write WriteAddSpaceBetweenFarEastAndAlpha;
property AddSpaceBetweenFarEastAndDigit read ReadAddSpaceBetweenFarEastAndDigit write WriteAddSpaceBetweenFarEastAndDigit;
property Alignment read ReadAlignment write WriteAlignment;
property AutoAdjustRightIndent read ReadAutoAdjustRightIndent write WriteAutoAdjustRightIndent;
property BaseLineAlignment read ReadBaseLineAlignment write WriteBaseLineAlignment;
property Borders read ReadBorders;
property CharacterUnitFirstLineIndent read ReadCharacterUnitFirstLineIndent write WriteCharacterUnitFirstLineIndent;
property CharacterUnitLeftIndent read ReadCharacterUnitLeftIndent write WriteCharacterUnitLeftIndent;
property CharacterUnitRightIndent read ReadCharacterUnitRightIndent write WriteCharacterUnitRightIndent;
property CollapsedByDefault read ReadCollapsedByDefault write WriteCollapsedByDefault;
property DisableLineHeightGrid read ReadDisableLineHeightGrid write WriteDisableLineHeightGrid;
property Duplicate read ReadDuplicate;
property FarEastLineBreakControl read ReadFarEastLineBreakControl write WriteFarEastLineBreakControl;
property FirstLineIndent read ReadFirstLineIndent write WriteFirstLineIndent;
property HalfWidthPunctuationOnTopOfLine read ReadHalfWidthPunctuationOnTopOfLine write WriteHalfWidthPunctuationOnTopOfLine;
property HangingPunctuation read ReadHangingPunctuation write WriteHangingPunctuation;
property Hyphenation read ReadHyphenation write WriteHyphenation;
property KeepTogether read ReadKeepTogether write WriteKeepTogether;
property KeepWithNext read ReadKeepWithNext write WriteKeepWithNext;
property LeftIndent read ReadLeftIndent write WriteLeftIndent;
property LineSpacing read ReadLineSpacing write WriteLineSpacing;
property LineSpacingRule read ReadLineSpacingRule write WriteLineSpacingRule;
property LineUnitAfter read ReadLineUnitAfter write WriteLineUnitAfter;
property LineUnitBefore read ReadLineUnitBefore write WriteLineUnitBefore;
property MirrorIndents read ReadMirrorIndents write WriteMirrorIndents;
property NoLineNumber read ReadNoLineNumber write WriteNoLineNumber;
property OutlineLevel read ReadOutlineLevel write WriteOutlineLevel;
property PageBreakBefore read ReadPageBreakBefore write WritePageBreakBefore;
property ReadingOrder read ReadReadingOrder write WriteReadingOrder;
property RightIndent read ReadRightIndent write WriteRightIndent;
property Shading read ReadShading;
property SpaceAfter read ReadSpaceAfter write WriteSpaceAfter;
property SpaceAfterAuto read ReadSpaceAfterAuto write WriteSpaceAfterAuto;
property SpaceBefore read ReadSpaceBefore write WriteSpaceBefore;
property SpaceBeforeAuto read ReadSpaceBeforeAuto write WriteSpaceBeforeAuto;
property Style read ReadStyle write WriteStyle;
property TabStops read ReadTabStops write WriteTabStops;
property TextboxTightWrap read ReadTextboxTightWrap write WriteTextboxTightWrap;
property WidowControl read ReadWidowControl write WriteWidowControl;
property WordWrap read ReadWordWrap write WriteWordWrap;
Function WriteWordWrap(value);virtual;
Function ReadWordWrap();virtual;
Function WriteWidowControl(value);virtual;
Function ReadWidowControl();virtual;
Function WriteTextboxTightWrap(value);virtual;
Function ReadTextboxTightWrap();virtual;
Function WriteTabStops(value);virtual;
Function ReadTabStops();virtual;
Function WriteStyle(value);virtual;
Function ReadStyle();virtual;
Function WriteSpaceBeforeAuto(value);virtual;
Function ReadSpaceBeforeAuto();virtual;
Function WriteSpaceBefore(value);virtual;
Function ReadSpaceBefore();virtual;
Function WriteSpaceAfterAuto(value);virtual;
Function ReadSpaceAfterAuto();virtual;
Function WriteSpaceAfter(value);virtual;
Function ReadSpaceAfter();virtual;
Function ReadShading();virtual;
Function WriteRightIndent(value);virtual;
Function ReadRightIndent();virtual;
Function WriteReadingOrder(value);virtual;
Function ReadReadingOrder();virtual;
Function WritePageBreakBefore(value);virtual;
Function ReadPageBreakBefore();virtual;
Function WriteOutlineLevel(value);virtual;
Function ReadOutlineLevel();virtual;
Function WriteNoLineNumber(value);virtual;
Function ReadNoLineNumber();virtual;
Function WriteMirrorIndents(value);virtual;
Function ReadMirrorIndents();virtual;
Function WriteLineUnitBefore(value);virtual;
Function ReadLineUnitBefore();virtual;
Function WriteLineUnitAfter(value);virtual;
Function ReadLineUnitAfter();virtual;
Function WriteLineSpacingRule(value);virtual;
Function ReadLineSpacingRule();virtual;
Function WriteLineSpacing(value);virtual;
Function ReadLineSpacing();virtual;
Function WriteLeftIndent(value);virtual;
Function ReadLeftIndent();virtual;
Function WriteKeepWithNext(value);virtual;
Function ReadKeepWithNext();virtual;
Function WriteKeepTogether(value);virtual;
Function ReadKeepTogether();virtual;
Function WriteHyphenation(value);virtual;
Function ReadHyphenation();virtual;
Function WriteHangingPunctuation(value);virtual;
Function ReadHangingPunctuation();virtual;
Function WriteHalfWidthPunctuationOnTopOfLine(value);virtual;
Function ReadHalfWidthPunctuationOnTopOfLine();virtual;
Function WriteFirstLineIndent(value);virtual;
Function ReadFirstLineIndent();virtual;
Function WriteFarEastLineBreakControl(value);virtual;
Function ReadFarEastLineBreakControl();virtual;
Function ReadDuplicate();virtual;
Function WriteDisableLineHeightGrid(value);virtual;
Function ReadDisableLineHeightGrid();virtual;
Function WriteCollapsedByDefault(value);virtual;
Function ReadCollapsedByDefault();virtual;
Function WriteCharacterUnitRightIndent(value);virtual;
Function ReadCharacterUnitRightIndent();virtual;
Function WriteCharacterUnitLeftIndent(value);virtual;
Function ReadCharacterUnitLeftIndent();virtual;
Function WriteCharacterUnitFirstLineIndent(value);virtual;
Function ReadCharacterUnitFirstLineIndent();virtual;
Function ReadBorders(index);virtual;
Function WriteBaseLineAlignment(value);virtual;
Function ReadBaseLineAlignment();virtual;
Function WriteAutoAdjustRightIndent(value);virtual;
Function ReadAutoAdjustRightIndent();virtual;
Function WriteAlignment(value);virtual;
Function ReadAlignment();virtual;
Function WriteAddSpaceBetweenFarEastAndDigit(value);virtual;
Function ReadAddSpaceBetweenFarEastAndDigit();virtual;
Function WriteAddSpaceBetweenFarEastAndAlpha(value);virtual;
Function ReadAddSpaceBetweenFarEastAndAlpha();virtual;
End;
// ============== 实现 ================= //
Function TSDocxParagraphFormat.Init(docx, pPr);
Begin
docx_ := docx;
pr_ := pPr;
End;
Function TSDocxParagraphFormat.Apply();virtual;
Begin
pr_.Update("first");
End;
Function TSDocxParagraphFormat.ReWrite(pr);virtual;
Begin
self.Reset();
rpr := pr.Root().FirstChildElement("w:pPr");
if not ifObj(rpr) then return;
marshal := rPr.Marshal()[0];
node := class(TSXml).GetNode(pr_.Root(), "w:pPr", "first");
class(TSXml).UpdateNode(node, marshal["attributes"], marshal["children"]);
End;
// Methods
Function TSDocxParagraphFormat.CloseUp();virtual;
Begin
self.SpaceBefore := 0;
End;
Function TSDocxParagraphFormat.IndentCharWidth(Count);virtual;
Begin
pr_.LeftIndent := Count * 210;
End;
Function TSDocxParagraphFormat.IndentFirstLineCharWidth(Count);virtual;
Begin
self.FirstLineIndent := Count;
End;
Function TSDocxParagraphFormat.OpenOrCloseUp();virtual;
Begin
self.SpaceBefore := self.SpaceBefore > 0 ? 0 : 12;
End;
Function TSDocxParagraphFormat.OpenUp();virtual;
Begin
self.SpaceBefore := 12;
End;
Function TSDocxParagraphFormat.Reset();virtual;
Begin
pr_.Delete();
End;
Function TSDocxParagraphFormat.Space1();virtual;
Begin
self.LineSpacingRule := TSDocxEnumerations.wdLineSpaceSingle();
End;
Function TSDocxParagraphFormat.Space15();virtual;
Begin
self.LineSpacingRule := TSDocxEnumerations.wdLineSpace1pt5();
End;
Function TSDocxParagraphFormat.Space2();virtual;
Begin
self.LineSpacingRule := TSDocxEnumerations.wdLineSpaceDouble();
End;
// property
Function TSDocxParagraphFormat.WriteWordWrap(value);virtual;
Begin
pr_.WordWrap := value ? true : false;
End;
Function TSDocxParagraphFormat.ReadWordWrap();virtual;
Begin
return pr_.Value("WordWrap");
End;
Function TSDocxParagraphFormat.WriteWidowControl(value);virtual;
Begin
pr_.WidowControl := value ? true : false;
End;
Function TSDocxParagraphFormat.ReadWidowControl();virtual;
Begin
return pr_.Value("WidowControl");
End;
Function TSDocxParagraphFormat.WriteTextboxTightWrap(value);virtual;
Begin
case value of
TSDocxEnumerations.wdTightAll():
pr_.TextboxTightWrap := "allLines";
TSDocxEnumerations.wdTightFirstAndLastLines():
pr_.TextboxTightWrap := "firstAndLastLine";
TSDocxEnumerations.wdTightFirstLineOnly():
pr_.TextboxTightWrap := "firstLineOnly";
TSDocxEnumerations.wdTightLastLineOnly():
pr_.TextboxTightWrap := "LastLineOnly";
TSDocxEnumerations.wdTightNone():
pr_.TextboxTightWrap := "none";
end;
End;
Function TSDocxParagraphFormat.ReadTextboxTightWrap();virtual;
Begin
value := pr_.Value("TextboxTightWrap");
case value of
"allLines":
return TSDocxEnumerations.wdTightAll();
"firstAndLastLine":
return TSDocxEnumerations.wdTightFirstAndLastLines();
"firstLineOnly":
return TSDocxEnumerations.wdTightFirstLineOnly();
"LastLineOnly":
return TSDocxEnumerations.wdTightLastLineOnly();
"none", nil:
return TSDocxEnumerations.wdTightNone();
end;
End;
Function TSDocxParagraphFormat.WriteStyle(value);virtual;
Begin
obj := docx_.StyleObject().GetStyle(value);
if not obj then obj := docx_.StyleObject().AddDefaultStyle(value);
pr_.StyleId := obj.StyleId;
End;
Function TSDocxParagraphFormat.ReadStyle();virtual;
Begin
id := pr_.Value("StyleId", 1);
obj := docx_.StyleObject().GetStyleById(id);
return obj.Name;
End;
Function TSDocxParagraphFormat.WriteSpaceBeforeAuto(value);virtual;
Begin
pr_.SpaceBeforeAuto := value ? true : false;
End;
Function TSDocxParagraphFormat.ReadSpaceBeforeAuto();virtual;
Begin
return pr_.Value("SpaceBeforeAuto") ? true : false;
End;
Function TSDocxParagraphFormat.WriteSpaceBefore(value);virtual;
Begin
pr_.SpaceBefore := value * 20;
End;
Function TSDocxParagraphFormat.ReadSpaceBefore();virtual;
Begin
return pr_.Value("SpaceBefore") / 20;
End;
Function TSDocxParagraphFormat.WriteSpaceAfterAuto(value);virtual;
Begin
pr_.SpaceAfterAuto := value ? true : false;
End;
Function TSDocxParagraphFormat.ReadSpaceAfterAuto();virtual;
Begin
return pr_.Value("SpaceAfterAuto") ? true : false;
End;
Function TSDocxParagraphFormat.WriteSpaceAfter(value);virtual;
Begin
pr_.SpaceAfter := value * 20;
End;
Function TSDocxParagraphFormat.ReadSpaceAfter();virtual;
Begin
return pr_.Value("SpaceAfter") / 20;
End;
Function TSDocxParagraphFormat.ReadShading();virtual;
Begin
shading_obj := new TSDocxShading(self.Application, self.Creator, self.Parent);
shading_obj.Init(pr_.Shading);
return shading_obj;
End;
Function TSDocxParagraphFormat.WriteRightIndent(value);virtual;
Begin
pr_.RightIndent := value * 20;
End;
Function TSDocxParagraphFormat.ReadRightIndent();virtual;
Begin
return pr_.Value("RightIndent") / 20;
End;
Function TSDocxParagraphFormat.WriteReadingOrder(value);virtual;
Begin
case value of
TSDocxEnumerations.wdReadingOrderLtr():
pr_.Bidi := false;
TSDocxEnumerations.wdReadingOrderRtl():
pr_.Bidi := true;
end;
End;
Function TSDocxParagraphFormat.ReadReadingOrder();virtual;
Begin
value := pr_.Value("Bidi");
case value of
false: return TSDocxEnumerations.wdReadingOrderLtr();
true: return TSDocxEnumerations.wdReadingOrderRtl();
end;
End;
Function TSDocxParagraphFormat.WritePageBreakBefore(value);virtual;
Begin
pr_.PageBreakBefore := value ? true : false;
End;
Function TSDocxParagraphFormat.ReadPageBreakBefore();virtual;
Begin
return pr_.Value("PageBreakBefore");
End;
Function TSDocxParagraphFormat.WriteOutlineLevel(value);virtual;
Begin
case value of
TSDocxEnumerations.wdOutlineLevel1():
pr_.OutlineLevel := 0;
TSDocxEnumerations.wdOutlineLevel2():
pr_.OutlineLevel := 1;
TSDocxEnumerations.wdOutlineLevel3():
pr_.OutlineLevel := 2;
TSDocxEnumerations.wdOutlineLevel4():
pr_.OutlineLevel := 3;
TSDocxEnumerations.wdOutlineLevel5():
pr_.OutlineLevel := 4;
TSDocxEnumerations.wdOutlineLevel6():
pr_.OutlineLevel := 5;
TSDocxEnumerations.wdOutlineLevel7():
pr_.OutlineLevel := 6;
TSDocxEnumerations.wdOutlineLevel8():
pr_.OutlineLevel := 7;
TSDocxEnumerations.wdOutlineLevel9():
pr_.OutlineLevel := 8;
TSDocxEnumerations.wdOutlineLevelBodyText():
class(TSXml).RemoveNode(pr_.Root(), "w:outlineLvl");
end;
End;
Function TSDocxParagraphFormat.ReadOutlineLevel();virtual;
Begin
value := pr_.Value("OutlineLevel");
case value of
0: return TSDocxEnumerations.wdOutlineLevel1();
1: return TSDocxEnumerations.wdOutlineLevel2();
2: return TSDocxEnumerations.wdOutlineLevel3();
3: return TSDocxEnumerations.wdOutlineLevel4();
4: return TSDocxEnumerations.wdOutlineLevel5();
5: return TSDocxEnumerations.wdOutlineLevel6();
6: return TSDocxEnumerations.wdOutlineLevel7();
7: return TSDocxEnumerations.wdOutlineLevel8();
8: return TSDocxEnumerations.wdOutlineLevel9();
nil: return TSDocxEnumerations.wdOutlineLevelBodyText();
end;
End;
Function TSDocxParagraphFormat.WriteNoLineNumber(value);virtual;
Begin
pr_.SuppressLineNumbers := value ? true : false;
End;
Function TSDocxParagraphFormat.ReadNoLineNumber();virtual;
Begin
return pr_.Value("SuppressLineNumbers");
End;
Function TSDocxParagraphFormat.WriteMirrorIndents(value);virtual;
Begin
pr_.MirrorIndents := value ? true : false;
End;
Function TSDocxParagraphFormat.ReadMirrorIndents();virtual;
Begin
return pr_.Value("MirrorIndents");
End;
Function TSDocxParagraphFormat.WriteLineUnitBefore(value);virtual;
Begin
pr_.BeforeLines := value * 100;
End;
Function TSDocxParagraphFormat.ReadLineUnitBefore();virtual;
Begin
return pr_.Value("BeforeLines") / 100;
End;
Function TSDocxParagraphFormat.WriteLineUnitAfter(value);virtual;
Begin
pr_.AfterLines := value * 100;
End;
Function TSDocxParagraphFormat.ReadLineUnitAfter();virtual;
Begin
return pr_.Value("AfterLines") / 100;
End;
Function TSDocxParagraphFormat.WriteLineSpacingRule(value);virtual;
Begin
case value of
TSDocxEnumerations.wdLineSpace1pt5():
pr_.LineSpacingRule := "auto";
TSDocxEnumerations.wdLineSpaceAtLeast():
pr_.LineSpacingRule := "atLeast";
TSDocxEnumerations.wdLineSpaceDouble():
pr_.LineSpacingRule := "auto";
TSDocxEnumerations.wdLineSpaceExactly():
pr_.LineSpacingRule := "exact";
TSDocxEnumerations.wdLineSpaceMultiple():
pr_.LineSpacingRule := "auto";
TSDocxEnumerations.wdLineSpaceSingle():
pr_.LineSpacingRule := "auto";
end;
End;
Function TSDocxParagraphFormat.ReadLineSpacingRule();virtual;
Begin
value := pr_.Value("LineSpacingRule");
case value of
"atLeast":
return TSDocxEnumerations.wdLineSpaceAtLeast();
"exact":
return TSDocxEnumerations.wdLineSpaceExactly();
"auto":
return TSDocxEnumerations.wdLineSpaceMultiple();
end;
End;
Function TSDocxParagraphFormat.WriteLineSpacing(value);virtual;
Begin
pr_.LineSpacing := value * 20;
End;
Function TSDocxParagraphFormat.ReadLineSpacing();virtual;
Begin
return pr_.Value("LineSpacing") / 20;
End;
Function TSDocxParagraphFormat.WriteLeftIndent(value);virtual;
Begin
pr_.LeftIndent := value * 20;
End;
Function TSDocxParagraphFormat.ReadLeftIndent();virtual;
Begin
return pr_.Value("LeftIndent") / 20;
End;
Function TSDocxParagraphFormat.WriteKeepWithNext(value);virtual;
Begin
pr_.KeepWithNext := value ? true : false;
End;
Function TSDocxParagraphFormat.ReadKeepWithNext();virtual;
Begin
return pr_.Value("KeepWithNext");
End;
Function TSDocxParagraphFormat.WriteKeepTogether(value);virtual;
Begin
pr_.KeepTogether := value ? true : false;
End;
Function TSDocxParagraphFormat.ReadKeepTogether();virtual;
Begin
return pr_.Value("KeepTogether");
End;
Function TSDocxParagraphFormat.WriteHyphenation(value);virtual;
Begin
pr_.SuppressAutoHyphens := value ? false : true;
End;
Function TSDocxParagraphFormat.ReadHyphenation();virtual;
Begin
return pr_.Value("SuppressAutoHyphens") ? false : true;
End;
Function TSDocxParagraphFormat.WriteHangingPunctuation(value);virtual;
Begin
pr_.OverflowPunct := value ? true : false;
End;
Function TSDocxParagraphFormat.ReadHangingPunctuation();virtual;
Begin
return pr_.Value("TopLinePunct");
End;
Function TSDocxParagraphFormat.WriteHalfWidthPunctuationOnTopOfLine(value);virtual;
Begin
pr_.TopLinePunct := value ? true : false;
End;
Function TSDocxParagraphFormat.ReadHalfWidthPunctuationOnTopOfLine();virtual;
Begin
return pr_.Value("TopLinePunct");
End;
Function TSDocxParagraphFormat.WriteFirstLineIndent(value);virtual;
Begin
pr_.FirstLineIndent := value * 20;
End;
Function TSDocxParagraphFormat.ReadFirstLineIndent();virtual;
Begin
return pr_.Value("FirstLineIndent") / 20;
End;
Function TSDocxParagraphFormat.WriteFarEastLineBreakControl(value);virtual;
Begin
pr_.Kinsoku := value ? true : false;
End;
Function TSDocxParagraphFormat.ReadFarEastLineBreakControl();virtual;
Begin
return pr_.Value("Kinsoku");
End;
Function TSDocxParagraphFormat.ReadDuplicate();virtual;
Begin
return pr_;
End;
Function TSDocxParagraphFormat.WriteDisableLineHeightGrid(value);virtual;
Begin
pr_.SnapToGrid := value ? false : true;
End;
Function TSDocxParagraphFormat.ReadDisableLineHeightGrid();virtual;
Begin
return pr_.Value("SnapToGrid") ? false : true;
End;
Function TSDocxParagraphFormat.WriteCollapsedByDefault(value);virtual;
Begin
pr_.Collapsed := value ? true : false;
End;
Function TSDocxParagraphFormat.ReadCollapsedByDefault();virtual;
Begin
return pr_.Value("Collapsed");
End;
Function TSDocxParagraphFormat.WriteCharacterUnitRightIndent(value);virtual;
Begin
pr_.RightChars := value * 100;
End;
Function TSDocxParagraphFormat.ReadCharacterUnitRightIndent();virtual;
Begin
return pr_.Value("RightChars") / 100;
End;
Function TSDocxParagraphFormat.WriteCharacterUnitLeftIndent(value);virtual;
Begin
pr_.LeftChars := value * 100;
End;
Function TSDocxParagraphFormat.ReadCharacterUnitLeftIndent();virtual;
Begin
return pr_.Value("LeftChars") / 100;
End;
Function TSDocxParagraphFormat.WriteCharacterUnitFirstLineIndent(value);virtual;
Begin
if value > 0 then pr_.FirstLineChars := value * 100;
else pr_.HangingChars := abs(value) * 100;
End;
Function TSDocxParagraphFormat.ReadCharacterUnitFirstLineIndent();virtual;
Begin
first_val := pr_.Value("FirstLineChars");
if first_val then return integer(first_val / 100);
hanging_val := pr_.Value("HangingChars");
if hanging_val then return -integer(hanging_val / 100);
return 0;
End;
Function TSDocxParagraphFormat.ReadBorders(index);virtual;
Begin
borders_obj := new TSDocxBordersParagraph(self.Application, self.Creator, self.Parent);
borders_obj.Init(pr_);
return ifnil(index) ? borders_obj : borders_obj[index];
End;
Function TSDocxParagraphFormat.WriteBaseLineAlignment(value);virtual;
Begin
case value of
TSDocxEnumerations.wdBaselineAlignAuto():
pr_.TextAlignment := "auto";
TSDocxEnumerations.wdBaselineAlignBaseline():
pr_.TextAlignment := "baseline";
TSDocxEnumerations.wdBaselineAlignCenter():
pr_.TextAlignment := "center";
TSDocxEnumerations.wdBaselineAlignFarEast50():
pr_.TextAlignment := "bottom";
TSDocxEnumerations.wdBaselineAlignTop():
pr_.TextAlignment := "top";
end;
End;
Function TSDocxParagraphFormat.ReadBaseLineAlignment();virtual;
Begin
value := pr_.Value("TextAlignment");
case value of
"auto", nil:
return TSDocxEnumerations.wdBaselineAlignAuto();
"baseline":
return TSDocxEnumerations.wdBaselineAlignBaseline();
"center":
return TSDocxEnumerations.wdBaselineAlignCenter();
"bottom":
return TSDocxEnumerations.wdBaselineAlignFarEast50();
"top":
return TSDocxEnumerations.wdBaselineAlignTop();
end;
End;
Function TSDocxParagraphFormat.WriteAutoAdjustRightIndent(value);virtual;
Begin
pr_.AdjustRightInd := value ? true : false;
End;
Function TSDocxParagraphFormat.ReadAutoAdjustRightIndent();virtual;
Begin
return pr_.Value("AdjustRightInd");
End;
Function TSDocxParagraphFormat.WriteAlignment(value);virtual;
Begin
case value of
TSDocxEnumerations.wdAlignParagraphCenter():
pr_.Alignment := "center";
TSDocxEnumerations.wdAlignParagraphDistribute():
pr_.Alignment := "distribute";
TSDocxEnumerations.wdAlignParagraphJustify():
pr_.Alignment := "both";
TSDocxEnumerations.wdAlignParagraphJustifyHi():
pr_.Alignment := "highKashida";
TSDocxEnumerations.wdAlignParagraphJustifyLow():
pr_.Alignment := "lowKashida";
TSDocxEnumerations.wdAlignParagraphJustifyMed():
pr_.Alignment := "mediumKashida";
TSDocxEnumerations.wdAlignParagraphLeft():
pr_.Alignment := "left";
TSDocxEnumerations.wdAlignParagraphRight():
pr_.Alignment := "right";
TSDocxEnumerations.wdAlignParagraphThaiJustify():
pr_.Alignment := "thaiDistribute";
end;
End;
Function TSDocxParagraphFormat.ReadAlignment();virtual;
Begin
value := pr_.Value("Alignment");
case value of
"center":
return TSDocxEnumerations.wdAlignParagraphCenter();
"distribute":
return TSDocxEnumerations.wdAlignParagraphDistribute();
"both", nil:
return TSDocxEnumerations.wdAlignParagraphJustify();
"highKashida":
return TSDocxEnumerations.wdAlignParagraphJustifyHi();
"lowKashida":
return TSDocxEnumerations.wdAlignParagraphJustifyLow();
"mediumKashida":
return TSDocxEnumerations.wdAlignParagraphJustifyMed();
"left":
return TSDocxEnumerations.wdAlignParagraphLeft();
"right":
return TSDocxEnumerations.wdAlignParagraphRight();
"thaiDistribute":
return TSDocxEnumerations.wdAlignParagraphThaiJustify();
end;
End;
Function TSDocxParagraphFormat.WriteAddSpaceBetweenFarEastAndDigit(value);virtual;
Begin
pr_.AutoSpaceDN := value ? true : false;
End;
Function TSDocxParagraphFormat.ReadAddSpaceBetweenFarEastAndDigit();virtual;
Begin
return pr_.Value("AutoSpaceDN");
End;
Function TSDocxParagraphFormat.WriteAddSpaceBetweenFarEastAndAlpha(value);virtual;
Begin
pr_.AutoSpaceDE := value ? true : false;
End;
Function TSDocxParagraphFormat.ReadAddSpaceBetweenFarEastAndAlpha();virtual;
Begin
return pr_.Value("AutoSpaceDE");
End;