This commit is contained in:
csh 2024-09-06 13:44:23 +08:00
parent 7fe85108f6
commit 9101d13b21
4 changed files with 351 additions and 4 deletions

View File

@ -0,0 +1,38 @@
type CnfStyleUnitDecorator = class(CnfStyle)
uses TSSafeUnitConverter;
public
function Create(_obj: CnfStyle);
function GetObject();
function Convert();
private
object_: CnfStyle;
end;
function CnfStyleUnitDecorator.Create(_obj: CnfStyle);
begin
class(CnfStyle).Create();
object_ := _obj;
{self.}Convert();
end;
function CnfStyleUnitDecorator.GetObject();
begin
return object_;
end;
function CnfStyleUnitDecorator.Convert();
begin
{self.}XmlAttrVal.Value := object_.XmlAttrVal.Value;
{self.}XmlAttrFirstRow.Value := object_.XmlAttrFirstRow.Value;
{self.}XmlAttrLastRow.Value := object_.XmlAttrLastRow.Value;
{self.}XmlAttrFirstColumn.Value := object_.XmlAttrFirstColumn.Value;
{self.}XmlAttrLastColumn.Value := object_.XmlAttrLastColumn.Value;
{self.}XmlAttrOddVBand.Value := object_.XmlAttrOddVBand.Value;
{self.}XmlAttrEvenVBand.Value := object_.XmlAttrEvenVBand.Value;
{self.}XmlAttrOddHBand.Value := object_.XmlAttrOddHBand.Value;
{self.}XmlAttrEvenHBand.Value := object_.XmlAttrEvenHBand.Value;
{self.}XmlAttrFirstRowFirstColumn.Value := object_.XmlAttrFirstRowFirstColumn.Value;
{self.}XmlAttrFirstRowLastColumn.Value := object_.XmlAttrFirstRowLastColumn.Value;
{self.}XmlAttrLastRowFirstColumn.Value := object_.XmlAttrLastRowFirstColumn.Value;
{self.}XmlAttrLastRowLastColumn.Value := object_.XmlAttrLastRowLastColumn.Value;
end;

View File

@ -23,6 +23,8 @@ end;
function TrPrUnitDecorator.Convert(); function TrPrUnitDecorator.Convert();
begin begin
{self.}TrHeight := new TrHeightUnitDecorator(object_.TrHeight); {self.}TrHeight := new TrHeightUnitDecorator(object_.TrHeight);
{self.}TblHeader := new PureWValUnitDecorator(object_.TblHeader);
{self.}Jc := new PureWValUnitDecorator(object_.Jc); {self.}Jc := new PureWValUnitDecorator(object_.Jc);
if not ifnil(object_.XmlChildCantSplit.Value) then {self.}XmlChildCantSplit.Value := object_.XmlChildCantSplit.Value; if not ifnil(object_.XmlChildCantSplit.Value) then {self.}XmlChildCantSplit.Value := object_.XmlChildCantSplit.Value;
{self.}CnfStyle := new CnfStyleUnitDecorator(object_.CnfStyle);
end; end;

View File

