update config

This commit is contained in:
csh 2024-11-13 17:42:29 +08:00
parent 797101d1f3
commit 5a5906a636
20 changed files with 806 additions and 73 deletions

View File

@ -44,6 +44,8 @@ begin
{self.}KeepNext.Copy(object_.XmlChildKeepNext); {self.}KeepNext.Copy(object_.XmlChildKeepNext);
if not ifnil(object_.XmlChildKeepLines) then if not ifnil(object_.XmlChildKeepLines) then
{self.}KeepLines.Copy(object_.XmlChildKeepLines); {self.}KeepLines.Copy(object_.XmlChildKeepLines);
if not ifnil(object_.XmlChildPageBreakBefore) then
{self.}PageBreakBefore.Copy(object_.XmlChildPageBreakBefore);
if not ifnil(object_.XmlChildAdjustRightInd) then if not ifnil(object_.XmlChildAdjustRightInd) then
{self.}XmlChildAdjustRightInd := new PureWValUnitDecorator(object_.XmlChildAdjustRightInd); {self.}XmlChildAdjustRightInd := new PureWValUnitDecorator(object_.XmlChildAdjustRightInd);
if not ifnil(object_.XmlChildSpacing) then if not ifnil(object_.XmlChildSpacing) then

View File

@ -37,7 +37,7 @@ begin
if not ifnil(object_.XmlAttrAfterAutospacing) then if not ifnil(object_.XmlAttrAfterAutospacing) then
{self.}AfterAutospacing := object_.XmlAttrAfterAutospacing.Value; {self.}AfterAutospacing := object_.XmlAttrAfterAutospacing.Value;
if not ifnil(object_.XmlAttrLine) then if not ifnil(object_.XmlAttrLine) then
{self.}Line := TSSafeUnitConverter.TwipsToPoints(object_.XmlAttrLine.Value); {self.}Line := TSSafeUnitConverter.ToInt(object_.XmlAttrLine.Value);
if not ifnil(object_.XmlAttrLineRule) then if not ifnil(object_.XmlAttrLineRule) then
{self.}LineRule := object_.XmlAttrLineRule.Value; {self.}LineRule := object_.XmlAttrLineRule.Value;
tslassigning := tslassigning_backup; tslassigning := tslassigning_backup;

View File

@ -35,6 +35,6 @@ begin
if not ifnil(object_.XmlAttrThemeTint) then if not ifnil(object_.XmlAttrThemeTint) then
{self.}ThemeTint := object_.XmlAttrThemeTint.Value; {self.}ThemeTint := object_.XmlAttrThemeTint.Value;
if not ifnil(object_.XmlAttrSz) then if not ifnil(object_.XmlAttrSz) then
{self.}Sz := TSSafeUnitConverter.HalfPointToPoints(object_.XmlAttrSz.Value); {self.}Sz := TSSafeUnitConverter.EighthPointToPoints(object_.XmlAttrSz.Value);
tslassigning := tslassigning_backup; tslassigning := tslassigning_backup;
end; end;

View File

@ -25,16 +25,16 @@ begin
tslassigning_backup := tslassigning; tslassigning_backup := tslassigning;
tslassigning := 1; tslassigning := 1;
if not ifnil(object_.XmlChildTop) then if not ifnil(object_.XmlChildTop) then
{self.}XmlChildTop := new tblBorderUnitDecorator(object_.XmlChildTop); {self.}XmlChildTop := new TblBorderUnitDecorator(object_.XmlChildTop);
if not ifnil(object_.XmlChildLeft) then if not ifnil(object_.XmlChildLeft) then
{self.}XmlChildLeft := new tblBorderUnitDecorator(object_.XmlChildLeft); {self.}XmlChildLeft := new TblBorderUnitDecorator(object_.XmlChildLeft);
if not ifnil(object_.XmlChildBottom) then if not ifnil(object_.XmlChildBottom) then
{self.}XmlChildBottom := new tblBorderUnitDecorator(object_.XmlChildBottom); {self.}XmlChildBottom := new TblBorderUnitDecorator(object_.XmlChildBottom);
if not ifnil(object_.XmlChildRight) then if not ifnil(object_.XmlChildRight) then
{self.}XmlChildRight := new tblBorderUnitDecorator(object_.XmlChildRight); {self.}XmlChildRight := new TblBorderUnitDecorator(object_.XmlChildRight);
if not ifnil(object_.XmlChildInsideH) then if not ifnil(object_.XmlChildInsideH) then
{self.}XmlChildInsideH := new PureWValUnitDecorator(object_.XmlChildInsideH); {self.}XmlChildInsideH := new TblBorderUnitDecorator(object_.XmlChildInsideH);
if not ifnil(object_.XmlChildInsideV) then if not ifnil(object_.XmlChildInsideV) then
{self.}XmlChildInsideV := new PureWValUnitDecorator(object_.XmlChildInsideV); {self.}XmlChildInsideV := new TblBorderUnitDecorator(object_.XmlChildInsideV);
tslassigning := tslassigning_backup; tslassigning := tslassigning_backup;
end; end;

View File

@ -0,0 +1,32 @@
type TblCellSpacingUnitDecorator = class(TblCellSpacing)
uses TSSafeUnitConverter;
public
function Create(_obj: TblCellSpacing);
function GetObject();
function Convert();
private
object_: TblCellSpacing;
end;
function TblCellSpacingUnitDecorator.Create(_obj: TblCellSpacing);
begin
class(TblCellSpacing).Create();
object_ := _obj;
{self.}Convert();
end;
function TblCellSpacingUnitDecorator.GetObject();
begin
return object_;
end;
function TblCellSpacingUnitDecorator.Convert();
begin
tslassigning_backup := tslassigning;
tslassigning := 1;
if not ifnil(object_.XmlAttrW) then
{self.}W := TSSafeUnitConverter.TwipsToPoints(object_.XmlAttrW.Value);
if not ifnil(object_.XmlAttrType) then
{self.}Type := object_.XmlAttrType.Value;
tslassigning := tslassigning_backup;
end;

View File

@ -24,12 +24,10 @@ function TblPrUnitDecorator.Convert();
begin begin
tslassigning_backup := tslassigning; tslassigning_backup := tslassigning;
tslassigning := 1; tslassigning := 1;
if not ifnil(object_.XmlChildTblStyleRowBandSize) then
{self.}XmlChildTblStyleRowBandSize := new PureWValUnitDecorator(object_.XmlChildTblStyleRowBandSize);
if not ifnil(object_.XmlChildTblStyleColBandSize) then
{self.}XmlChildTblStyleColBandSize := new PureWValUnitDecorator(object_.XmlChildTblStyleColBandSize);
if not ifnil(object_.XmlChildJc) then if not ifnil(object_.XmlChildJc) then
{self.}XmlChildJc := new PureWValUnitDecorator(object_.XmlChildJc); {self.}XmlChildJc := new PureWValUnitDecorator(object_.XmlChildJc);
if not ifnil(object_.XmlChildShd) then
{self.}XmlChildShd := new ShdUnitDecorator(object_.XmlChildShd);
if not ifnil(object_.XmlChildTblStyle) then if not ifnil(object_.XmlChildTblStyle) then
{self.}XmlChildTblStyle := new PureWValUnitDecorator(object_.XmlChildTblStyle); {self.}XmlChildTblStyle := new PureWValUnitDecorator(object_.XmlChildTblStyle);
if not ifnil(object_.XmlChildTblW) then if not ifnil(object_.XmlChildTblW) then
@ -44,5 +42,15 @@ begin
{self.}XmlChildTblBorders := new TblBordersUnitDecorator(object_.XmlChildTblBorders); {self.}XmlChildTblBorders := new TblBordersUnitDecorator(object_.XmlChildTblBorders);
if not ifnil(object_.XmlChildTblCellMar) then if not ifnil(object_.XmlChildTblCellMar) then
{self.}XmlChildTblCellMar := new TblCellMarUnitDecorator(object_.XmlChildTblCellMar); {self.}XmlChildTblCellMar := new TblCellMarUnitDecorator(object_.XmlChildTblCellMar);
if not ifnil(object_.XmlChildTblCellSpacing) then
{self.}XmlChildTblCellSpacing := new TblCellSpacingUnitDecorator(object_.XmlChildTblCellSpacing);
if not ifnil(object_.XmlChildTblCaption) then
{self.}XmlChildTblCaption := new PureWValUnitDecorator(object_.XmlChildTblCaption);
if not ifnil(object_.XmlChildTblDescription) then
{self.}XmlChildTblDescription := new PureWValUnitDecorator(object_.XmlChildTblDescription);
if not ifnil(object_.XmlChildTblStyleRowBandSize) then
{self.}XmlChildTblStyleRowBandSize := new PureWValUnitDecorator(object_.XmlChildTblStyleRowBandSize);
if not ifnil(object_.XmlChildTblStyleColBandSize) then
{self.}XmlChildTblStyleColBandSize := new PureWValUnitDecorator(object_.XmlChildTblStyleColBandSize);
tslassigning := tslassigning_backup; tslassigning := tslassigning_backup;
end; end;

