OfficeXml/autoclass/docx/Comments@DOCX.tsf

461 lines
14 KiB
Plaintext

type Comments = 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: Comments);override;
function AddComment(): Comment;
function AppendComment(): Comment;
property Comments read ReadComments;
function ReadComments(_index);
property XmlnsWpc read ReadXmlAttrXmlnsWpc write WriteXmlAttrXmlnsWpc;
property XmlnsMc read ReadXmlAttrXmlnsMc write WriteXmlAttrXmlnsMc;
property XmlnsO read ReadXmlAttrXmlnsO write WriteXmlAttrXmlnsO;
property XmlnsR read ReadXmlAttrXmlnsR write WriteXmlAttrXmlnsR;
property XmlnsM read ReadXmlAttrXmlnsM write WriteXmlAttrXmlnsM;
property XmlnsV read ReadXmlAttrXmlnsV write WriteXmlAttrXmlnsV;
property XmlnsWp14 read ReadXmlAttrXmlnsWp14 write WriteXmlAttrXmlnsWp14;
property XmlnsWp read ReadXmlAttrXmlnsWp write WriteXmlAttrXmlnsWp;
property XmlnsW read ReadXmlAttrXmlnsW write WriteXmlAttrXmlnsW;
property XmlnsW14 read ReadXmlAttrXmlnsW14 write WriteXmlAttrXmlnsW14;
property XmlnsW15 read ReadXmlAttrXmlnsW15 write WriteXmlAttrXmlnsW15;
property XmlnsW10 read ReadXmlAttrXmlnsW10 write WriteXmlAttrXmlnsW10;
property XmlnsWpg read ReadXmlAttrXmlnsWpg write WriteXmlAttrXmlnsWpg;
property XmlnsWpi read ReadXmlAttrXmlnsWpi write WriteXmlAttrXmlnsWpi;
property XmlnsWne read ReadXmlAttrXmlnsWne write WriteXmlAttrXmlnsWne;
property XmlnsWps read ReadXmlAttrXmlnsWps write WriteXmlAttrXmlnsWps;
property XmlnsWpsCustomData read ReadXmlAttrXmlnsWpsCustomData write WriteXmlAttrXmlnsWpsCustomData;
property McIgnorable read ReadXmlAttrMcIgnorable write WriteXmlAttrMcIgnorable;
function ReadXmlAttrXmlnsWpc();
function WriteXmlAttrXmlnsWpc(_value);
function ReadXmlAttrXmlnsMc();
function WriteXmlAttrXmlnsMc(_value);
function ReadXmlAttrXmlnsO();
function WriteXmlAttrXmlnsO(_value);
function ReadXmlAttrXmlnsR();
function WriteXmlAttrXmlnsR(_value);
function ReadXmlAttrXmlnsM();
function WriteXmlAttrXmlnsM(_value);
function ReadXmlAttrXmlnsV();
function WriteXmlAttrXmlnsV(_value);
function ReadXmlAttrXmlnsWp14();
function WriteXmlAttrXmlnsWp14(_value);
function ReadXmlAttrXmlnsWp();
function WriteXmlAttrXmlnsWp(_value);
function ReadXmlAttrXmlnsW();
function WriteXmlAttrXmlnsW(_value);
function ReadXmlAttrXmlnsW14();
function WriteXmlAttrXmlnsW14(_value);
function ReadXmlAttrXmlnsW15();
function WriteXmlAttrXmlnsW15(_value);
function ReadXmlAttrXmlnsW10();
function WriteXmlAttrXmlnsW10(_value);
function ReadXmlAttrXmlnsWpg();
function WriteXmlAttrXmlnsWpg(_value);
function ReadXmlAttrXmlnsWpi();
function WriteXmlAttrXmlnsWpi(_value);
function ReadXmlAttrXmlnsWne();
function WriteXmlAttrXmlnsWne(_value);
function ReadXmlAttrXmlnsWps();
function WriteXmlAttrXmlnsWps(_value);
function ReadXmlAttrXmlnsWpsCustomData();
function WriteXmlAttrXmlnsWpsCustomData(_value);
function ReadXmlAttrMcIgnorable();
function WriteXmlAttrMcIgnorable(_value);
public
// Attributes
XmlAttrXmlnsWpc: OpenXmlAttribute;
XmlAttrXmlnsMc: OpenXmlAttribute;
XmlAttrXmlnsO: OpenXmlAttribute;
XmlAttrXmlnsR: OpenXmlAttribute;
XmlAttrXmlnsM: OpenXmlAttribute;
XmlAttrXmlnsV: OpenXmlAttribute;
XmlAttrXmlnsWp14: OpenXmlAttribute;
XmlAttrXmlnsWp: OpenXmlAttribute;
XmlAttrXmlnsW: OpenXmlAttribute;
XmlAttrXmlnsW14: OpenXmlAttribute;
XmlAttrXmlnsW15: OpenXmlAttribute;
XmlAttrXmlnsW10: OpenXmlAttribute;
XmlAttrXmlnsWpg: OpenXmlAttribute;
XmlAttrXmlnsWpi: OpenXmlAttribute;
XmlAttrXmlnsWne: OpenXmlAttribute;
XmlAttrXmlnsWps: OpenXmlAttribute;
XmlAttrXmlnsWpsCustomData: OpenXmlAttribute;
XmlAttrMcIgnorable: OpenXmlAttribute;
// Children
end;
function Comments.Create();overload;
begin
{self.}Create(nil, "w", "comments");
end;
function Comments.Create(_node: XmlNode);overload;
begin
class(OpenXmlElement).Create(_node: XmlNode);
end;
function Comments.Create(_parent: tslobj; _prefix: string; _local_name: string);overload;
begin
class(OpenXmlElement).Create(_parent, _prefix, _local_name);
end;
function Comments.Init();override;
begin
{self.}XmlAttrXmlnsWpc := new OpenXmlAttribute("xmlns", "wpc", nil);
{self.}XmlAttrXmlnsMc := new OpenXmlAttribute("xmlns", "mc", nil);
{self.}XmlAttrXmlnsO := new OpenXmlAttribute("xmlns", "o", nil);
{self.}XmlAttrXmlnsR := new OpenXmlAttribute("xmlns", "r", nil);
{self.}XmlAttrXmlnsM := new OpenXmlAttribute("xmlns", "m", nil);
{self.}XmlAttrXmlnsV := new OpenXmlAttribute("xmlns", "v", nil);
{self.}XmlAttrXmlnsWp14 := new OpenXmlAttribute("xmlns", "wp14", nil);
{self.}XmlAttrXmlnsWp := new OpenXmlAttribute("xmlns", "wp", nil);
{self.}XmlAttrXmlnsW := new OpenXmlAttribute("xmlns", "w", nil);
{self.}XmlAttrXmlnsW14 := new OpenXmlAttribute("xmlns", "w14", nil);
{self.}XmlAttrXmlnsW15 := new OpenXmlAttribute("xmlns", "w15", nil);
{self.}XmlAttrXmlnsW10 := new OpenXmlAttribute("xmlns", "w10", nil);
{self.}XmlAttrXmlnsWpg := new OpenXmlAttribute("xmlns", "wpg", nil);
{self.}XmlAttrXmlnsWpi := new OpenXmlAttribute("xmlns", "wpi", nil);
{self.}XmlAttrXmlnsWne := new OpenXmlAttribute("xmlns", "wne", nil);
{self.}XmlAttrXmlnsWps := new OpenXmlAttribute("xmlns", "wps", nil);
{self.}XmlAttrXmlnsWpsCustomData := new OpenXmlAttribute("xmlns", "wpsCustomData", nil);
{self.}XmlAttrMcIgnorable := new OpenXmlAttribute("mc", "Ignorable", nil);
end;
function Comments.InitAttributes();override;
begin
attributes_ := array(
{self.}XmlAttrXmlnsWpc,
{self.}XmlAttrXmlnsMc,
{self.}XmlAttrXmlnsO,
{self.}XmlAttrXmlnsR,
{self.}XmlAttrXmlnsM,
{self.}XmlAttrXmlnsV,
{self.}XmlAttrXmlnsWp14,
{self.}XmlAttrXmlnsWp,
{self.}XmlAttrXmlnsW,
{self.}XmlAttrXmlnsW14,
{self.}XmlAttrXmlnsW15,
{self.}XmlAttrXmlnsW10,
{self.}XmlAttrXmlnsWpg,
{self.}XmlAttrXmlnsWpi,
{self.}XmlAttrXmlnsWne,
{self.}XmlAttrXmlnsWps,
{self.}XmlAttrXmlnsWpsCustomData,
{self.}XmlAttrMcIgnorable,
);
end;
function Comments.InitChildren();override;
begin
child_elements_ := array(
);
sorted_child_ := array(
"": -1,
);
end;
function Comments.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;
node := ifObj(_node) ? _node.FirstChild() : nil;
flag := false;
if ifnil(child_elements_[0]) and length(child_elements_) > 0 then
begin
flag := true;
arr := child_elements_;
child_elements_ := array();
end
pre := ifString({self.}Prefix) ? {self.}Prefix + ":" : "";
while ifObj(node) do
begin
node_name := node.GetName();
pos := sorted_child_[node_name];
if ifnil(pos) or pos = -1 then
begin
obj := nil;
case node_name of
pre + "comment": obj := {self.}AppendComment();
end;
if ifObj(obj) then obj.InitNode(node);
end
else if flag then
begin
obj := arr[pos];
obj.InitNode(node);
child_elements_[length(child_elements_)] := obj;
end
else begin
child_elements_[pos].InitNode(node);
end
node := node.NextElement();
end
end;
function Comments.Copy(_obj: Comments);override;
begin
if not ifnil(_obj.XmlAttrXmlnsWpc.Value) then
{self.}XmlAttrXmlnsWpc.Value := _obj.XmlAttrXmlnsWpc.Value;
if not ifnil(_obj.XmlAttrXmlnsMc.Value) then
{self.}XmlAttrXmlnsMc.Value := _obj.XmlAttrXmlnsMc.Value;
if not ifnil(_obj.XmlAttrXmlnsO.Value) then
{self.}XmlAttrXmlnsO.Value := _obj.XmlAttrXmlnsO.Value;
if not ifnil(_obj.XmlAttrXmlnsR.Value) then
{self.}XmlAttrXmlnsR.Value := _obj.XmlAttrXmlnsR.Value;
if not ifnil(_obj.XmlAttrXmlnsM.Value) then
{self.}XmlAttrXmlnsM.Value := _obj.XmlAttrXmlnsM.Value;
if not ifnil(_obj.XmlAttrXmlnsV.Value) then
{self.}XmlAttrXmlnsV.Value := _obj.XmlAttrXmlnsV.Value;
if not ifnil(_obj.XmlAttrXmlnsWp14.Value) then
{self.}XmlAttrXmlnsWp14.Value := _obj.XmlAttrXmlnsWp14.Value;
if not ifnil(_obj.XmlAttrXmlnsWp.Value) then
{self.}XmlAttrXmlnsWp.Value := _obj.XmlAttrXmlnsWp.Value;
if not ifnil(_obj.XmlAttrXmlnsW.Value) then
{self.}XmlAttrXmlnsW.Value := _obj.XmlAttrXmlnsW.Value;
if not ifnil(_obj.XmlAttrXmlnsW14.Value) then
{self.}XmlAttrXmlnsW14.Value := _obj.XmlAttrXmlnsW14.Value;
if not ifnil(_obj.XmlAttrXmlnsW15.Value) then
{self.}XmlAttrXmlnsW15.Value := _obj.XmlAttrXmlnsW15.Value;
if not ifnil(_obj.XmlAttrXmlnsW10.Value) then
{self.}XmlAttrXmlnsW10.Value := _obj.XmlAttrXmlnsW10.Value;
if not ifnil(_obj.XmlAttrXmlnsWpg.Value) then
{self.}XmlAttrXmlnsWpg.Value := _obj.XmlAttrXmlnsWpg.Value;
if not ifnil(_obj.XmlAttrXmlnsWpi.Value) then
{self.}XmlAttrXmlnsWpi.Value := _obj.XmlAttrXmlnsWpi.Value;
if not ifnil(_obj.XmlAttrXmlnsWne.Value) then
{self.}XmlAttrXmlnsWne.Value := _obj.XmlAttrXmlnsWne.Value;
if not ifnil(_obj.XmlAttrXmlnsWps.Value) then
{self.}XmlAttrXmlnsWps.Value := _obj.XmlAttrXmlnsWps.Value;
if not ifnil(_obj.XmlAttrXmlnsWpsCustomData.Value) then
{self.}XmlAttrXmlnsWpsCustomData.Value := _obj.XmlAttrXmlnsWpsCustomData.Value;
if not ifnil(_obj.XmlAttrMcIgnorable.Value) then
{self.}XmlAttrMcIgnorable.Value := _obj.XmlAttrMcIgnorable.Value;
end;
function Comments.AddComment(): Comment;
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 = "comment" then break;
end
obj := new Comment(self, {self.}Prefix, "comment");
{self.}InsertChild(obj, i+1);
return obj;
end;
function Comments.AppendComment(): Comment;
begin
obj := new Comment(self, {self.}Prefix, "comment");
child_elements_[length(child_elements_)] := obj;
return obj;
end;
function Comments.ReadComments(_index);
begin
ind := ifnil(_index) ? -2 : _index;
arr := array();
for k,v in child_elements_ do
begin
if v.LocalName = "comment" then
begin
arr[length(arr)] := v;
ind--;
end;
if ind = -1 then return v;
end;
return arr;
end;
function Comments.ReadXmlAttrXmlnsWpc();
begin
return {self.}XmlAttrXmlnsWpc.Value;
end;
function Comments.WriteXmlAttrXmlnsWpc(_value);
begin
{self.}XmlAttrXmlnsWpc.Value := _value;
end;
function Comments.ReadXmlAttrXmlnsMc();
begin
return {self.}XmlAttrXmlnsMc.Value;
end;
function Comments.WriteXmlAttrXmlnsMc(_value);
begin
{self.}XmlAttrXmlnsMc.Value := _value;
end;
function Comments.ReadXmlAttrXmlnsO();
begin
return {self.}XmlAttrXmlnsO.Value;
end;
function Comments.WriteXmlAttrXmlnsO(_value);
begin
{self.}XmlAttrXmlnsO.Value := _value;
end;
function Comments.ReadXmlAttrXmlnsR();
begin
return {self.}XmlAttrXmlnsR.Value;
end;
function Comments.WriteXmlAttrXmlnsR(_value);
begin
{self.}XmlAttrXmlnsR.Value := _value;
end;
function Comments.ReadXmlAttrXmlnsM();
begin
return {self.}XmlAttrXmlnsM.Value;
end;
function Comments.WriteXmlAttrXmlnsM(_value);
begin
{self.}XmlAttrXmlnsM.Value := _value;
end;
function Comments.ReadXmlAttrXmlnsV();
begin
return {self.}XmlAttrXmlnsV.Value;
end;
function Comments.WriteXmlAttrXmlnsV(_value);
begin
{self.}XmlAttrXmlnsV.Value := _value;
end;
function Comments.ReadXmlAttrXmlnsWp14();
begin
return {self.}XmlAttrXmlnsWp14.Value;
end;
function Comments.WriteXmlAttrXmlnsWp14(_value);
begin
{self.}XmlAttrXmlnsWp14.Value := _value;
end;
function Comments.ReadXmlAttrXmlnsWp();
begin
return {self.}XmlAttrXmlnsWp.Value;
end;
function Comments.WriteXmlAttrXmlnsWp(_value);
begin
{self.}XmlAttrXmlnsWp.Value := _value;
end;
function Comments.ReadXmlAttrXmlnsW();
begin
return {self.}XmlAttrXmlnsW.Value;
end;
function Comments.WriteXmlAttrXmlnsW(_value);
begin
{self.}XmlAttrXmlnsW.Value := _value;
end;
function Comments.ReadXmlAttrXmlnsW14();
begin
return {self.}XmlAttrXmlnsW14.Value;
end;
function Comments.WriteXmlAttrXmlnsW14(_value);
begin
{self.}XmlAttrXmlnsW14.Value := _value;
end;
function Comments.ReadXmlAttrXmlnsW15();
begin
return {self.}XmlAttrXmlnsW15.Value;
end;
function Comments.WriteXmlAttrXmlnsW15(_value);
begin
{self.}XmlAttrXmlnsW15.Value := _value;
end;
function Comments.ReadXmlAttrXmlnsW10();
begin
return {self.}XmlAttrXmlnsW10.Value;
end;
function Comments.WriteXmlAttrXmlnsW10(_value);
begin
{self.}XmlAttrXmlnsW10.Value := _value;
end;
function Comments.ReadXmlAttrXmlnsWpg();
begin
return {self.}XmlAttrXmlnsWpg.Value;
end;
function Comments.WriteXmlAttrXmlnsWpg(_value);
begin
{self.}XmlAttrXmlnsWpg.Value := _value;
end;
function Comments.ReadXmlAttrXmlnsWpi();
begin
return {self.}XmlAttrXmlnsWpi.Value;
end;
function Comments.WriteXmlAttrXmlnsWpi(_value);
begin
{self.}XmlAttrXmlnsWpi.Value := _value;
end;
function Comments.ReadXmlAttrXmlnsWne();
begin
return {self.}XmlAttrXmlnsWne.Value;
end;
function Comments.WriteXmlAttrXmlnsWne(_value);
begin
{self.}XmlAttrXmlnsWne.Value := _value;
end;
function Comments.ReadXmlAttrXmlnsWps();
begin
return {self.}XmlAttrXmlnsWps.Value;
end;
function Comments.WriteXmlAttrXmlnsWps(_value);
begin
{self.}XmlAttrXmlnsWps.Value := _value;
end;
function Comments.ReadXmlAttrXmlnsWpsCustomData();
begin
return {self.}XmlAttrXmlnsWpsCustomData.Value;
end;
function Comments.WriteXmlAttrXmlnsWpsCustomData(_value);
begin
{self.}XmlAttrXmlnsWpsCustomData.Value := _value;
end;
function Comments.ReadXmlAttrMcIgnorable();
begin
return {self.}XmlAttrMcIgnorable.Value;
end;
function Comments.WriteXmlAttrMcIgnorable(_value);
begin
{self.}XmlAttrMcIgnorable.Value := _value;
end;