type ClrSchemeMapping = 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 Copy(_obj: ClrSchemeMapping);override; public // attributes property property Bg1 read ReadXmlAttrBg1 write WriteXmlAttrBg1; property T1 read ReadXmlAttrT1 write WriteXmlAttrT1; property Bg2 read ReadXmlAttrBg2 write WriteXmlAttrBg2; property T2 read ReadXmlAttrT2 write WriteXmlAttrT2; property Accent1 read ReadXmlAttrAccent1 write WriteXmlAttrAccent1; property Accent2 read ReadXmlAttrAccent2 write WriteXmlAttrAccent2; property Accent3 read ReadXmlAttrAccent3 write WriteXmlAttrAccent3; property Accent4 read ReadXmlAttrAccent4 write WriteXmlAttrAccent4; property Accent5 read ReadXmlAttrAccent5 write WriteXmlAttrAccent5; property Accent6 read ReadXmlAttrAccent6 write WriteXmlAttrAccent6; property HyperLink read ReadXmlAttrHyperLink write WriteXmlAttrHyperLink; property FollowedHyperlink read ReadXmlAttrFollowedHyperlink write WriteXmlAttrFollowedHyperlink; function ReadXmlAttrBg1(); function WriteXmlAttrBg1(_value); function ReadXmlAttrT1(); function WriteXmlAttrT1(_value); function ReadXmlAttrBg2(); function WriteXmlAttrBg2(_value); function ReadXmlAttrT2(); function WriteXmlAttrT2(_value); function ReadXmlAttrAccent1(); function WriteXmlAttrAccent1(_value); function ReadXmlAttrAccent2(); function WriteXmlAttrAccent2(_value); function ReadXmlAttrAccent3(); function WriteXmlAttrAccent3(_value); function ReadXmlAttrAccent4(); function WriteXmlAttrAccent4(_value); function ReadXmlAttrAccent5(); function WriteXmlAttrAccent5(_value); function ReadXmlAttrAccent6(); function WriteXmlAttrAccent6(_value); function ReadXmlAttrHyperLink(); function WriteXmlAttrHyperLink(_value); function ReadXmlAttrFollowedHyperlink(); function WriteXmlAttrFollowedHyperlink(_value); public // Attributes XmlAttrBg1: OpenXmlAttribute; XmlAttrT1: OpenXmlAttribute; XmlAttrBg2: OpenXmlAttribute; XmlAttrT2: OpenXmlAttribute; XmlAttrAccent1: OpenXmlAttribute; XmlAttrAccent2: OpenXmlAttribute; XmlAttrAccent3: OpenXmlAttribute; XmlAttrAccent4: OpenXmlAttribute; XmlAttrAccent5: OpenXmlAttribute; XmlAttrAccent6: OpenXmlAttribute; XmlAttrHyperLink: OpenXmlAttribute; XmlAttrFollowedHyperlink: OpenXmlAttribute; end; function ClrSchemeMapping.Create();overload; begin {self.}Create(nil, "w", "clrSchemeMapping"); end; function ClrSchemeMapping.Create(_node: XmlNode);overload; begin class(OpenXmlElement).Create(_node: XmlNode); end; function ClrSchemeMapping.Create(_parent: tslobj; _prefix: string; _local_name: string);overload; begin setsysparam(pn_calcctrlword(), getsysparam(pn_calcctrlword()) .| 0x200); class(OpenXmlElement).Create(_parent, _prefix, _local_name); end; function ClrSchemeMapping.Init();override; begin pre := {self.}Prefix ? {self.}Prefix + ":" : ""; attributes_ := array(); attributes_pf_ := array( pre + "bg1": makeweakref(thisFunction(WriteXmlAttrBg1)), pre + "t1": makeweakref(thisFunction(WriteXmlAttrT1)), pre + "bg2": makeweakref(thisFunction(WriteXmlAttrBg2)), pre + "t2": makeweakref(thisFunction(WriteXmlAttrT2)), pre + "accent1": makeweakref(thisFunction(WriteXmlAttrAccent1)), pre + "accent2": makeweakref(thisFunction(WriteXmlAttrAccent2)), pre + "accent3": makeweakref(thisFunction(WriteXmlAttrAccent3)), pre + "accent4": makeweakref(thisFunction(WriteXmlAttrAccent4)), pre + "accent5": makeweakref(thisFunction(WriteXmlAttrAccent5)), pre + "accent6": makeweakref(thisFunction(WriteXmlAttrAccent6)), pre + "hyperlink": makeweakref(thisFunction(WriteXmlAttrHyperLink)), pre + "followedHyperlink": makeweakref(thisFunction(WriteXmlAttrFollowedHyperlink)), ); sorted_child_ := array( ); container_ := new TSOfficeContainer(sorted_child_); end; function ClrSchemeMapping.Copy(_obj: ClrSchemeMapping);override; begin tslassigning_backup := tslassigning; tslassigning := 1; class(OpenXmlElement).Copy(_obj); if not ifnil(_obj.Bg1) then {self.}Bg1 := _obj.Bg1; if not ifnil(_obj.T1) then {self.}T1 := _obj.T1; if not ifnil(_obj.Bg2) then {self.}Bg2 := _obj.Bg2; if not ifnil(_obj.T2) then {self.}T2 := _obj.T2; if not ifnil(_obj.Accent1) then {self.}Accent1 := _obj.Accent1; if not ifnil(_obj.Accent2) then {self.}Accent2 := _obj.Accent2; if not ifnil(_obj.Accent3) then {self.}Accent3 := _obj.Accent3; if not ifnil(_obj.Accent4) then {self.}Accent4 := _obj.Accent4; if not ifnil(_obj.Accent5) then {self.}Accent5 := _obj.Accent5; if not ifnil(_obj.Accent6) then {self.}Accent6 := _obj.Accent6; if not ifnil(_obj.HyperLink) then {self.}HyperLink := _obj.HyperLink; if not ifnil(_obj.FollowedHyperlink) then {self.}FollowedHyperlink := _obj.FollowedHyperlink; tslassigning := tslassigning_backup; end; function ClrSchemeMapping.ReadXmlAttrBg1(); begin return {self.}XmlAttrBg1.Value; end; function ClrSchemeMapping.WriteXmlAttrBg1(_value); begin if ifnil({self.}XmlAttrBg1) then begin {self.}XmlAttrBg1 := new OpenXmlAttribute({self.}Prefix, "bg1", nil); attributes_[length(attributes_)] := {self.}XmlAttrBg1; end {self.}XmlAttrBg1.Value := _value; end; function ClrSchemeMapping.ReadXmlAttrT1(); begin return {self.}XmlAttrT1.Value; end; function ClrSchemeMapping.WriteXmlAttrT1(_value); begin if ifnil({self.}XmlAttrT1) then begin {self.}XmlAttrT1 := new OpenXmlAttribute({self.}Prefix, "t1", nil); attributes_[length(attributes_)] := {self.}XmlAttrT1; end {self.}XmlAttrT1.Value := _value; end; function ClrSchemeMapping.ReadXmlAttrBg2(); begin return {self.}XmlAttrBg2.Value; end; function ClrSchemeMapping.WriteXmlAttrBg2(_value); begin if ifnil({self.}XmlAttrBg2) then begin {self.}XmlAttrBg2 := new OpenXmlAttribute({self.}Prefix, "bg2", nil); attributes_[length(attributes_)] := {self.}XmlAttrBg2; end {self.}XmlAttrBg2.Value := _value; end; function ClrSchemeMapping.ReadXmlAttrT2(); begin return {self.}XmlAttrT2.Value; end; function ClrSchemeMapping.WriteXmlAttrT2(_value); begin if ifnil({self.}XmlAttrT2) then begin {self.}XmlAttrT2 := new OpenXmlAttribute({self.}Prefix, "t2", nil); attributes_[length(attributes_)] := {self.}XmlAttrT2; end {self.}XmlAttrT2.Value := _value; end; function ClrSchemeMapping.ReadXmlAttrAccent1(); begin return {self.}XmlAttrAccent1.Value; end; function ClrSchemeMapping.WriteXmlAttrAccent1(_value); begin if ifnil({self.}XmlAttrAccent1) then begin {self.}XmlAttrAccent1 := new OpenXmlAttribute({self.}Prefix, "accent1", nil); attributes_[length(attributes_)] := {self.}XmlAttrAccent1; end {self.}XmlAttrAccent1.Value := _value; end; function ClrSchemeMapping.ReadXmlAttrAccent2(); begin return {self.}XmlAttrAccent2.Value; end; function ClrSchemeMapping.WriteXmlAttrAccent2(_value); begin if ifnil({self.}XmlAttrAccent2) then begin {self.}XmlAttrAccent2 := new OpenXmlAttribute({self.}Prefix, "accent2", nil); attributes_[length(attributes_)] := {self.}XmlAttrAccent2; end {self.}XmlAttrAccent2.Value := _value; end; function ClrSchemeMapping.ReadXmlAttrAccent3(); begin return {self.}XmlAttrAccent3.Value; end; function ClrSchemeMapping.WriteXmlAttrAccent3(_value); begin if ifnil({self.}XmlAttrAccent3) then begin {self.}XmlAttrAccent3 := new OpenXmlAttribute({self.}Prefix, "accent3", nil); attributes_[length(attributes_)] := {self.}XmlAttrAccent3; end {self.}XmlAttrAccent3.Value := _value; end; function ClrSchemeMapping.ReadXmlAttrAccent4(); begin return {self.}XmlAttrAccent4.Value; end; function ClrSchemeMapping.WriteXmlAttrAccent4(_value); begin if ifnil({self.}XmlAttrAccent4) then begin {self.}XmlAttrAccent4 := new OpenXmlAttribute({self.}Prefix, "accent4", nil); attributes_[length(attributes_)] := {self.}XmlAttrAccent4; end {self.}XmlAttrAccent4.Value := _value; end; function ClrSchemeMapping.ReadXmlAttrAccent5(); begin return {self.}XmlAttrAccent5.Value; end; function ClrSchemeMapping.WriteXmlAttrAccent5(_value); begin if ifnil({self.}XmlAttrAccent5) then begin {self.}XmlAttrAccent5 := new OpenXmlAttribute({self.}Prefix, "accent5", nil); attributes_[length(attributes_)] := {self.}XmlAttrAccent5; end {self.}XmlAttrAccent5.Value := _value; end; function ClrSchemeMapping.ReadXmlAttrAccent6(); begin return {self.}XmlAttrAccent6.Value; end; function ClrSchemeMapping.WriteXmlAttrAccent6(_value); begin if ifnil({self.}XmlAttrAccent6) then begin {self.}XmlAttrAccent6 := new OpenXmlAttribute({self.}Prefix, "accent6", nil); attributes_[length(attributes_)] := {self.}XmlAttrAccent6; end {self.}XmlAttrAccent6.Value := _value; end; function ClrSchemeMapping.ReadXmlAttrHyperLink(); begin return {self.}XmlAttrHyperLink.Value; end; function ClrSchemeMapping.WriteXmlAttrHyperLink(_value); begin if ifnil({self.}XmlAttrHyperLink) then begin {self.}XmlAttrHyperLink := new OpenXmlAttribute({self.}Prefix, "hyperlink", nil); attributes_[length(attributes_)] := {self.}XmlAttrHyperLink; end {self.}XmlAttrHyperLink.Value := _value; end; function ClrSchemeMapping.ReadXmlAttrFollowedHyperlink(); begin return {self.}XmlAttrFollowedHyperlink.Value; end; function ClrSchemeMapping.WriteXmlAttrFollowedHyperlink(_value); begin if ifnil({self.}XmlAttrFollowedHyperlink) then begin {self.}XmlAttrFollowedHyperlink := new OpenXmlAttribute({self.}Prefix, "followedHyperlink", nil); attributes_[length(attributes_)] := {self.}XmlAttrFollowedHyperlink; end {self.}XmlAttrFollowedHyperlink.Value := _value; end;