View File

@ -0,0 +1,40 @@
type TcBorderUnitDecorator = class(TcBorder)
uses TSSafeUnitConverter;
public
function Create(_obj: TcBorder);
function GetObject();
function Convert();
private
object_: TcBorder;
end;
function TcBorderUnitDecorator.Create(_obj: TcBorder);
begin
class(TcBorder).Create();
object_ := _obj;
{self.}Convert();
end;
function TcBorderUnitDecorator.GetObject();
begin
return object_;
end;
function TcBorderUnitDecorator.Convert();
begin
tslassigning_backup := tslassigning;
tslassigning := 1;
if not ifnil(object_.XmlAttrVal) then
{self.}Val := object_.XmlAttrVal.Value;
if not ifnil(object_.XmlAttrColor) then
{self.}Color := object_.XmlAttrColor.Value;
if not ifnil(object_.XmlAttrSpace) then
{self.}Space := object_.XmlAttrSpace.Value;
if not ifnil(object_.XmlAttrThemeColor) then
{self.}ThemeColor := object_.XmlAttrThemeColor.Value;
if not ifnil(object_.XmlAttrThemeTint) then
{self.}ThemeTint := object_.XmlAttrThemeTint.Value;
if not ifnil(object_.XmlAttrSz) then
{self.}Sz := TSSafeUnitConverter.EighthPointToPoints(object_.XmlAttrSz.Value);
tslassigning := tslassigning_backup;
end;

View File

@ -0,0 +1,44 @@
type TcBordersUnitDecorator = class(TcBorders)
uses TSSafeUnitConverter;
public
function Create(_obj: TcBorders);
function GetObject();
function Convert();
private
object_: TcBorders;
end;
function TcBordersUnitDecorator.Create(_obj: TcBorders);
begin
class(TcBorders).Create();
object_ := _obj;
{self.}Convert();
end;
function TcBordersUnitDecorator.GetObject();
begin
return object_;
end;
function TcBordersUnitDecorator.Convert();
begin
tslassigning_backup := tslassigning;
tslassigning := 1;
if not ifnil(object_.XmlChildTop) then
{self.}XmlChildTop := new TcBorderUnitDecorator(object_.XmlChildTop);
if not ifnil(object_.XmlChildLeft) then
{self.}XmlChildLeft := new TcBorderUnitDecorator(object_.XmlChildLeft);
if not ifnil(object_.XmlChildBottom) then
{self.}XmlChildBottom := new TcBorderUnitDecorator(object_.XmlChildBottom);
if not ifnil(object_.XmlChildRight) then
{self.}XmlChildRight := new TcBorderUnitDecorator(object_.XmlChildRight);
if not ifnil(object_.XmlChildTl2Br) then
{self.}XmlChildTl2Br := new TcBorderUnitDecorator(object_.XmlChildTl2Br);
if not ifnil(object_.XmlChildTr2Bl) then
{self.}XmlChildTr2Bl := new TcBorderUnitDecorator(object_.XmlChildTr2Bl);
if not ifnil(object_.XmlChildInsideH) then
{self.}XmlChildInsideH := new TcBorderUnitDecorator(object_.XmlChildInsideH);
if not ifnil(object_.XmlChildInsideV) then
{self.}XmlChildInsideV := new TcBorderUnitDecorator(object_.XmlChildInsideV);
tslassigning := tslassigning_backup;
end;

View File

@ -36,5 +36,7 @@ begin
{self.}HideMark.Copy(object_.XmlChildHideMark); {self.}HideMark.Copy(object_.XmlChildHideMark);
if not ifnil(object_.XmlChildShd) then if not ifnil(object_.XmlChildShd) then
{self.}XmlChildShd := new ShdUnitDecorator(object_.XmlChildShd); {self.}XmlChildShd := new ShdUnitDecorator(object_.XmlChildShd);
if not ifnil(object_.XmlChildTcBorders) then
{self.}XmlChildTcBorders := new TcBordersUnitDecorator(object_.XmlChildTcBorders);
tslassigning := tslassigning_backup; tslassigning := tslassigning_backup;
end; end;

View File

@ -24,6 +24,8 @@ function TrHeightUnitDecorator.Convert();
begin begin
tslassigning_backup := tslassigning; tslassigning_backup := tslassigning;
tslassigning := 1; tslassigning := 1;
if not ifnil(object_.XmlAttrHRule) then
{self.}HRule := object_.XmlAttrHRule.Value;
if not ifnil(object_.XmlAttrval) then if not ifnil(object_.XmlAttrval) then
{self.}val := TSSafeUnitConverter.TwipsToPoints(object_.XmlAttrval.Value); {self.}val := TSSafeUnitConverter.TwipsToPoints(object_.XmlAttrval.Value);
tslassigning := tslassigning_backup; tslassigning := tslassigning_backup;

View File

