parent
fedb1cd28a
commit
7936d19b98
|
|
@ -0,0 +1,36 @@
|
||||||
|
type StyleAdapter = class
|
||||||
|
public
|
||||||
|
function Create(_obj: Style);
|
||||||
|
function Init();
|
||||||
|
|
||||||
|
function GetTblStylePrByType(_key: string);
|
||||||
|
function SetTblStylePrByType(_key: string; _value: tslobj);
|
||||||
|
|
||||||
|
private
|
||||||
|
object_: Style;
|
||||||
|
tblstylepr_hash_: tableArray;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function StyleAdapter.Create(_obj: Style);
|
||||||
|
begin
|
||||||
|
object_ := _obj;
|
||||||
|
tblstylepr_hash_ := array();
|
||||||
|
{self.}Init();
|
||||||
|
end;
|
||||||
|
|
||||||
|
function StyleAdapter.Init();
|
||||||
|
begin
|
||||||
|
elements := object_.TblStylePrs();
|
||||||
|
for k,v in elements do
|
||||||
|
tblstylepr_hash_[v.Type] := v;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function StyleAdapter.GetTblStylePrByType(_key: string);
|
||||||
|
begin
|
||||||
|
return tblstylepr_hash_[_key];
|
||||||
|
end;
|
||||||
|
|
||||||
|
function StyleAdapter.SetTblStylePrByType(_key: string; _value: tslobj);
|
||||||
|
begin
|
||||||
|
tblstylepr_hash_[_key] := _value;
|
||||||
|
end;
|
||||||
|
|
@ -0,0 +1,26 @@
|
||||||
|
type GridSpanUnitDecorator = class(GridSpan)
|
||||||
|
uses TSSafeUnitConverter;
|
||||||
|
public
|
||||||
|
function Create(_obj: GridSpan);
|
||||||
|
function GetObject();
|
||||||
|
function Convert();
|
||||||
|
private
|
||||||
|
object_: GridSpan;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function GridSpanUnitDecorator.Create(_obj: GridSpan);
|
||||||
|
begin
|
||||||
|
class(GridSpan).Create();
|
||||||
|
object_ := _obj;
|
||||||
|
{self.}Convert();
|
||||||
|
end;
|
||||||
|
|
||||||
|
function GridSpanUnitDecorator.GetObject();
|
||||||
|
begin
|
||||||
|
return object_;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function GridSpanUnitDecorator.Convert();
|
||||||
|
begin
|
||||||
|
{self.}XmlAttrVal.Value := TSSafeUnitConverter.ToInt(object_.XmlAttrVal.Value);
|
||||||
|
end;
|
||||||
|
|
@ -22,5 +22,5 @@ end;
|
||||||
|
|
||||||
function PgNumTypeUnitDecorator.Convert();
|
function PgNumTypeUnitDecorator.Convert();
|
||||||
begin
|
begin
|
||||||
{self.}XmlAttrStart.Value := object_.XmlAttrStart.Value;
|
{self.}XmlAttrStart.Value := TSSafeUnitConverter.ToInt(object_.XmlAttrStart.Value);
|
||||||
end;
|
end;
|
||||||
|
|
@ -41,5 +41,4 @@ begin
|
||||||
{self.}TblPr := new TblPrUnitDecorator(object_.TblPr);
|
{self.}TblPr := new TblPrUnitDecorator(object_.TblPr);
|
||||||
{self.}TrPr := new TrPrUnitDecorator(object_.TrPr);
|
{self.}TrPr := new TrPrUnitDecorator(object_.TrPr);
|
||||||
{self.}TcPr := new TcPrUnitDecorator(object_.TcPr);
|
{self.}TcPr := new TcPrUnitDecorator(object_.TcPr);
|
||||||
{self.}TblStylePr := new TblStylePrUnitDecorator(object_.TblStylePr);
|
|
||||||
end;
|
end;
|
||||||
|
|
@ -22,6 +22,8 @@ end;
|
||||||
|
|
||||||
function TblPrUnitDecorator.Convert();
|
function TblPrUnitDecorator.Convert();
|
||||||
begin
|
begin
|
||||||
|
{self.}TblStyleRowBandSize := new PureWValUnitDecorator(object_.TblStyleRowBandSize);
|
||||||
|
{self.}TblStyleColBandSize := new PureWValUnitDecorator(object_.TblStyleColBandSize);
|
||||||
{self.}Jc := new PureWValUnitDecorator(object_.Jc);
|
{self.}Jc := new PureWValUnitDecorator(object_.Jc);
|
||||||
{self.}TblStyle := new PureWValUnitDecorator(object_.TblStyle);
|
{self.}TblStyle := new PureWValUnitDecorator(object_.TblStyle);
|
||||||
{self.}TblW := new TblWUnitDecorator(object_.TblW);
|
{self.}TblW := new TblWUnitDecorator(object_.TblW);
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ end;
|
||||||
|
|
||||||
function TblStylePrUnitDecorator.Convert();
|
function TblStylePrUnitDecorator.Convert();
|
||||||
begin
|
begin
|
||||||
|
{self.}XmlAttrType.Value := object_.XmlAttrType.Value;
|
||||||
{self.}PPr := new PPrUnitDecorator(object_.PPr);
|
{self.}PPr := new PPrUnitDecorator(object_.PPr);
|
||||||
{self.}TblPr := new TblPrUnitDecorator(object_.TblPr);
|
{self.}TblPr := new TblPrUnitDecorator(object_.TblPr);
|
||||||
{self.}TrPr := new TrPrUnitDecorator(object_.TrPr);
|
{self.}TrPr := new TrPrUnitDecorator(object_.TrPr);
|
||||||
|
|
|
||||||
|
|
@ -23,8 +23,8 @@ end;
|
||||||
function TcPrUnitDecorator.Convert();
|
function TcPrUnitDecorator.Convert();
|
||||||
begin
|
begin
|
||||||
{self.}TcW := new TblWUnitDecorator(object_.TcW);
|
{self.}TcW := new TblWUnitDecorator(object_.TcW);
|
||||||
{self.}GridSpan := new PureWValUnitDecorator(object_.GridSpan);
|
{self.}GridSpan := new GridSpanUnitDecorator(object_.GridSpan);
|
||||||
{self.}VMerge := new PureWValUnitDecorator(object_.VMerge);
|
if not ifnil(object_.XmlChildVMerge.Value) then {self.}XmlChildVMerge.Value := object_.XmlChildVMerge.Value;
|
||||||
{self.}VAlign := new PureWValUnitDecorator(object_.VAlign);
|
{self.}VAlign := new PureWValUnitDecorator(object_.VAlign);
|
||||||
{self.}Shd := new ShdUnitDecorator(object_.Shd);
|
{self.}Shd := new ShdUnitDecorator(object_.Shd);
|
||||||
end;
|
end;
|
||||||
|
|
@ -0,0 +1,81 @@
|
||||||
|
type GridSpan = 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 InitAttributes();override;
|
||||||
|
function InitChildren();override;
|
||||||
|
function InitNode(_node: XmlNode);override;
|
||||||
|
function Copy(_obj: GridSpan);override;
|
||||||
|
|
||||||
|
property Val read ReadXmlAttrVal write WriteXmlAttrVal;
|
||||||
|
function ReadXmlAttrVal();
|
||||||
|
function WriteXmlAttrVal(_value);
|
||||||
|
|
||||||
|
public
|
||||||
|
// Attributes
|
||||||
|
XmlAttrVal: OpenXmlAttribute;
|
||||||
|
|
||||||
|
// Children
|
||||||
|
|
||||||
|
end;
|
||||||
|
|
||||||
|
function GridSpan.Create();overload;
|
||||||
|
begin
|
||||||
|
{self.}Create(nil, "w", "gridSpan");
|
||||||
|
end;
|
||||||
|
|
||||||
|
function GridSpan.Create(_node: XmlNode);overload;
|
||||||
|
begin
|
||||||
|
class(OpenXmlElement).Create(_node: XmlNode);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function GridSpan.Create(_parent: tslobj; _prefix: string; _local_name: string);overload;
|
||||||
|
begin
|
||||||
|
class(OpenXmlElement).Create(_parent, _prefix, _local_name);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function GridSpan.Init();override;
|
||||||
|
begin
|
||||||
|
{self.}XmlAttrVal := new OpenXmlAttribute({self.}Prefix, "val", nil);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function GridSpan.InitAttributes();override;
|
||||||
|
begin
|
||||||
|
attributes_ := array(
|
||||||
|
{self.}XmlAttrVal,
|
||||||
|
);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function GridSpan.InitChildren();override;
|
||||||
|
begin
|
||||||
|
child_elements_ := array(
|
||||||
|
);
|
||||||
|
sorted_child_ := array(
|
||||||
|
"": -1,
|
||||||
|
);
|
||||||
|
end;
|
||||||
|
|
||||||
|
function GridSpan.InitNode(_node: XmlNode);override;
|
||||||
|
begin
|
||||||
|
if ifObj({self.}XmlNode) then
|
||||||
|
for k,v in child_elements_ do v.InitNode(nil);
|
||||||
|
{self.}XmlNode := ifObj(_node) ? _node : nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function GridSpan.Copy(_obj: GridSpan);override;
|
||||||
|
begin
|
||||||
|
if not ifnil(_obj.XmlAttrVal.Value) then
|
||||||
|
{self.}XmlAttrVal.Value := _obj.XmlAttrVal.Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function GridSpan.ReadXmlAttrVal();
|
||||||
|
begin
|
||||||
|
return {self.}XmlAttrVal.Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function GridSpan.WriteXmlAttrVal(_value);
|
||||||
|
begin
|
||||||
|
{self.}XmlAttrVal.Value := _value;
|
||||||
|
end;
|
||||||
|
|
@ -8,6 +8,11 @@ public
|
||||||
function InitChildren();override;
|
function InitChildren();override;
|
||||||
function InitNode(_node: XmlNode);override;
|
function InitNode(_node: XmlNode);override;
|
||||||
function Copy(_obj: Style);override;
|
function Copy(_obj: Style);override;
|
||||||
|
function AddTblStylePr(): TblStylePr;
|
||||||
|
function AppendTblStylePr(): TblStylePr;
|
||||||
|
|
||||||
|
property TblStylePrs read ReadTblStylePrs;
|
||||||
|
function ReadTblStylePrs(_index);
|
||||||
|
|
||||||
property Type read ReadXmlAttrType write WriteXmlAttrType;
|
property Type read ReadXmlAttrType write WriteXmlAttrType;
|
||||||
property Default read ReadXmlAttrDefault write WriteXmlAttrDefault;
|
property Default read ReadXmlAttrDefault write WriteXmlAttrDefault;
|
||||||
|
|
@ -54,7 +59,6 @@ public
|
||||||
TblPr: TblPr;
|
TblPr: TblPr;
|
||||||
TrPr: TrPr;
|
TrPr: TrPr;
|
||||||
TcPr: TcPr;
|
TcPr: TcPr;
|
||||||
TblStylePr: TblStylePr;
|
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
@ -93,7 +97,6 @@ begin
|
||||||
{self.}TblPr := new TblPr(self, {self.}Prefix, "tblPr");
|
{self.}TblPr := new TblPr(self, {self.}Prefix, "tblPr");
|
||||||
{self.}TrPr := new TrPr(self, {self.}Prefix, "trPr");
|
{self.}TrPr := new TrPr(self, {self.}Prefix, "trPr");
|
||||||
{self.}TcPr := new TcPr(self, {self.}Prefix, "tcPr");
|
{self.}TcPr := new TcPr(self, {self.}Prefix, "tcPr");
|
||||||
{self.}TblStylePr := new TblStylePr(self, {self.}Prefix, "tblStylePr");
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function Style.InitAttributes();override;
|
function Style.InitAttributes();override;
|
||||||
|
|
@ -123,7 +126,6 @@ begin
|
||||||
12: {self.}TblPr,
|
12: {self.}TblPr,
|
||||||
13: {self.}TrPr,
|
13: {self.}TrPr,
|
||||||
14: {self.}TcPr,
|
14: {self.}TcPr,
|
||||||
15: {self.}TblStylePr,
|
|
||||||
);
|
);
|
||||||
sorted_child_ := array(
|
sorted_child_ := array(
|
||||||
"": -1,
|
"": -1,
|
||||||
|
|
@ -142,7 +144,6 @@ begin
|
||||||
{self.}TblPr.ElementName: 12,
|
{self.}TblPr.ElementName: 12,
|
||||||
{self.}TrPr.ElementName: 13,
|
{self.}TrPr.ElementName: 13,
|
||||||
{self.}TcPr.ElementName: 14,
|
{self.}TcPr.ElementName: 14,
|
||||||
{self.}TblStylePr.ElementName: 15,
|
|
||||||
);
|
);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
@ -168,6 +169,7 @@ begin
|
||||||
begin
|
begin
|
||||||
obj := nil;
|
obj := nil;
|
||||||
case node_name of
|
case node_name of
|
||||||
|
pre + "tblStylePr": obj := {self.}AppendTblStylePr();
|
||||||
end;
|
end;
|
||||||
if ifObj(obj) then obj.InitNode(node);
|
if ifObj(obj) then obj.InitNode(node);
|
||||||
end
|
end
|
||||||
|
|
@ -207,7 +209,42 @@ begin
|
||||||
{self.}TblPr.Copy(_obj.TblPr);
|
{self.}TblPr.Copy(_obj.TblPr);
|
||||||
{self.}TrPr.Copy(_obj.TrPr);
|
{self.}TrPr.Copy(_obj.TrPr);
|
||||||
{self.}TcPr.Copy(_obj.TcPr);
|
{self.}TcPr.Copy(_obj.TcPr);
|
||||||
{self.}TblStylePr.Copy(_obj.TblStylePr);
|
end;
|
||||||
|
|
||||||
|
function Style.AddTblStylePr(): TblStylePr;
|
||||||
|
begin
|
||||||
|
len := length(child_elements_);
|
||||||
|
if len = 0 then i := -1;
|
||||||
|
else begin
|
||||||
|
for i:=len-1 downto 0 do
|
||||||
|
if child_elements_[i].LocalName = "tblStylePr" then break;
|
||||||
|
end
|
||||||
|
obj := new TblStylePr(self, {self.}Prefix, "tblStylePr");
|
||||||
|
{self.}InsertChild(obj, i+1);
|
||||||
|
return obj;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function Style.AppendTblStylePr(): TblStylePr;
|
||||||
|
begin
|
||||||
|
obj := new TblStylePr(self, {self.}Prefix, "tblStylePr");
|
||||||
|
child_elements_[length(child_elements_)] := obj;
|
||||||
|
return obj;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function Style.ReadTblStylePrs(_index);
|
||||||
|
begin
|
||||||
|
ind := ifnil(_index) ? -2 : _index;
|
||||||
|
arr := array();
|
||||||
|
for k,v in child_elements_ do
|
||||||
|
begin
|
||||||
|
if v.LocalName = "tblStylePr" then
|
||||||
|
begin
|
||||||
|
arr[length(arr)] := v;
|
||||||
|
ind--;
|
||||||
|
end;
|
||||||
|
if ind = -1 then return v;
|
||||||
|
end;
|
||||||
|
return arr;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function Style.ReadXmlAttrType();
|
function Style.ReadXmlAttrType();
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,8 @@ public
|
||||||
// Attributes
|
// Attributes
|
||||||
|
|
||||||
// Children
|
// Children
|
||||||
|
TblStyleRowBandSize: PureWVal;
|
||||||
|
TblStyleColBandSize: PureWVal;
|
||||||
Jc: PureWVal;
|
Jc: PureWVal;
|
||||||
TblStyle: PureWVal;
|
TblStyle: PureWVal;
|
||||||
TblW: TblW;
|
TblW: TblW;
|
||||||
|
|
@ -41,6 +43,8 @@ end;
|
||||||
|
|
||||||
function TblPr.Init();override;
|
function TblPr.Init();override;
|
||||||
begin
|
begin
|
||||||
|
{self.}TblStyleRowBandSize := new PureWVal(self, {self.}Prefix, "tblStyleRowBandSize");
|
||||||
|
{self.}TblStyleColBandSize := new PureWVal(self, {self.}Prefix, "tblStyleColBandSize");
|
||||||
{self.}Jc := new PureWVal(self, {self.}Prefix, "jc");
|
{self.}Jc := new PureWVal(self, {self.}Prefix, "jc");
|
||||||
{self.}TblStyle := new PureWVal(self, {self.}Prefix, "tblStyle");
|
{self.}TblStyle := new PureWVal(self, {self.}Prefix, "tblStyle");
|
||||||
{self.}TblW := new TblW(self, {self.}Prefix, "tblW");
|
{self.}TblW := new TblW(self, {self.}Prefix, "tblW");
|
||||||
|
|
@ -60,25 +64,29 @@ end;
|
||||||
function TblPr.InitChildren();override;
|
function TblPr.InitChildren();override;
|
||||||
begin
|
begin
|
||||||
child_elements_ := array(
|
child_elements_ := array(
|
||||||
0: {self.}Jc,
|
0: {self.}TblStyleRowBandSize,
|
||||||
1: {self.}TblStyle,
|
1: {self.}TblStyleColBandSize,
|
||||||
2: {self.}TblW,
|
2: {self.}Jc,
|
||||||
3: {self.}TblInd,
|
3: {self.}TblStyle,
|
||||||
4: {self.}TblLayout,
|
4: {self.}TblW,
|
||||||
5: {self.}TblLook,
|
5: {self.}TblInd,
|
||||||
6: {self.}TblBorders,
|
6: {self.}TblLayout,
|
||||||
7: {self.}TblCellMar,
|
7: {self.}TblLook,
|
||||||
|
8: {self.}TblBorders,
|
||||||
|
9: {self.}TblCellMar,
|
||||||
);
|
);
|
||||||
sorted_child_ := array(
|
sorted_child_ := array(
|
||||||
"": -1,
|
"": -1,
|
||||||
{self.}Jc.ElementName: 0,
|
{self.}TblStyleRowBandSize.ElementName: 0,
|
||||||
{self.}TblStyle.ElementName: 1,
|
{self.}TblStyleColBandSize.ElementName: 1,
|
||||||
{self.}TblW.ElementName: 2,
|
{self.}Jc.ElementName: 2,
|
||||||
{self.}TblInd.ElementName: 3,
|
{self.}TblStyle.ElementName: 3,
|
||||||
{self.}TblLayout.ElementName: 4,
|
{self.}TblW.ElementName: 4,
|
||||||
{self.}TblLook.ElementName: 5,
|
{self.}TblInd.ElementName: 5,
|
||||||
{self.}TblBorders.ElementName: 6,
|
{self.}TblLayout.ElementName: 6,
|
||||||
{self.}TblCellMar.ElementName: 7,
|
{self.}TblLook.ElementName: 7,
|
||||||
|
{self.}TblBorders.ElementName: 8,
|
||||||
|
{self.}TblCellMar.ElementName: 9,
|
||||||
);
|
);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
@ -122,6 +130,8 @@ end;
|
||||||
|
|
||||||
function TblPr.Copy(_obj: TblPr);override;
|
function TblPr.Copy(_obj: TblPr);override;
|
||||||
begin
|
begin
|
||||||
|
{self.}TblStyleRowBandSize.Copy(_obj.TblStyleRowBandSize);
|
||||||
|
{self.}TblStyleColBandSize.Copy(_obj.TblStyleColBandSize);
|
||||||
{self.}Jc.Copy(_obj.Jc);
|
{self.}Jc.Copy(_obj.Jc);
|
||||||
{self.}TblStyle.Copy(_obj.TblStyle);
|
{self.}TblStyle.Copy(_obj.TblStyle);
|
||||||
{self.}TblW.Copy(_obj.TblW);
|
{self.}TblW.Copy(_obj.TblW);
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,13 @@ public
|
||||||
function InitNode(_node: XmlNode);override;
|
function InitNode(_node: XmlNode);override;
|
||||||
function Copy(_obj: TblStylePr);override;
|
function Copy(_obj: TblStylePr);override;
|
||||||
|
|
||||||
|
property Type read ReadXmlAttrType write WriteXmlAttrType;
|
||||||
|
function ReadXmlAttrType();
|
||||||
|
function WriteXmlAttrType(_value);
|
||||||
|
|
||||||
public
|
public
|
||||||
// Attributes
|
// Attributes
|
||||||
|
XmlAttrType: OpenXmlAttribute;
|
||||||
|
|
||||||
// Children
|
// Children
|
||||||
PPr: PPr;
|
PPr: PPr;
|
||||||
|
|
@ -37,6 +42,7 @@ end;
|
||||||
|
|
||||||
function TblStylePr.Init();override;
|
function TblStylePr.Init();override;
|
||||||
begin
|
begin
|
||||||
|
{self.}XmlAttrType := new OpenXmlAttribute({self.}Prefix, "type", nil);
|
||||||
{self.}PPr := new PPr(self, {self.}Prefix, "pPr");
|
{self.}PPr := new PPr(self, {self.}Prefix, "pPr");
|
||||||
{self.}TblPr := new TblPr(self, {self.}Prefix, "tblPr");
|
{self.}TblPr := new TblPr(self, {self.}Prefix, "tblPr");
|
||||||
{self.}TrPr := new TrPr(self, {self.}Prefix, "trPr");
|
{self.}TrPr := new TrPr(self, {self.}Prefix, "trPr");
|
||||||
|
|
@ -46,6 +52,7 @@ end;
|
||||||
function TblStylePr.InitAttributes();override;
|
function TblStylePr.InitAttributes();override;
|
||||||
begin
|
begin
|
||||||
attributes_ := array(
|
attributes_ := array(
|
||||||
|
{self.}XmlAttrType,
|
||||||
);
|
);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
@ -106,8 +113,20 @@ end;
|
||||||
|
|
||||||
function TblStylePr.Copy(_obj: TblStylePr);override;
|
function TblStylePr.Copy(_obj: TblStylePr);override;
|
||||||
begin
|
begin
|
||||||
|
if not ifnil(_obj.XmlAttrType.Value) then
|
||||||
|
{self.}XmlAttrType.Value := _obj.XmlAttrType.Value;
|
||||||
{self.}PPr.Copy(_obj.PPr);
|
{self.}PPr.Copy(_obj.PPr);
|
||||||
{self.}TblPr.Copy(_obj.TblPr);
|
{self.}TblPr.Copy(_obj.TblPr);
|
||||||
{self.}TrPr.Copy(_obj.TrPr);
|
{self.}TrPr.Copy(_obj.TrPr);
|
||||||
{self.}TcPr.Copy(_obj.TcPr);
|
{self.}TcPr.Copy(_obj.TcPr);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TblStylePr.ReadXmlAttrType();
|
||||||
|
begin
|
||||||
|
return {self.}XmlAttrType.Value;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TblStylePr.WriteXmlAttrType(_value);
|
||||||
|
begin
|
||||||
|
{self.}XmlAttrType.Value := _value;
|
||||||
|
end;
|
||||||
|
|
|
||||||
|
|
@ -9,13 +9,17 @@ public
|
||||||
function InitNode(_node: XmlNode);override;
|
function InitNode(_node: XmlNode);override;
|
||||||
function Copy(_obj: TcPr);override;
|
function Copy(_obj: TcPr);override;
|
||||||
|
|
||||||
|
property VMerge read ReadXmlChildVMerge write WriteXmlChildVMerge;
|
||||||
|
function ReadXmlChildVMerge();
|
||||||
|
function WriteXmlChildVMerge(_value);
|
||||||
|
|
||||||
public
|
public
|
||||||
// Attributes
|
// Attributes
|
||||||
|
|
||||||
// Children
|
// Children
|
||||||
TcW: TblW;
|
TcW: TblW;
|
||||||
GridSpan: PureWVal;
|
GridSpan: GridSpan;
|
||||||
VMerge: PureWVal;
|
XmlChildVMerge: OpenXmlEmpty;
|
||||||
VAlign: PureWVal;
|
VAlign: PureWVal;
|
||||||
Shd: Shd;
|
Shd: Shd;
|
||||||
|
|
||||||
|
|
@ -39,8 +43,8 @@ end;
|
||||||
function TcPr.Init();override;
|
function TcPr.Init();override;
|
||||||
begin
|
begin
|
||||||
{self.}TcW := new TblW(self, {self.}Prefix, "tcW");
|
{self.}TcW := new TblW(self, {self.}Prefix, "tcW");
|
||||||
{self.}GridSpan := new PureWVal(self, {self.}Prefix, "gridSpan");
|
{self.}GridSpan := new GridSpan(self, {self.}Prefix, "gridSpan");
|
||||||
{self.}VMerge := new PureWVal(self, {self.}Prefix, "vMerge");
|
{self.}XmlChildVMerge := new OpenXmlEmpty(self, {self.}Prefix, "vMerge");
|
||||||
{self.}VAlign := new PureWVal(self, {self.}Prefix, "vAlign");
|
{self.}VAlign := new PureWVal(self, {self.}Prefix, "vAlign");
|
||||||
{self.}Shd := new Shd(self, {self.}Prefix, "shd");
|
{self.}Shd := new Shd(self, {self.}Prefix, "shd");
|
||||||
end;
|
end;
|
||||||
|
|
@ -56,7 +60,7 @@ begin
|
||||||
child_elements_ := array(
|
child_elements_ := array(
|
||||||
0: {self.}TcW,
|
0: {self.}TcW,
|
||||||
1: {self.}GridSpan,
|
1: {self.}GridSpan,
|
||||||
2: {self.}VMerge,
|
2: {self.}XmlChildVMerge,
|
||||||
3: {self.}VAlign,
|
3: {self.}VAlign,
|
||||||
4: {self.}Shd,
|
4: {self.}Shd,
|
||||||
);
|
);
|
||||||
|
|
@ -64,7 +68,7 @@ begin
|
||||||
"": -1,
|
"": -1,
|
||||||
{self.}TcW.ElementName: 0,
|
{self.}TcW.ElementName: 0,
|
||||||
{self.}GridSpan.ElementName: 1,
|
{self.}GridSpan.ElementName: 1,
|
||||||
{self.}VMerge.ElementName: 2,
|
{self.}XmlChildVMerge.ElementName: 2,
|
||||||
{self.}VAlign.ElementName: 3,
|
{self.}VAlign.ElementName: 3,
|
||||||
{self.}Shd.ElementName: 4,
|
{self.}Shd.ElementName: 4,
|
||||||
);
|
);
|
||||||
|
|
@ -112,7 +116,17 @@ function TcPr.Copy(_obj: TcPr);override;
|
||||||
begin
|
begin
|
||||||
{self.}TcW.Copy(_obj.TcW);
|
{self.}TcW.Copy(_obj.TcW);
|
||||||
{self.}GridSpan.Copy(_obj.GridSpan);
|
{self.}GridSpan.Copy(_obj.GridSpan);
|
||||||
{self.}VMerge.Copy(_obj.VMerge);
|
{self.}XmlChildVMerge.Copy(_obj.XmlChildVMerge);
|
||||||
{self.}VAlign.Copy(_obj.VAlign);
|
{self.}VAlign.Copy(_obj.VAlign);
|
||||||
{self.}Shd.Copy(_obj.Shd);
|
{self.}Shd.Copy(_obj.Shd);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function TcPr.ReadXmlChildVMerge();
|
||||||
|
begin
|
||||||
|
return ifnil({self.}XmlChildVMerge.Value) ? false : true;
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TcPr.WriteXmlChildVMerge(_value);
|
||||||
|
begin
|
||||||
|
{self.}XmlChildVMerge.Value := _value;
|
||||||
|
end;
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ interface
|
||||||
function EmusToPoints(value): real;
|
function EmusToPoints(value): real;
|
||||||
function HalfPointToPoints(value): real;
|
function HalfPointToPoints(value): real;
|
||||||
function PercentToNumber(value): real;
|
function PercentToNumber(value): real;
|
||||||
|
function ToInt(value): integer;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
|
|
@ -37,5 +38,11 @@ uses TSUnitConverter;
|
||||||
return TSUnitConverter.PercentToNumber(new_value);
|
return TSUnitConverter.PercentToNumber(new_value);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
function ToInt(value): integer;
|
||||||
|
begin
|
||||||
|
if ifNil(value) then return 0;
|
||||||
|
return tryStrtoInt(value, r) ? r : 0;
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue