OfficeXml/autoclass/docx/Tab@DOCX.tsf

118 lines
2.8 KiB
Plaintext

type Tab = 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: Tab);override;
property Val read ReadXmlAttrVal write WriteXmlAttrVal;
property Leader read ReadXmlAttrLeader write WriteXmlAttrLeader;
property Pos read ReadXmlAttrPos write WriteXmlAttrPos;
function ReadXmlAttrVal();
function WriteXmlAttrVal(_value);
function ReadXmlAttrLeader();
function WriteXmlAttrLeader(_value);
function ReadXmlAttrPos();
function WriteXmlAttrPos(_value);
public
// Attributes
XmlAttrVal: OpenXmlAttribute;
XmlAttrLeader: OpenXmlAttribute;
XmlAttrPos: OpenXmlAttribute;
// Children
end;
function Tab.Create();overload;
begin
self.Create(nil, "w", "tab");
end;
function Tab.Create(_node: XmlNode);overload;
begin
class(OpenXmlElement).Create(_node: XmlNode);
end;
function Tab.Create(_parent: tslobj; _prefix: string; _local_name: string);overload;
begin
class(OpenXmlElement).Create(_parent, _prefix, _local_name);
end;
function Tab.Init();override;
begin
self.XmlAttrVal := new OpenXmlAttribute(nil, "val", nil);
self.XmlAttrLeader := new OpenXmlAttribute(self.Prefix, "leader", nil);
self.XmlAttrPos := new OpenXmlAttribute(self.Prefix, "pos", nil);
end;
function Tab.InitAttributes();override;
begin
attributes_ := array(
self.XmlAttrVal,
self.XmlAttrLeader,
self.XmlAttrPos,
);
end;
function Tab.InitChildren();override;
begin
child_elements_ := array(
);
sorted_child_ := array(
"": -1,
);
end;
function Tab.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 Tab.Copy(_obj: Tab);override;
begin
if not ifnil(_obj.XmlAttrVal.Value) then
self.XmlAttrVal.Value := _obj.XmlAttrVal.Value;
if not ifnil(_obj.XmlAttrLeader.Value) then
self.XmlAttrLeader.Value := _obj.XmlAttrLeader.Value;
if not ifnil(_obj.XmlAttrPos.Value) then
self.XmlAttrPos.Value := _obj.XmlAttrPos.Value;
end;
function Tab.ReadXmlAttrVal();
begin
return self.XmlAttrVal.Value;
end;
function Tab.WriteXmlAttrVal(_value);
begin
self.XmlAttrVal.Value := _value;
end;
function Tab.ReadXmlAttrLeader();
begin
return self.XmlAttrLeader.Value;
end;
function Tab.WriteXmlAttrLeader(_value);
begin
self.XmlAttrLeader.Value := _value;
end;
function Tab.ReadXmlAttrPos();
begin
return self.XmlAttrPos.Value;
end;
function Tab.WriteXmlAttrPos(_value);
begin
self.XmlAttrPos.Value := _value;
end;