@ -12,6 +12,7 @@ public
property WidowControl read ReadXmlChildWidowControl write WriteXmlChildWidowControl; property WidowControl read ReadXmlChildWidowControl write WriteXmlChildWidowControl;
property KeepNext read ReadXmlChildKeepNext write WriteXmlChildKeepNext; property KeepNext read ReadXmlChildKeepNext write WriteXmlChildKeepNext;
property KeepLines read ReadXmlChildKeepLines write WriteXmlChildKeepLines; property KeepLines read ReadXmlChildKeepLines write WriteXmlChildKeepLines;
property PageBreakBefore read ReadXmlChildPageBreakBefore write WriteXmlChildPageBreakBefore;
property ContextualSpacing read ReadXmlChildContextualSpacing write WriteXmlChildContextualSpacing; property ContextualSpacing read ReadXmlChildContextualSpacing write WriteXmlChildContextualSpacing;
function ReadXmlChildWidowControl(); function ReadXmlChildWidowControl();
function WriteXmlChildWidowControl(_value); function WriteXmlChildWidowControl(_value);
@ -19,6 +20,8 @@ public
function WriteXmlChildKeepNext(_value); function WriteXmlChildKeepNext(_value);
function ReadXmlChildKeepLines(); function ReadXmlChildKeepLines();
function WriteXmlChildKeepLines(_value); function WriteXmlChildKeepLines(_value);
function ReadXmlChildPageBreakBefore();
function WriteXmlChildPageBreakBefore(_value);
function ReadXmlChildContextualSpacing(); function ReadXmlChildContextualSpacing();
function WriteXmlChildContextualSpacing(_value); function WriteXmlChildContextualSpacing(_value);
@ -64,6 +67,7 @@ public
XmlChildInd: Ind; XmlChildInd: Ind;
XmlChildKeepNext: OpenXmlEmpty; XmlChildKeepNext: OpenXmlEmpty;
XmlChildKeepLines: OpenXmlEmpty; XmlChildKeepLines: OpenXmlEmpty;
XmlChildPageBreakBefore: OpenXmlEmpty;
XmlChildAdjustRightInd: PureWVal; XmlChildAdjustRightInd: PureWVal;
XmlChildSpacing: Spacing; XmlChildSpacing: Spacing;
XmlChildOutlineLvl: PureWVal; XmlChildOutlineLvl: PureWVal;
@ -108,14 +112,15 @@ begin
pre + "ind": array(7, makeweakref(thisFunction(ReadXmlChildInd))), pre + "ind": array(7, makeweakref(thisFunction(ReadXmlChildInd))),
pre + "keepNext": array(8, makeweakref(thisFunction(ReadXmlChildKeepNext))), pre + "keepNext": array(8, makeweakref(thisFunction(ReadXmlChildKeepNext))),
pre + "keepLines": array(9, makeweakref(thisFunction(ReadXmlChildKeepLines))), pre + "keepLines": array(9, makeweakref(thisFunction(ReadXmlChildKeepLines))),
pre + "adjustRightInd": array(10, makeweakref(thisFunction(ReadXmlChildAdjustRightInd))), pre + "pageBreakBefore": array(10, makeweakref(thisFunction(ReadXmlChildPageBreakBefore))),
pre + "spacing": array(11, makeweakref(thisFunction(ReadXmlChildSpacing))), pre + "adjustRightInd": array(11, makeweakref(thisFunction(ReadXmlChildAdjustRightInd))),
pre + "outlineLvl": array(12, makeweakref(thisFunction(ReadXmlChildOutlineLvl))), pre + "spacing": array(12, makeweakref(thisFunction(ReadXmlChildSpacing))),
pre + "autoSpaceDE": array(13, makeweakref(thisFunction(ReadXmlChildAutoSpaceDE))), pre + "outlineLvl": array(13, makeweakref(thisFunction(ReadXmlChildOutlineLvl))),
pre + "autoSpaceDN": array(14, makeweakref(thisFunction(ReadXmlChildAutoSpaceDN))), pre + "autoSpaceDE": array(14, makeweakref(thisFunction(ReadXmlChildAutoSpaceDE))),
pre + "rPr": array(15, makeweakref(thisFunction(ReadXmlChildRPr))), pre + "autoSpaceDN": array(15, makeweakref(thisFunction(ReadXmlChildAutoSpaceDN))),
pre + "pBdr": array(16, makeweakref(thisFunction(ReadXmlChildPBdr))), pre + "rPr": array(16, makeweakref(thisFunction(ReadXmlChildRPr))),
pre + "contextualSpacing": array(17, makeweakref(thisFunction(ReadXmlChildContextualSpacing))), pre + "pBdr": array(17, makeweakref(thisFunction(ReadXmlChildPBdr))),
pre + "contextualSpacing": array(18, makeweakref(thisFunction(ReadXmlChildContextualSpacing))),
); );
container_ := new TSOfficeContainer(sorted_child_); container_ := new TSOfficeContainer(sorted_child_);
end; end;
@ -145,6 +150,8 @@ begin
ifnil({self.}XmlChildKeepNext) ? {self.}KeepNext.Copy(_obj.XmlChildKeepNext) : {self.}XmlChildKeepNext.Copy(_obj.XmlChildKeepNext); ifnil({self.}XmlChildKeepNext) ? {self.}KeepNext.Copy(_obj.XmlChildKeepNext) : {self.}XmlChildKeepNext.Copy(_obj.XmlChildKeepNext);
if not ifnil(_obj.XmlChildKeepLines) then if not ifnil(_obj.XmlChildKeepLines) then
ifnil({self.}XmlChildKeepLines) ? {self.}KeepLines.Copy(_obj.XmlChildKeepLines) : {self.}XmlChildKeepLines.Copy(_obj.XmlChildKeepLines); ifnil({self.}XmlChildKeepLines) ? {self.}KeepLines.Copy(_obj.XmlChildKeepLines) : {self.}XmlChildKeepLines.Copy(_obj.XmlChildKeepLines);
if not ifnil(_obj.XmlChildPageBreakBefore) then
ifnil({self.}XmlChildPageBreakBefore) ? {self.}PageBreakBefore.Copy(_obj.XmlChildPageBreakBefore) : {self.}XmlChildPageBreakBefore.Copy(_obj.XmlChildPageBreakBefore);
if not ifnil(_obj.XmlChildAdjustRightInd) then if not ifnil(_obj.XmlChildAdjustRightInd) then
{self.}AdjustRightInd.Copy(_obj.XmlChildAdjustRightInd); {self.}AdjustRightInd.Copy(_obj.XmlChildAdjustRightInd);
if not ifnil(_obj.XmlChildSpacing) then if not ifnil(_obj.XmlChildSpacing) then
@ -227,6 +234,27 @@ begin
{self.}XmlChildKeepLines.Value := _value; {self.}XmlChildKeepLines.Value := _value;
end; end;
function PPr.ReadXmlChildPageBreakBefore();
begin
if tslassigning and ifnil({self.}XmlChildPageBreakBefore) then
begin
{self.}XmlChildPageBreakBefore := new OpenXmlEmpty(self, {self.}Prefix, "pageBreakBefore");
container_.Set({self.}XmlChildPageBreakBefore);
return {self.}XmlChildPageBreakBefore;
end
return ifnil({self.}XmlChildPageBreakBefore) ? false : {self.}XmlChildPageBreakBefore.BoolValue();
end;
function PPr.WriteXmlChildPageBreakBefore(_value);
begin
if ifnil({self.}XmlChildPageBreakBefore) then
begin
{self.}XmlChildPageBreakBefore := new OpenXmlEmpty(self, {self.}Prefix, "pageBreakBefore");
container_.Set({self.}XmlChildPageBreakBefore);
end
{self.}XmlChildPageBreakBefore.Value := _value;
end;
function PPr.ReadXmlChildContextualSpacing(); function PPr.ReadXmlChildContextualSpacing();
begin begin
if tslassigning and ifnil({self.}XmlChildContextualSpacing) then if tslassigning and ifnil({self.}XmlChildContextualSpacing) then

View File

