OfficeVba/docx/TSDocxRows.tsf

161 lines
4.7 KiB
Plaintext

Type TSDocxRows = Class
public
Function Create(application, table);
Function Operator[](index);
private
application_;
table_;
public
Function Add(BeforeRow);
Function ConvertToText(Separator, NestedTables);
Function Delete();
Function DistributeHeight();
Function Item(Index);
Function Select();
Function SetHeight(RowHeight, HeightRule);
Function SetLeftIndent(LeftIndent, RulerStyle);
property Alignment read ReadAlignment write WriteAlignment;
property AllowBreakAcrossPages read ReadAllowBreakAcrossPages write WriteAllowBreakAcrossPages;
property AllowOverlap read ReadAllowOverlap write WriteAllowOverlap;
property Application read ReadApplication;
property Borders read ReadBorders;
property Count read ReadCount;
property Creator read ReadCreator;
property DistanceBottom read ReadDistanceBottom write WriteDistanceBottom;
property DistanceLeft read ReadDistanceLeft write WriteDistanceLeft;
property DistanceRight read ReadDistanceRight write WriteDistanceRight;
property DistanceTop read ReadDistanceTop write WriteDistanceTop;
property First read ReadFirst;
property HeadingFormat read ReadHeadingFormat write WriteHeadingFormat;
property Height read ReadHeight write WriteHeight;
property HeightRule read ReadHeightRule write WriteHeightRule;
property HorizontalPosition read ReadHorizontalPosition write WriteHorizontalPosition;
property Last read ReadLast;
property LeftIndent read ReadLeftIndent write WriteLeftIndent;
property NestingLevel read ReadNestingLevel;
property Parent read ReadParent;
property RelativeHorizontalPosition read ReadRelativeHorizontalPosition write WriteRelativeHorizontalPosition;
property RelativeVerticalPosition read ReadRelativeVerticalPosition write WriteRelativeVerticalPosition;
property Shading read ReadShading;
property SpaceBetweenColumns read ReadSpaceBetweenColumns;
property TableDirection read ReadTableDirection write WriteTableDirection;
property VerticalPosition read ReadVerticalPosition write WriteVerticalPosition;
property WrapAroundText read ReadWrapAroundText write WriteWrapAroundText;
Function WriteWrapAroundText(value);
Function ReadWrapAroundText();
Function WriteVerticalPosition();
Function ReadVerticalPosition();
Function WriteTableDirection();
Function ReadTableDirection();
Function ReadSpaceBetweenColumns();
Function ReadShading();
Function WriteRelativeVerticalPosition();
Function ReadRelativeVerticalPosition();
Function WriteRelativeHorizontalPosition();
Function ReadRelativeHorizontalPosition();
Function ReadParent();
Function ReadNestingLevel();
Function WriteLeftIndent();
Function ReadLeftIndent();
Function ReadLast();
Function WriteHorizontalPosition();
Function ReadHorizontalPosition();
Function WriteHeightRule();
Function ReadHeightRule();
Function WriteHeight();
Function ReadHeight();
Function WriteHeadingFormat();
Function ReadHeadingFormat();
Function ReadFirst();
Function WriteDistanceTop();
Function ReadDistanceTop();
Function WriteDistanceRight();
Function ReadDistanceRight();
Function WriteDistanceLeft();
Function ReadDistanceLeft();
Function WriteDistanceBottom();
Function ReadDistanceBottom();
Function ReadCreator();
Function ReadCount();
Function ReadBorders();
Function ReadApplication();
Function WriteAllowOverlap();
Function ReadAllowOverlap();
Function WriteAllowBreakAcrossPages();
Function ReadAllowBreakAcrossPages();
Function WriteAlignment();
Function ReadAlignment();
End;
// ============== 实现 ================= //
Function TSDocxRows.Create(application, table);
Begin
application_ := application;
table_ := table;
End;
Function Operator TSDocxRows.[](index);
Begin
return new TSDocxRow(application_, table_, Index);
End;
// function
Function TSDocxRows.Select();
Begin
End;
Function TSDocxRows.Item(Index);
Begin
return self[Index];
End;
Function TSDocxRows.SetHeight(RowHeight, HeightRule);
Begin
case HeightRule of
class(TSDocxEnumerations).wdRowHeightAtLeast:
begin
end
class(TSDocxEnumerations).wdRowHeightAuto:
begin
end
class(TSDocxEnumerations).wdRowHeightExactly:
begin
end
end;
End;
Function TSDocxRows.SetLeftIndent(LeftIndent, RulerStyle);
Begin
End;
// property
Function TSDocxRows.ReadWrapAroundText();
Begin
node := class(TSXml).GetNode(table_.Root(), "w:tblPr/w:tblpPr");
return ifObj(node) ? -1 : 0;
End;
Function TSDocxRows.WriteWrapAroundText(value);
Begin
if value then
begin
table_.tblPr.tblpPr.LeftFromText := 180;
table_.tblPr.tblpPr.RightFromText := 180;
table_.tblPr.tblpPr.VertAnchor := "text";
table_.tblPr.tblpPr.tblpY := 1;
table_.tblPr.Overlap := "never";
table_.Apply();
end
else begin
class(TSXml).RemoveNode(table_.Root(), "w:tblPr/w:tblpPr");
class(TSXml).RemoveNode(table_.Root(), "w:tblPr/w:tblOverlap");
end
End;