OfficeXml/autoclass/pptx/ND@PPTX.tsf

100 lines
1.9 KiB
Plaintext

type ND = class(OpenXmlElement)
public
function Create();overload;
function Create(_node);overload;
function Create(_parent, _prefix, _local_name);overload;
function Init();override;
function InitAttributes();override;
function InitChildren();override;
function InitNode(_node);override;
function Copy(_obj);override;
property N read ReadXmlAttrN write WriteXmlAttrN;
property D read ReadXmlAttrD write WriteXmlAttrD;
function ReadXmlAttrN();
function WriteXmlAttrN(_value);
function ReadXmlAttrD();
function WriteXmlAttrD(_value);
public
// Attributes
XmlAttrN;
XmlAttrD;
// Children
end;
function ND.Create();overload;
begin
self.Create(nil, nil, "");
end;
function ND.Create(_node);overload;
begin
class(OpenXmlElement).Create(_node);
end;
function ND.Create(_parent, _prefix, _local_name);overload;
begin
class(OpenXmlElement).Create(_parent, _prefix, _local_name);
end;
function ND.Init();override;
begin
self.XmlAttrN := new OpenXmlAttribute(nil, "n", nil);
self.XmlAttrD := new OpenXmlAttribute(nil, "d", nil);
end;
function ND.InitAttributes();override;
begin
attributes_ := array(
self.XmlAttrN,
self.XmlAttrD,
);
end;
function ND.InitChildren();override;
begin
child_elements_ := array(
);
sorted_child_ := array(
"": -1,
);
end;
function ND.InitNode(_node);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 ND.Copy(_obj);override;
begin
if not ifnil(_obj.XmlAttrN.Value) then
self.XmlAttrN.Value := _obj.XmlAttrN.Value;
if not ifnil(_obj.XmlAttrD.Value) then
self.XmlAttrD.Value := _obj.XmlAttrD.Value;
end;
function ND.ReadXmlAttrN();
begin
return self.XmlAttrN.Value;
end;
function ND.WriteXmlAttrN(_value);
begin
self.XmlAttrN.Value := _value;
end;
function ND.ReadXmlAttrD();
begin
return self.XmlAttrD.Value;
end;
function ND.WriteXmlAttrD(_value);
begin
self.XmlAttrD.Value := _value;
end;