@ -24,12 +24,12 @@ public
public public
// Children // Children
XmlChildTop: tblBorder; XmlChildTop: TblBorder;
XmlChildLeft: tblBorder; XmlChildLeft: TblBorder;
XmlChildBottom: tblBorder; XmlChildBottom: TblBorder;
XmlChildRight: tblBorder; XmlChildRight: TblBorder;
XmlChildInsideH: PureWVal; XmlChildInsideH: TblBorder;
XmlChildInsideV: PureWVal; XmlChildInsideV: TblBorder;
end; end;
@ -90,7 +90,7 @@ function TblBorders.ReadXmlChildTop();
begin begin
if tslassigning and ifnil({self.}XmlChildTop) then if tslassigning and ifnil({self.}XmlChildTop) then
begin begin
{self.}XmlChildTop := new tblBorder(self, {self.}Prefix, "top"); {self.}XmlChildTop := new TblBorder(self, {self.}Prefix, "top");
container_.Set({self.}XmlChildTop); container_.Set({self.}XmlChildTop);
end end
return {self.}XmlChildTop; return {self.}XmlChildTop;
@ -100,7 +100,7 @@ function TblBorders.ReadXmlChildLeft();
begin begin
if tslassigning and ifnil({self.}XmlChildLeft) then if tslassigning and ifnil({self.}XmlChildLeft) then
begin begin
{self.}XmlChildLeft := new tblBorder(self, {self.}Prefix, "left"); {self.}XmlChildLeft := new TblBorder(self, {self.}Prefix, "left");
container_.Set({self.}XmlChildLeft); container_.Set({self.}XmlChildLeft);
end end
return {self.}XmlChildLeft; return {self.}XmlChildLeft;
@ -110,7 +110,7 @@ function TblBorders.ReadXmlChildBottom();
begin begin
if tslassigning and ifnil({self.}XmlChildBottom) then if tslassigning and ifnil({self.}XmlChildBottom) then
begin begin
{self.}XmlChildBottom := new tblBorder(self, {self.}Prefix, "bottom"); {self.}XmlChildBottom := new TblBorder(self, {self.}Prefix, "bottom");
container_.Set({self.}XmlChildBottom); container_.Set({self.}XmlChildBottom);
end end
return {self.}XmlChildBottom; return {self.}XmlChildBottom;
@ -120,7 +120,7 @@ function TblBorders.ReadXmlChildRight();
begin begin
if tslassigning and ifnil({self.}XmlChildRight) then if tslassigning and ifnil({self.}XmlChildRight) then
begin begin
{self.}XmlChildRight := new tblBorder(self, {self.}Prefix, "right"); {self.}XmlChildRight := new TblBorder(self, {self.}Prefix, "right");
container_.Set({self.}XmlChildRight); container_.Set({self.}XmlChildRight);
end end
return {self.}XmlChildRight; return {self.}XmlChildRight;
@ -130,7 +130,7 @@ function TblBorders.ReadXmlChildInsideH();
begin begin
if tslassigning and ifnil({self.}XmlChildInsideH) then if tslassigning and ifnil({self.}XmlChildInsideH) then
begin begin
{self.}XmlChildInsideH := new PureWVal(self, {self.}Prefix, "insideH"); {self.}XmlChildInsideH := new TblBorder(self, {self.}Prefix, "insideH");
container_.Set({self.}XmlChildInsideH); container_.Set({self.}XmlChildInsideH);
end end
return {self.}XmlChildInsideH; return {self.}XmlChildInsideH;
@ -140,7 +140,7 @@ function TblBorders.ReadXmlChildInsideV();
begin begin
if tslassigning and ifnil({self.}XmlChildInsideV) then if tslassigning and ifnil({self.}XmlChildInsideV) then
begin begin
{self.}XmlChildInsideV := new PureWVal(self, {self.}Prefix, "insideV"); {self.}XmlChildInsideV := new TblBorder(self, {self.}Prefix, "insideV");
container_.Set({self.}XmlChildInsideV); container_.Set({self.}XmlChildInsideV);
end end
return {self.}XmlChildInsideV; return {self.}XmlChildInsideV;

View File

@ -0,0 +1,96 @@
type TblCellSpacing = class(OpenXmlElement)
public
function Create();overload;
function Create(_node: XmlNode);overload;
function Create(_parent: tslobj; _prefix: string; _local_name: string);overload;
function Init();override;
function Copy(_obj: TblCellSpacing);override;
public
// attributes property
property W read ReadXmlAttrW write WriteXmlAttrW;
property Type read ReadXmlAttrType write WriteXmlAttrType;
function ReadXmlAttrW();
function WriteXmlAttrW(_value);
function ReadXmlAttrType();
function WriteXmlAttrType(_value);
public
// Attributes
XmlAttrW: OpenXmlAttribute;
XmlAttrType: OpenXmlAttribute;
end;
function TblCellSpacing.Create();overload;
begin
{self.}Create(nil, "w", "tblCellSpacing");
end;
function TblCellSpacing.Create(_node: XmlNode);overload;
begin
class(OpenXmlElement).Create(_node: XmlNode);
end;
function TblCellSpacing.Create(_parent: tslobj; _prefix: string; _local_name: string);overload;
begin
setsysparam(pn_calcctrlword(), getsysparam(pn_calcctrlword()) .| 0x200);
class(OpenXmlElement).Create(_parent, _prefix, _local_name);
end;
function TblCellSpacing.Init();override;
begin
pre := {self.}Prefix ? {self.}Prefix + ":" : "";
attributes_ := array();
attributes_pf_ := array(
pre + "w": makeweakref(thisFunction(WriteXmlAttrW)),
pre + "type": makeweakref(thisFunction(WriteXmlAttrType)),
);
sorted_child_ := array(
);
container_ := new TSOfficeContainer(sorted_child_);
end;
function TblCellSpacing.Copy(_obj: TblCellSpacing);override;
begin
tslassigning_backup := tslassigning;
tslassigning := 1;
class(OpenXmlElement).Copy(_obj);
if not ifnil(_obj.W) then
{self.}W := _obj.W;
if not ifnil(_obj.Type) then
{self.}Type := _obj.Type;
tslassigning := tslassigning_backup;
end;
function TblCellSpacing.ReadXmlAttrW();
begin
return {self.}XmlAttrW.Value;
end;
function TblCellSpacing.WriteXmlAttrW(_value);
begin
if ifnil({self.}XmlAttrW) then
begin
{self.}XmlAttrW := new OpenXmlAttribute({self.}Prefix, "w", nil);
attributes_[length(attributes_)] := {self.}XmlAttrW;
end
{self.}XmlAttrW.Value := _value;
end;
function TblCellSpacing.ReadXmlAttrType();
begin
return {self.}XmlAttrType.Value;
end;
function TblCellSpacing.WriteXmlAttrType(_value);
begin
if ifnil({self.}XmlAttrType) then
begin
{self.}XmlAttrType := new OpenXmlAttribute({self.}Prefix, "type", nil);
attributes_[length(attributes_)] := {self.}XmlAttrType;
end
{self.}XmlAttrType.Value := _value;
end;

View File