@ -0,0 +1,297 @@
type CnfStyle = 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: CnfStyle);override;
property Val read ReadXmlAttrVal write WriteXmlAttrVal;
property FirstRow read ReadXmlAttrFirstRow write WriteXmlAttrFirstRow;
property LastRow read ReadXmlAttrLastRow write WriteXmlAttrLastRow;
property FirstColumn read ReadXmlAttrFirstColumn write WriteXmlAttrFirstColumn;
property LastColumn read ReadXmlAttrLastColumn write WriteXmlAttrLastColumn;
property OddVBand read ReadXmlAttrOddVBand write WriteXmlAttrOddVBand;
property EvenVBand read ReadXmlAttrEvenVBand write WriteXmlAttrEvenVBand;
property OddHBand read ReadXmlAttrOddHBand write WriteXmlAttrOddHBand;
property EvenHBand read ReadXmlAttrEvenHBand write WriteXmlAttrEvenHBand;
property FirstRowFirstColumn read ReadXmlAttrFirstRowFirstColumn write WriteXmlAttrFirstRowFirstColumn;
property FirstRowLastColumn read ReadXmlAttrFirstRowLastColumn write WriteXmlAttrFirstRowLastColumn;
property LastRowFirstColumn read ReadXmlAttrLastRowFirstColumn write WriteXmlAttrLastRowFirstColumn;
property LastRowLastColumn read ReadXmlAttrLastRowLastColumn write WriteXmlAttrLastRowLastColumn;
function ReadXmlAttrVal();
function WriteXmlAttrVal(_value);
function ReadXmlAttrFirstRow();
function WriteXmlAttrFirstRow(_value);
function ReadXmlAttrLastRow();
function WriteXmlAttrLastRow(_value);
function ReadXmlAttrFirstColumn();
function WriteXmlAttrFirstColumn(_value);
function ReadXmlAttrLastColumn();
function WriteXmlAttrLastColumn(_value);
function ReadXmlAttrOddVBand();
function WriteXmlAttrOddVBand(_value);
function ReadXmlAttrEvenVBand();
function WriteXmlAttrEvenVBand(_value);
function ReadXmlAttrOddHBand();
function WriteXmlAttrOddHBand(_value);
function ReadXmlAttrEvenHBand();
function WriteXmlAttrEvenHBand(_value);
function ReadXmlAttrFirstRowFirstColumn();
function WriteXmlAttrFirstRowFirstColumn(_value);
function ReadXmlAttrFirstRowLastColumn();
function WriteXmlAttrFirstRowLastColumn(_value);
function ReadXmlAttrLastRowFirstColumn();
function WriteXmlAttrLastRowFirstColumn(_value);
function ReadXmlAttrLastRowLastColumn();
function WriteXmlAttrLastRowLastColumn(_value);
public
// Attributes
XmlAttrVal: OpenXmlAttribute;
XmlAttrFirstRow: OpenXmlAttribute;
XmlAttrLastRow: OpenXmlAttribute;
XmlAttrFirstColumn: OpenXmlAttribute;
XmlAttrLastColumn: OpenXmlAttribute;
XmlAttrOddVBand: OpenXmlAttribute;
XmlAttrEvenVBand: OpenXmlAttribute;
XmlAttrOddHBand: OpenXmlAttribute;
XmlAttrEvenHBand: OpenXmlAttribute;
XmlAttrFirstRowFirstColumn: OpenXmlAttribute;
XmlAttrFirstRowLastColumn: OpenXmlAttribute;
XmlAttrLastRowFirstColumn: OpenXmlAttribute;
XmlAttrLastRowLastColumn: OpenXmlAttribute;
// Children
end;
function CnfStyle.Create();overload;
begin
{self.}Create(nil, "w", "cnfStyle");
end;
function CnfStyle.Create(_node: XmlNode);overload;
begin
class(OpenXmlElement).Create(_node: XmlNode);
end;
function CnfStyle.Create(_parent: tslobj; _prefix: string; _local_name: string);overload;
begin
class(OpenXmlElement).Create(_parent, _prefix, _local_name);
end;
function CnfStyle.Init();override;
begin
{self.}XmlAttrVal := new OpenXmlAttribute({self.}Prefix, "val", nil);
{self.}XmlAttrFirstRow := new OpenXmlAttribute({self.}Prefix, "firstRow", nil);
{self.}XmlAttrLastRow := new OpenXmlAttribute({self.}Prefix, "lastRow", nil);
{self.}XmlAttrFirstColumn := new OpenXmlAttribute({self.}Prefix, "firstColumn", nil);
{self.}XmlAttrLastColumn := new OpenXmlAttribute({self.}Prefix, "lastColumn", nil);
{self.}XmlAttrOddVBand := new OpenXmlAttribute({self.}Prefix, "oddVBand", nil);
{self.}XmlAttrEvenVBand := new OpenXmlAttribute({self.}Prefix, "evenVBand", nil);
{self.}XmlAttrOddHBand := new OpenXmlAttribute({self.}Prefix, "oddHBand", nil);
{self.}XmlAttrEvenHBand := new OpenXmlAttribute({self.}Prefix, "evenHBand", nil);
{self.}XmlAttrFirstRowFirstColumn := new OpenXmlAttribute({self.}Prefix, "firstRowFirstColumn", nil);
{self.}XmlAttrFirstRowLastColumn := new OpenXmlAttribute({self.}Prefix, "firstRowLastColumn", nil);
{self.}XmlAttrLastRowFirstColumn := new OpenXmlAttribute({self.}Prefix, "lastRowFirstColumn", nil);
{self.}XmlAttrLastRowLastColumn := new OpenXmlAttribute({self.}Prefix, "lastRowLastColumn", nil);
end;
function CnfStyle.InitAttributes();override;
begin
attributes_ := array(
{self.}XmlAttrVal,
{self.}XmlAttrFirstRow,
{self.}XmlAttrLastRow,
{self.}XmlAttrFirstColumn,
{self.}XmlAttrLastColumn,
{self.}XmlAttrOddVBand,
{self.}XmlAttrEvenVBand,
{self.}XmlAttrOddHBand,
{self.}XmlAttrEvenHBand,
{self.}XmlAttrFirstRowFirstColumn,
{self.}XmlAttrFirstRowLastColumn,
{self.}XmlAttrLastRowFirstColumn,
{self.}XmlAttrLastRowLastColumn,
);
end;
function CnfStyle.InitChildren();override;
begin
child_elements_ := array(
);
sorted_child_ := array(
"": -1,
);
end;
function CnfStyle.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 CnfStyle.Copy(_obj: CnfStyle);override;
begin
if not ifnil(_obj.XmlAttrVal.Value) then
{self.}XmlAttrVal.Value := _obj.XmlAttrVal.Value;
if not ifnil(_obj.XmlAttrFirstRow.Value) then
{self.}XmlAttrFirstRow.Value := _obj.XmlAttrFirstRow.Value;
if not ifnil(_obj.XmlAttrLastRow.Value) then
{self.}XmlAttrLastRow.Value := _obj.XmlAttrLastRow.Value;
if not ifnil(_obj.XmlAttrFirstColumn.Value) then
{self.}XmlAttrFirstColumn.Value := _obj.XmlAttrFirstColumn.Value;
if not ifnil(_obj.XmlAttrLastColumn.Value) then
{self.}XmlAttrLastColumn.Value := _obj.XmlAttrLastColumn.Value;
if not ifnil(_obj.XmlAttrOddVBand.Value) then
{self.}XmlAttrOddVBand.Value := _obj.XmlAttrOddVBand.Value;
if not ifnil(_obj.XmlAttrEvenVBand.Value) then
{self.}XmlAttrEvenVBand.Value := _obj.XmlAttrEvenVBand.Value;
if not ifnil(_obj.XmlAttrOddHBand.Value) then
{self.}XmlAttrOddHBand.Value := _obj.XmlAttrOddHBand.Value;
if not ifnil(_obj.XmlAttrEvenHBand.Value) then
{self.}XmlAttrEvenHBand.Value := _obj.XmlAttrEvenHBand.Value;
if not ifnil(_obj.XmlAttrFirstRowFirstColumn.Value) then
{self.}XmlAttrFirstRowFirstColumn.Value := _obj.XmlAttrFirstRowFirstColumn.Value;
if not ifnil(_obj.XmlAttrFirstRowLastColumn.Value) then
{self.}XmlAttrFirstRowLastColumn.Value := _obj.XmlAttrFirstRowLastColumn.Value;
if not ifnil(_obj.XmlAttrLastRowFirstColumn.Value) then
{self.}XmlAttrLastRowFirstColumn.Value := _obj.XmlAttrLastRowFirstColumn.Value;
if not ifnil(_obj.XmlAttrLastRowLastColumn.Value) then
{self.}XmlAttrLastRowLastColumn.Value := _obj.XmlAttrLastRowLastColumn.Value;
end;
function CnfStyle.ReadXmlAttrVal();
begin
return {self.}XmlAttrVal.Value;
end;
function CnfStyle.WriteXmlAttrVal(_value);
begin
{self.}XmlAttrVal.Value := _value;
end;
function CnfStyle.ReadXmlAttrFirstRow();
begin
return {self.}XmlAttrFirstRow.Value;
end;
function CnfStyle.WriteXmlAttrFirstRow(_value);
begin
{self.}XmlAttrFirstRow.Value := _value;
end;
function CnfStyle.ReadXmlAttrLastRow();
begin
return {self.}XmlAttrLastRow.Value;
end;
function CnfStyle.WriteXmlAttrLastRow(_value);
begin
{self.}XmlAttrLastRow.Value := _value;
end;
function CnfStyle.ReadXmlAttrFirstColumn();
begin
return {self.}XmlAttrFirstColumn.Value;
end;
function CnfStyle.WriteXmlAttrFirstColumn(_value);
begin
{self.}XmlAttrFirstColumn.Value := _value;
end;
function CnfStyle.ReadXmlAttrLastColumn();
begin
return {self.}XmlAttrLastColumn.Value;
end;
function CnfStyle.WriteXmlAttrLastColumn(_value);
begin
{self.}XmlAttrLastColumn.Value := _value;
end;
function CnfStyle.ReadXmlAttrOddVBand();
begin
return {self.}XmlAttrOddVBand.Value;
end;
function CnfStyle.WriteXmlAttrOddVBand(_value);
begin
{self.}XmlAttrOddVBand.Value := _value;
end;
function CnfStyle.ReadXmlAttrEvenVBand();
begin
return {self.}XmlAttrEvenVBand.Value;
end;
function CnfStyle.WriteXmlAttrEvenVBand(_value);
begin
{self.}XmlAttrEvenVBand.Value := _value;
end;
function CnfStyle.ReadXmlAttrOddHBand();
begin
return {self.}XmlAttrOddHBand.Value;
end;
function CnfStyle.WriteXmlAttrOddHBand(_value);
begin
{self.}XmlAttrOddHBand.Value := _value;
end;
function CnfStyle.ReadXmlAttrEvenHBand();
begin
return {self.}XmlAttrEvenHBand.Value;
end;
function CnfStyle.WriteXmlAttrEvenHBand(_value);
begin
{self.}XmlAttrEvenHBand.Value := _value;
end;
function CnfStyle.ReadXmlAttrFirstRowFirstColumn();
begin
return {self.}XmlAttrFirstRowFirstColumn.Value;
end;
function CnfStyle.WriteXmlAttrFirstRowFirstColumn(_value);
begin
{self.}XmlAttrFirstRowFirstColumn.Value := _value;
end;
function CnfStyle.ReadXmlAttrFirstRowLastColumn();
begin
return {self.}XmlAttrFirstRowLastColumn.Value;
end;
function CnfStyle.WriteXmlAttrFirstRowLastColumn(_value);
begin
{self.}XmlAttrFirstRowLastColumn.Value := _value;
end;
function CnfStyle.ReadXmlAttrLastRowFirstColumn();
begin
return {self.}XmlAttrLastRowFirstColumn.Value;
end;
function CnfStyle.WriteXmlAttrLastRowFirstColumn(_value);
begin
{self.}XmlAttrLastRowFirstColumn.Value := _value;
end;
function CnfStyle.ReadXmlAttrLastRowLastColumn();
begin
return {self.}XmlAttrLastRowLastColumn.Value;
end;
function CnfStyle.WriteXmlAttrLastRowLastColumn(_value);
begin
{self.}XmlAttrLastRowLastColumn.Value := _value;
end;