@ -9,9 +9,8 @@ public
public public
// normal property // normal property
property TblStyleRowBandSize read ReadXmlChildTblStyleRowBandSize;
property TblStyleColBandSize read ReadXmlChildTblStyleColBandSize;
property Jc read ReadXmlChildJc; property Jc read ReadXmlChildJc;
property Shd read ReadXmlChildShd;
property TblStyle read ReadXmlChildTblStyle; property TblStyle read ReadXmlChildTblStyle;
property TblW read ReadXmlChildTblW; property TblW read ReadXmlChildTblW;
property TblInd read ReadXmlChildTblInd; property TblInd read ReadXmlChildTblInd;
@ -19,9 +18,13 @@ public
property TblLook read ReadXmlChildTblLook; property TblLook read ReadXmlChildTblLook;
property TblBorders read ReadXmlChildTblBorders; property TblBorders read ReadXmlChildTblBorders;
property TblCellMar read ReadXmlChildTblCellMar; property TblCellMar read ReadXmlChildTblCellMar;
function ReadXmlChildTblStyleRowBandSize(); property TblCellSpacing read ReadXmlChildTblCellSpacing;
function ReadXmlChildTblStyleColBandSize(); property TblCaption read ReadXmlChildTblCaption;
property TblDescription read ReadXmlChildTblDescription;
property TblStyleRowBandSize read ReadXmlChildTblStyleRowBandSize;
property TblStyleColBandSize read ReadXmlChildTblStyleColBandSize;
function ReadXmlChildJc(); function ReadXmlChildJc();
function ReadXmlChildShd();
function ReadXmlChildTblStyle(); function ReadXmlChildTblStyle();
function ReadXmlChildTblW(); function ReadXmlChildTblW();
function ReadXmlChildTblInd(); function ReadXmlChildTblInd();
@ -29,12 +32,16 @@ public
function ReadXmlChildTblLook(); function ReadXmlChildTblLook();
function ReadXmlChildTblBorders(); function ReadXmlChildTblBorders();
function ReadXmlChildTblCellMar(); function ReadXmlChildTblCellMar();
function ReadXmlChildTblCellSpacing();
function ReadXmlChildTblCaption();
function ReadXmlChildTblDescription();
function ReadXmlChildTblStyleRowBandSize();
function ReadXmlChildTblStyleColBandSize();
public public
// Children // Children
XmlChildTblStyleRowBandSize: PureWVal;
XmlChildTblStyleColBandSize: PureWVal;
XmlChildJc: PureWVal; XmlChildJc: PureWVal;
XmlChildShd: Shd;
XmlChildTblStyle: PureWVal; XmlChildTblStyle: PureWVal;
XmlChildTblW: TblW; XmlChildTblW: TblW;
XmlChildTblInd: TblW; XmlChildTblInd: TblW;
@ -42,6 +49,11 @@ public
XmlChildTblLook: TblLook; XmlChildTblLook: TblLook;
XmlChildTblBorders: TblBorders; XmlChildTblBorders: TblBorders;
XmlChildTblCellMar: TblCellMar; XmlChildTblCellMar: TblCellMar;
XmlChildTblCellSpacing: TblCellSpacing;
XmlChildTblCaption: PureWVal;
XmlChildTblDescription: PureWVal;
XmlChildTblStyleRowBandSize: PureWVal;
XmlChildTblStyleColBandSize: PureWVal;
end; end;
@ -68,16 +80,20 @@ begin
attributes_pf_ := array( attributes_pf_ := array(
); );
sorted_child_ := array( sorted_child_ := array(
pre + "tblStyleRowBandSize": array(0, makeweakref(thisFunction(ReadXmlChildTblStyleRowBandSize))), pre + "jc": array(0, makeweakref(thisFunction(ReadXmlChildJc))),
pre + "tblStyleColBandSize": array(1, makeweakref(thisFunction(ReadXmlChildTblStyleColBandSize))), pre + "shd": array(1, makeweakref(thisFunction(ReadXmlChildShd))),
pre + "jc": array(2, makeweakref(thisFunction(ReadXmlChildJc))), pre + "tblStyle": array(2, makeweakref(thisFunction(ReadXmlChildTblStyle))),
pre + "tblStyle": array(3, makeweakref(thisFunction(ReadXmlChildTblStyle))), pre + "tblW": array(3, makeweakref(thisFunction(ReadXmlChildTblW))),
pre + "tblW": array(4, makeweakref(thisFunction(ReadXmlChildTblW))), pre + "tblInd": array(4, makeweakref(thisFunction(ReadXmlChildTblInd))),
pre + "tblInd": array(5, makeweakref(thisFunction(ReadXmlChildTblInd))), pre + "tblLayout": array(5, makeweakref(thisFunction(ReadXmlChildTblLayout))),
pre + "tblLayout": array(6, makeweakref(thisFunction(ReadXmlChildTblLayout))), pre + "tblLook": array(6, makeweakref(thisFunction(ReadXmlChildTblLook))),
pre + "tblLook": array(7, makeweakref(thisFunction(ReadXmlChildTblLook))), pre + "tblBorders": array(7, makeweakref(thisFunction(ReadXmlChildTblBorders))),
pre + "tblBorders": array(8, makeweakref(thisFunction(ReadXmlChildTblBorders))), pre + "tblCellMar": array(8, makeweakref(thisFunction(ReadXmlChildTblCellMar))),
pre + "tblCellMar": array(9, makeweakref(thisFunction(ReadXmlChildTblCellMar))), pre + "tblCellSpacing": array(9, makeweakref(thisFunction(ReadXmlChildTblCellSpacing))),
pre + "tblCaption": array(10, makeweakref(thisFunction(ReadXmlChildTblCaption))),
pre + "tblDescription": array(11, makeweakref(thisFunction(ReadXmlChildTblDescription))),
pre + "tblStyleRowBandSize": array(12, makeweakref(thisFunction(ReadXmlChildTblStyleRowBandSize))),
pre + "tblStyleColBandSize": array(13, makeweakref(thisFunction(ReadXmlChildTblStyleColBandSize))),
); );
container_ := new TSOfficeContainer(sorted_child_); container_ := new TSOfficeContainer(sorted_child_);
end; end;
@ -87,12 +103,10 @@ begin
tslassigning_backup := tslassigning; tslassigning_backup := tslassigning;
tslassigning := 1; tslassigning := 1;
class(OpenXmlElement).Copy(_obj); class(OpenXmlElement).Copy(_obj);
if not ifnil(_obj.XmlChildTblStyleRowBandSize) then
{self.}TblStyleRowBandSize.Copy(_obj.XmlChildTblStyleRowBandSize);
if not ifnil(_obj.XmlChildTblStyleColBandSize) then
{self.}TblStyleColBandSize.Copy(_obj.XmlChildTblStyleColBandSize);
if not ifnil(_obj.XmlChildJc) then if not ifnil(_obj.XmlChildJc) then
{self.}Jc.Copy(_obj.XmlChildJc); {self.}Jc.Copy(_obj.XmlChildJc);
if not ifnil(_obj.XmlChildShd) then
{self.}Shd.Copy(_obj.XmlChildShd);
if not ifnil(_obj.XmlChildTblStyle) then if not ifnil(_obj.XmlChildTblStyle) then
{self.}TblStyle.Copy(_obj.XmlChildTblStyle); {self.}TblStyle.Copy(_obj.XmlChildTblStyle);
if not ifnil(_obj.XmlChildTblW) then if not ifnil(_obj.XmlChildTblW) then
@ -107,29 +121,19 @@ begin
{self.}TblBorders.Copy(_obj.XmlChildTblBorders); {self.}TblBorders.Copy(_obj.XmlChildTblBorders);
if not ifnil(_obj.XmlChildTblCellMar) then if not ifnil(_obj.XmlChildTblCellMar) then
{self.}TblCellMar.Copy(_obj.XmlChildTblCellMar); {self.}TblCellMar.Copy(_obj.XmlChildTblCellMar);
if not ifnil(_obj.XmlChildTblCellSpacing) then
{self.}TblCellSpacing.Copy(_obj.XmlChildTblCellSpacing);
if not ifnil(_obj.XmlChildTblCaption) then
{self.}TblCaption.Copy(_obj.XmlChildTblCaption);
if not ifnil(_obj.XmlChildTblDescription) then
{self.}TblDescription.Copy(_obj.XmlChildTblDescription);
if not ifnil(_obj.XmlChildTblStyleRowBandSize) then
{self.}TblStyleRowBandSize.Copy(_obj.XmlChildTblStyleRowBandSize);
if not ifnil(_obj.XmlChildTblStyleColBandSize) then
{self.}TblStyleColBandSize.Copy(_obj.XmlChildTblStyleColBandSize);
tslassigning := tslassigning_backup; tslassigning := tslassigning_backup;
end; end;
function TblPr.ReadXmlChildTblStyleRowBandSize();
begin
if tslassigning and ifnil({self.}XmlChildTblStyleRowBandSize) then
begin
{self.}XmlChildTblStyleRowBandSize := new PureWVal(self, {self.}Prefix, "tblStyleRowBandSize");
container_.Set({self.}XmlChildTblStyleRowBandSize);
end
return {self.}XmlChildTblStyleRowBandSize;
end;
function TblPr.ReadXmlChildTblStyleColBandSize();
begin
if tslassigning and ifnil({self.}XmlChildTblStyleColBandSize) then
begin
{self.}XmlChildTblStyleColBandSize := new PureWVal(self, {self.}Prefix, "tblStyleColBandSize");
container_.Set({self.}XmlChildTblStyleColBandSize);
end
return {self.}XmlChildTblStyleColBandSize;
end;
function TblPr.ReadXmlChildJc(); function TblPr.ReadXmlChildJc();
begin begin
if tslassigning and ifnil({self.}XmlChildJc) then if tslassigning and ifnil({self.}XmlChildJc) then
@ -140,6 +144,16 @@ begin
return {self.}XmlChildJc; return {self.}XmlChildJc;
end; end;
function TblPr.ReadXmlChildShd();
begin
if tslassigning and ifnil({self.}XmlChildShd) then
begin
{self.}XmlChildShd := new Shd(self, {self.}Prefix, "shd");
container_.Set({self.}XmlChildShd);
end
return {self.}XmlChildShd;
end;
function TblPr.ReadXmlChildTblStyle(); function TblPr.ReadXmlChildTblStyle();
begin begin
if tslassigning and ifnil({self.}XmlChildTblStyle) then if tslassigning and ifnil({self.}XmlChildTblStyle) then
@ -209,3 +223,53 @@ begin
end end
return {self.}XmlChildTblCellMar; return {self.}XmlChildTblCellMar;
end; end;
function TblPr.ReadXmlChildTblCellSpacing();
begin
if tslassigning and ifnil({self.}XmlChildTblCellSpacing) then
begin
{self.}XmlChildTblCellSpacing := new TblCellSpacing(self, {self.}Prefix, "tblCellSpacing");
container_.Set({self.}XmlChildTblCellSpacing);
end
return {self.}XmlChildTblCellSpacing;
end;
function TblPr.ReadXmlChildTblCaption();
begin
if tslassigning and ifnil({self.}XmlChildTblCaption) then
begin
{self.}XmlChildTblCaption := new PureWVal(self, {self.}Prefix, "tblCaption");
container_.Set({self.}XmlChildTblCaption);
end
return {self.}XmlChildTblCaption;
end;
function TblPr.ReadXmlChildTblDescription();
begin
if tslassigning and ifnil({self.}XmlChildTblDescription) then
begin
{self.}XmlChildTblDescription := new PureWVal(self, {self.}Prefix, "tblDescription");
container_.Set({self.}XmlChildTblDescription);
end
return {self.}XmlChildTblDescription;
end;
function TblPr.ReadXmlChildTblStyleRowBandSize();
begin
if tslassigning and ifnil({self.}XmlChildTblStyleRowBandSize) then
begin
{self.}XmlChildTblStyleRowBandSize := new PureWVal(self, {self.}Prefix, "tblStyleRowBandSize");
container_.Set({self.}XmlChildTblStyleRowBandSize);
end
return {self.}XmlChildTblStyleRowBandSize;
end;
function TblPr.ReadXmlChildTblStyleColBandSize();
begin
if tslassigning and ifnil({self.}XmlChildTblStyleColBandSize) then
begin
{self.}XmlChildTblStyleColBandSize := new PureWVal(self, {self.}Prefix, "tblStyleColBandSize");
container_.Set({self.}XmlChildTblStyleColBandSize);
end
return {self.}XmlChildTblStyleColBandSize;
end;

View File

@ -0,0 +1,184 @@
type TcBorder = class(OpenXmlElement)
public
function Create();overload;
function Create(_node: XmlNode);overload;
function Create(_parent: tslobj; _prefix: string; _local_name: string);overload;
function Init();override;
function Copy(_obj: TcBorder);override;
public
// attributes property
property Val read ReadXmlAttrVal write WriteXmlAttrVal;
property Color read ReadXmlAttrColor write WriteXmlAttrColor;
property Space read ReadXmlAttrSpace write WriteXmlAttrSpace;
property ThemeColor read ReadXmlAttrThemeColor write WriteXmlAttrThemeColor;
property ThemeTint read ReadXmlAttrThemeTint write WriteXmlAttrThemeTint;
property Sz read ReadXmlAttrSz write WriteXmlAttrSz;
function ReadXmlAttrVal();
function WriteXmlAttrVal(_value);
function ReadXmlAttrColor();
function WriteXmlAttrColor(_value);
function ReadXmlAttrSpace();
function WriteXmlAttrSpace(_value);
function ReadXmlAttrThemeColor();
function WriteXmlAttrThemeColor(_value);
function ReadXmlAttrThemeTint();
function WriteXmlAttrThemeTint(_value);
function ReadXmlAttrSz();
function WriteXmlAttrSz(_value);
public
// Attributes
XmlAttrVal: OpenXmlAttribute;
XmlAttrColor: OpenXmlAttribute;
XmlAttrSpace: OpenXmlAttribute;
XmlAttrThemeColor: OpenXmlAttribute;
XmlAttrThemeTint: OpenXmlAttribute;
XmlAttrSz: OpenXmlAttribute;
end;
function TcBorder.Create();overload;
begin
{self.}Create(nil, "w", "");
end;
function TcBorder.Create(_node: XmlNode);overload;
begin
class(OpenXmlElement).Create(_node: XmlNode);
end;
function TcBorder.Create(_parent: tslobj; _prefix: string; _local_name: string);overload;
begin
setsysparam(pn_calcctrlword(), getsysparam(pn_calcctrlword()) .| 0x200);
class(OpenXmlElement).Create(_parent, _prefix, _local_name);
end;
function TcBorder.Init();override;
begin
pre := {self.}Prefix ? {self.}Prefix + ":" : "";
attributes_ := array();
attributes_pf_ := array(
pre + "val": makeweakref(thisFunction(WriteXmlAttrVal)),
pre + "color": makeweakref(thisFunction(WriteXmlAttrColor)),
pre + "space": makeweakref(thisFunction(WriteXmlAttrSpace)),
pre + "themeColor": makeweakref(thisFunction(WriteXmlAttrThemeColor)),
pre + "themeTint": makeweakref(thisFunction(WriteXmlAttrThemeTint)),
pre + "sz": makeweakref(thisFunction(WriteXmlAttrSz)),
);
sorted_child_ := array(
);
container_ := new TSOfficeContainer(sorted_child_);
end;
function TcBorder.Copy(_obj: TcBorder);override;
begin
tslassigning_backup := tslassigning;
tslassigning := 1;
class(OpenXmlElement).Copy(_obj);
if not ifnil(_obj.Val) then
{self.}Val := _obj.Val;
if not ifnil(_obj.Color) then
{self.}Color := _obj.Color;
if not ifnil(_obj.Space) then
{self.}Space := _obj.Space;
if not ifnil(_obj.ThemeColor) then
{self.}ThemeColor := _obj.ThemeColor;
if not ifnil(_obj.ThemeTint) then
{self.}ThemeTint := _obj.ThemeTint;
if not ifnil(_obj.Sz) then
{self.}Sz := _obj.Sz;
tslassigning := tslassigning_backup;
end;
function TcBorder.ReadXmlAttrVal();
begin
return {self.}XmlAttrVal.Value;
end;
function TcBorder.WriteXmlAttrVal(_value);
begin
if ifnil({self.}XmlAttrVal) then
begin
{self.}XmlAttrVal := new OpenXmlAttribute({self.}Prefix, "val", nil);
attributes_[length(attributes_)] := {self.}XmlAttrVal;
end
{self.}XmlAttrVal.Value := _value;
end;
function TcBorder.ReadXmlAttrColor();
begin
return {self.}XmlAttrColor.Value;
end;
function TcBorder.WriteXmlAttrColor(_value);
begin
if ifnil({self.}XmlAttrColor) then
begin
{self.}XmlAttrColor := new OpenXmlAttribute({self.}Prefix, "color", nil);
attributes_[length(attributes_)] := {self.}XmlAttrColor;
end
{self.}XmlAttrColor.Value := _value;
end;
function TcBorder.ReadXmlAttrSpace();
begin
return {self.}XmlAttrSpace.Value;
end;
function TcBorder.WriteXmlAttrSpace(_value);
begin
if ifnil({self.}XmlAttrSpace) then
begin
{self.}XmlAttrSpace := new OpenXmlAttribute({self.}Prefix, "space", nil);
attributes_[length(attributes_)] := {self.}XmlAttrSpace;
end
{self.}XmlAttrSpace.Value := _value;
end;
function TcBorder.ReadXmlAttrThemeColor();
begin
return {self.}XmlAttrThemeColor.Value;
end;
function TcBorder.WriteXmlAttrThemeColor(_value);
begin
if ifnil({self.}XmlAttrThemeColor) then
begin
{self.}XmlAttrThemeColor := new OpenXmlAttribute({self.}Prefix, "themeColor", nil);
attributes_[length(attributes_)] := {self.}XmlAttrThemeColor;
end
{self.}XmlAttrThemeColor.Value := _value;
end;
function TcBorder.ReadXmlAttrThemeTint();
begin
return {self.}XmlAttrThemeTint.Value;
end;
function TcBorder.WriteXmlAttrThemeTint(_value);
begin
if ifnil({self.}XmlAttrThemeTint) then
begin
{self.}XmlAttrThemeTint := new OpenXmlAttribute({self.}Prefix, "themeTint", nil);
attributes_[length(attributes_)] := {self.}XmlAttrThemeTint;
end
{self.}XmlAttrThemeTint.Value := _value;
end;
function TcBorder.ReadXmlAttrSz();
begin
return {self.}XmlAttrSz.Value;
end;
function TcBorder.WriteXmlAttrSz(_value);
begin
if ifnil({self.}XmlAttrSz) then
begin
{self.}XmlAttrSz := new OpenXmlAttribute({self.}Prefix, "sz", nil);
attributes_[length(attributes_)] := {self.}XmlAttrSz;
end
{self.}XmlAttrSz.Value := _value;
end;