View File

@ -18,8 +18,10 @@ public
// Children // Children
TrHeight: TrHeight; TrHeight: TrHeight;
TblHeader: PureWVal;
Jc: PureWVal; Jc: PureWVal;
XmlChildCantSplit: OpenXmlEmpty; XmlChildCantSplit: OpenXmlEmpty;
CnfStyle: CnfStyle;
end; end;
@ -41,8 +43,10 @@ end;
function TrPr.Init();override; function TrPr.Init();override;
begin begin
{self.}TrHeight := new TrHeight(self, {self.}Prefix, "trHeight"); {self.}TrHeight := new TrHeight(self, {self.}Prefix, "trHeight");
{self.}TblHeader := new PureWVal(self, {self.}Prefix, "tblHeader");
{self.}Jc := new PureWVal(self, {self.}Prefix, "jc"); {self.}Jc := new PureWVal(self, {self.}Prefix, "jc");
{self.}XmlChildCantSplit := new OpenXmlEmpty(self, {self.}Prefix, "cantSplit"); {self.}XmlChildCantSplit := new OpenXmlEmpty(self, {self.}Prefix, "cantSplit");
{self.}CnfStyle := new CnfStyle(self, {self.}Prefix, "cnfStyle");
end; end;
function TrPr.InitAttributes();override; function TrPr.InitAttributes();override;
@ -55,14 +59,18 @@ function TrPr.InitChildren();override;
begin begin
child_elements_ := array( child_elements_ := array(
0: {self.}TrHeight, 0: {self.}TrHeight,
1: {self.}Jc, 1: {self.}TblHeader,
2: {self.}XmlChildCantSplit, 2: {self.}Jc,
3: {self.}XmlChildCantSplit,
4: {self.}CnfStyle,
); );
sorted_child_ := array( sorted_child_ := array(
"": -1, "": -1,
{self.}TrHeight.ElementName: 0, {self.}TrHeight.ElementName: 0,
{self.}Jc.ElementName: 1, {self.}TblHeader.ElementName: 1,
{self.}XmlChildCantSplit.ElementName: 2, {self.}Jc.ElementName: 2,
{self.}XmlChildCantSplit.ElementName: 3,
{self.}CnfStyle.ElementName: 4,
); );
end; end;
@ -107,8 +115,10 @@ end;
function TrPr.Copy(_obj: TrPr);override; function TrPr.Copy(_obj: TrPr);override;
begin begin
{self.}TrHeight.Copy(_obj.TrHeight); {self.}TrHeight.Copy(_obj.TrHeight);
{self.}TblHeader.Copy(_obj.TblHeader);
{self.}Jc.Copy(_obj.Jc); {self.}Jc.Copy(_obj.Jc);
{self.}XmlChildCantSplit.Copy(_obj.XmlChildCantSplit); {self.}XmlChildCantSplit.Copy(_obj.XmlChildCantSplit);
{self.}CnfStyle.Copy(_obj.CnfStyle);
end; end;
function TrPr.ReadXmlChildCantSplit(); function TrPr.ReadXmlChildCantSplit();