View File

@ -0,0 +1,179 @@
type TcBorders = class(OpenXmlElement)
public
function Create();overload;
function Create(_node: XmlNode);overload;
function Create(_parent: tslobj; _prefix: string; _local_name: string);overload;
function Init();override;
function Copy(_obj: TcBorders);override;
public
// normal property
property Top read ReadXmlChildTop;
property Left read ReadXmlChildLeft;
property Bottom read ReadXmlChildBottom;
property Right read ReadXmlChildRight;
property Tl2Br read ReadXmlChildTl2Br;
property Tr2Bl read ReadXmlChildTr2Bl;
property InsideH read ReadXmlChildInsideH;
property InsideV read ReadXmlChildInsideV;
function ReadXmlChildTop();
function ReadXmlChildLeft();
function ReadXmlChildBottom();
function ReadXmlChildRight();
function ReadXmlChildTl2Br();
function ReadXmlChildTr2Bl();
function ReadXmlChildInsideH();
function ReadXmlChildInsideV();
public
// Children
XmlChildTop: TcBorder;
XmlChildLeft: TcBorder;
XmlChildBottom: TcBorder;
XmlChildRight: TcBorder;
XmlChildTl2Br: TcBorder;
XmlChildTr2Bl: TcBorder;
XmlChildInsideH: TcBorder;
XmlChildInsideV: TcBorder;
end;
function TcBorders.Create();overload;
begin
{self.}Create(nil, "w", "tcBorders");
end;
function TcBorders.Create(_node: XmlNode);overload;
begin
class(OpenXmlElement).Create(_node: XmlNode);
end;
function TcBorders.Create(_parent: tslobj; _prefix: string; _local_name: string);overload;
begin
setsysparam(pn_calcctrlword(), getsysparam(pn_calcctrlword()) .| 0x200);
class(OpenXmlElement).Create(_parent, _prefix, _local_name);
end;
function TcBorders.Init();override;
begin
pre := {self.}Prefix ? {self.}Prefix + ":" : "";
attributes_ := array();
attributes_pf_ := array(
);
sorted_child_ := array(
pre + "top": array(0, makeweakref(thisFunction(ReadXmlChildTop))),
pre + "left": array(1, makeweakref(thisFunction(ReadXmlChildLeft))),
pre + "bottom": array(2, makeweakref(thisFunction(ReadXmlChildBottom))),
pre + "right": array(3, makeweakref(thisFunction(ReadXmlChildRight))),
pre + "tl2br": array(4, makeweakref(thisFunction(ReadXmlChildTl2Br))),
pre + "tr2bl": array(5, makeweakref(thisFunction(ReadXmlChildTr2Bl))),
pre + "insideH": array(6, makeweakref(thisFunction(ReadXmlChildInsideH))),
pre + "insideV": array(7, makeweakref(thisFunction(ReadXmlChildInsideV))),
);
container_ := new TSOfficeContainer(sorted_child_);
end;
function TcBorders.Copy(_obj: TcBorders);override;
begin
tslassigning_backup := tslassigning;
tslassigning := 1;
class(OpenXmlElement).Copy(_obj);
if not ifnil(_obj.XmlChildTop) then
{self.}Top.Copy(_obj.XmlChildTop);
if not ifnil(_obj.XmlChildLeft) then
{self.}Left.Copy(_obj.XmlChildLeft);
if not ifnil(_obj.XmlChildBottom) then
{self.}Bottom.Copy(_obj.XmlChildBottom);
if not ifnil(_obj.XmlChildRight) then
{self.}Right.Copy(_obj.XmlChildRight);
if not ifnil(_obj.XmlChildTl2Br) then
{self.}Tl2Br.Copy(_obj.XmlChildTl2Br);
if not ifnil(_obj.XmlChildTr2Bl) then
{self.}Tr2Bl.Copy(_obj.XmlChildTr2Bl);
if not ifnil(_obj.XmlChildInsideH) then
{self.}InsideH.Copy(_obj.XmlChildInsideH);
if not ifnil(_obj.XmlChildInsideV) then
{self.}InsideV.Copy(_obj.XmlChildInsideV);
tslassigning := tslassigning_backup;
end;
function TcBorders.ReadXmlChildTop();
begin
if tslassigning and ifnil({self.}XmlChildTop) then
begin
{self.}XmlChildTop := new TcBorder(self, {self.}Prefix, "top");
container_.Set({self.}XmlChildTop);
end
return {self.}XmlChildTop;
end;
function TcBorders.ReadXmlChildLeft();
begin
if tslassigning and ifnil({self.}XmlChildLeft) then
begin
{self.}XmlChildLeft := new TcBorder(self, {self.}Prefix, "left");
container_.Set({self.}XmlChildLeft);
end
return {self.}XmlChildLeft;
end;
function TcBorders.ReadXmlChildBottom();
begin
if tslassigning and ifnil({self.}XmlChildBottom) then
begin
{self.}XmlChildBottom := new TcBorder(self, {self.}Prefix, "bottom");
container_.Set({self.}XmlChildBottom);
end
return {self.}XmlChildBottom;
end;
function TcBorders.ReadXmlChildRight();
begin
if tslassigning and ifnil({self.}XmlChildRight) then
begin
{self.}XmlChildRight := new TcBorder(self, {self.}Prefix, "right");
container_.Set({self.}XmlChildRight);
end
return {self.}XmlChildRight;
end;
function TcBorders.ReadXmlChildTl2Br();
begin
if tslassigning and ifnil({self.}XmlChildTl2Br) then
begin
{self.}XmlChildTl2Br := new TcBorder(self, {self.}Prefix, "tl2br");
container_.Set({self.}XmlChildTl2Br);
end
return {self.}XmlChildTl2Br;
end;
function TcBorders.ReadXmlChildTr2Bl();
begin
if tslassigning and ifnil({self.}XmlChildTr2Bl) then
begin
{self.}XmlChildTr2Bl := new TcBorder(self, {self.}Prefix, "tr2bl");
container_.Set({self.}XmlChildTr2Bl);
end
return {self.}XmlChildTr2Bl;
end;
function TcBorders.ReadXmlChildInsideH();
begin
if tslassigning and ifnil({self.}XmlChildInsideH) then
begin
{self.}XmlChildInsideH := new TcBorder(self, {self.}Prefix, "insideH");
container_.Set({self.}XmlChildInsideH);
end
return {self.}XmlChildInsideH;
end;
function TcBorders.ReadXmlChildInsideV();
begin
if tslassigning and ifnil({self.}XmlChildInsideV) then
begin
{self.}XmlChildInsideV := new TcBorder(self, {self.}Prefix, "insideV");
container_.Set({self.}XmlChildInsideV);
end
return {self.}XmlChildInsideV;
end;

View File

@ -21,10 +21,12 @@ public
property GridSpan read ReadXmlChildGridSpan; property GridSpan read ReadXmlChildGridSpan;
property VAlign read ReadXmlChildVAlign; property VAlign read ReadXmlChildVAlign;
property Shd read ReadXmlChildShd; property Shd read ReadXmlChildShd;
property TcBorders read ReadXmlChildTcBorders;
function ReadXmlChildTcW(); function ReadXmlChildTcW();
function ReadXmlChildGridSpan(); function ReadXmlChildGridSpan();
function ReadXmlChildVAlign(); function ReadXmlChildVAlign();
function ReadXmlChildShd(); function ReadXmlChildShd();
function ReadXmlChildTcBorders();
public public
// Children // Children
@ -34,6 +36,7 @@ public
XmlChildVAlign: PureWVal; XmlChildVAlign: PureWVal;
XmlChildHideMark: OpenXmlEmpty; XmlChildHideMark: OpenXmlEmpty;
XmlChildShd: Shd; XmlChildShd: Shd;
XmlChildTcBorders: TcBorders;
end; end;
@ -66,6 +69,7 @@ begin
pre + "vAlign": array(3, makeweakref(thisFunction(ReadXmlChildVAlign))), pre + "vAlign": array(3, makeweakref(thisFunction(ReadXmlChildVAlign))),
pre + "hideMark": array(4, makeweakref(thisFunction(ReadXmlChildHideMark))), pre + "hideMark": array(4, makeweakref(thisFunction(ReadXmlChildHideMark))),
pre + "shd": array(5, makeweakref(thisFunction(ReadXmlChildShd))), pre + "shd": array(5, makeweakref(thisFunction(ReadXmlChildShd))),
pre + "tcBorders": array(6, makeweakref(thisFunction(ReadXmlChildTcBorders))),
); );
container_ := new TSOfficeContainer(sorted_child_); container_ := new TSOfficeContainer(sorted_child_);
end; end;
@ -87,6 +91,8 @@ begin
ifnil({self.}XmlChildHideMark) ? {self.}HideMark.Copy(_obj.XmlChildHideMark) : {self.}XmlChildHideMark.Copy(_obj.XmlChildHideMark); ifnil({self.}XmlChildHideMark) ? {self.}HideMark.Copy(_obj.XmlChildHideMark) : {self.}XmlChildHideMark.Copy(_obj.XmlChildHideMark);
if not ifnil(_obj.XmlChildShd) then if not ifnil(_obj.XmlChildShd) then
{self.}Shd.Copy(_obj.XmlChildShd); {self.}Shd.Copy(_obj.XmlChildShd);
if not ifnil(_obj.XmlChildTcBorders) then
{self.}TcBorders.Copy(_obj.XmlChildTcBorders);
tslassigning := tslassigning_backup; tslassigning := tslassigning_backup;
end; end;
@ -171,3 +177,13 @@ begin
end end
return {self.}XmlChildShd; return {self.}XmlChildShd;
end; end;
function TcPr.ReadXmlChildTcBorders();
begin
if tslassigning and ifnil({self.}XmlChildTcBorders) then
begin
{self.}XmlChildTcBorders := new TcBorders(self, {self.}Prefix, "tcBorders");
container_.Set({self.}XmlChildTcBorders);
end
return {self.}XmlChildTcBorders;
end;

View File

@ -9,12 +9,16 @@ public
public public
// attributes property // attributes property
property HRule read ReadXmlAttrHRule write WriteXmlAttrHRule;
property val read ReadXmlAttrval write WriteXmlAttrval; property val read ReadXmlAttrval write WriteXmlAttrval;
function ReadXmlAttrHRule();
function WriteXmlAttrHRule(_value);
function ReadXmlAttrval(); function ReadXmlAttrval();
function WriteXmlAttrval(_value); function WriteXmlAttrval(_value);
public public
// Attributes // Attributes
XmlAttrHRule: OpenXmlAttribute;
XmlAttrval: OpenXmlAttribute; XmlAttrval: OpenXmlAttribute;
@ -41,6 +45,7 @@ begin
pre := {self.}Prefix ? {self.}Prefix + ":" : ""; pre := {self.}Prefix ? {self.}Prefix + ":" : "";
attributes_ := array(); attributes_ := array();
attributes_pf_ := array( attributes_pf_ := array(
pre + "hRule": makeweakref(thisFunction(WriteXmlAttrHRule)),
pre + "val": makeweakref(thisFunction(WriteXmlAttrval)), pre + "val": makeweakref(thisFunction(WriteXmlAttrval)),
); );
sorted_child_ := array( sorted_child_ := array(
@ -53,11 +58,28 @@ begin
tslassigning_backup := tslassigning; tslassigning_backup := tslassigning;
tslassigning := 1; tslassigning := 1;
class(OpenXmlElement).Copy(_obj); class(OpenXmlElement).Copy(_obj);
if not ifnil(_obj.HRule) then
{self.}HRule := _obj.HRule;
if not ifnil(_obj.val) then if not ifnil(_obj.val) then
{self.}val := _obj.val; {self.}val := _obj.val;
tslassigning := tslassigning_backup; tslassigning := tslassigning_backup;
end; end;
function TrHeight.ReadXmlAttrHRule();
begin
return {self.}XmlAttrHRule.Value;
end;
function TrHeight.WriteXmlAttrHRule(_value);
begin
if ifnil({self.}XmlAttrHRule) then
begin
{self.}XmlAttrHRule := new OpenXmlAttribute({self.}Prefix, "hRule", nil);
attributes_[length(attributes_)] := {self.}XmlAttrHRule;
end
{self.}XmlAttrHRule.Value := _value;
end;
function TrHeight.ReadXmlAttrval(); function TrHeight.ReadXmlAttrval();
begin begin
return {self.}XmlAttrval.Value; return {self.}XmlAttrval.Value;

View File

@ -5,6 +5,7 @@ interface
function HalfPointToPoints(value): real; function HalfPointToPoints(value): real;
function PercentToNumber(value): real; function PercentToNumber(value): real;
function ToInt(value): integer; function ToInt(value): integer;
function EighthPointToPoints(value): real;
implementation implementation
@ -44,5 +45,12 @@ uses TSUnitConverter;
return tryStrtoInt(value, r) ? r : 0; return tryStrtoInt(value, r) ? r : 0;
end; end;
function EighthPointToPoints(value): real;
begin
if ifNil(value) then return 0;
new_value := ifString(value) ? strToFloat(value) : value;
return TSUnitConverter.EighthPointToPoints(new_value);
end;
end. end.

View File

@ -3,6 +3,7 @@ interface
function TwipsToPoints(value: real): real; function TwipsToPoints(value: real): real;
function EmusToPoints(value: real): real; function EmusToPoints(value: real): real;
function HalfPointToPoints(value: real): real; function HalfPointToPoints(value: real): real;
function EighthPointToPoints(value: real): real;
function PercentToNumber(value: real): real; function PercentToNumber(value: real): real;
implementation implementation
@ -25,7 +26,12 @@ implementation
function PercentToNumber(value: real): real; function PercentToNumber(value: real): real;
begin begin
return value / 100; return value / 100;
end end;
function EighthPointToPoints(value: real): real;
begin
return value / 8;
end;
end. end.