type Chart = 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: Chart);override; public // normal property property Title read ReadXmlChildTitle; property AutoTitleDeleted read ReadXmlChildAutoTitleDeleted; property View3D read ReadXmlChildView3D; property PlotArea read ReadXmlChildPlotArea; property Legend read ReadXmlChildLegend; property PlotVisOnly read ReadXmlChildPlotVisOnly; property DispBlanksAs read ReadXmlChildDispBlanksAs; property ShowDLblsOverMax read ReadXmlChildShowDLblsOverMax; function ReadXmlChildTitle(); function ReadXmlChildAutoTitleDeleted(); function ReadXmlChildView3D(); function ReadXmlChildPlotArea(); function ReadXmlChildLegend(); function ReadXmlChildPlotVisOnly(); function ReadXmlChildDispBlanksAs(); function ReadXmlChildShowDLblsOverMax(); public // Children XmlChildTitle: Title; XmlChildAutoTitleDeleted: PureVal; XmlChildView3D: View3D; XmlChildPlotArea: PlotArea; XmlChildLegend: Legend; XmlChildPlotVisOnly: PureVal; XmlChildDispBlanksAs: PureVal; XmlChildShowDLblsOverMax: PureVal; end; function Chart.Create();overload; begin {self.}Create(nil, "c", "chart"); end; function Chart.Create(_node: XmlNode);overload; begin class(OpenXmlElement).Create(_node: XmlNode); end; function Chart.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 Chart.Init();override; begin pre := {self.}Prefix ? {self.}Prefix + ":" : ""; attributes_ := array(); attributes_pf_ := array( ); sorted_child_ := array( pre + "title": array(0, makeweakref(thisFunction(ReadXmlChildTitle))), pre + "autoTitleDeleted": array(1, makeweakref(thisFunction(ReadXmlChildAutoTitleDeleted))), pre + "view3D": array(2, makeweakref(thisFunction(ReadXmlChildView3D))), pre + "plotArea": array(3, makeweakref(thisFunction(ReadXmlChildPlotArea))), pre + "legend": array(4, makeweakref(thisFunction(ReadXmlChildLegend))), pre + "plotVisOnly": array(5, makeweakref(thisFunction(ReadXmlChildPlotVisOnly))), pre + "dispBlanksAs": array(6, makeweakref(thisFunction(ReadXmlChildDispBlanksAs))), pre + "showDLblsOverMax": array(7, makeweakref(thisFunction(ReadXmlChildShowDLblsOverMax))), ); container_ := new TSOfficeContainer(sorted_child_); end; function Chart.Copy(_obj: Chart);override; begin tslassigning_backup := tslassigning; tslassigning := 1; class(OpenXmlElement).Copy(_obj); if not ifnil(_obj.XmlChildTitle) then {self.}Title.Copy(_obj.XmlChildTitle); if not ifnil(_obj.XmlChildAutoTitleDeleted) then {self.}AutoTitleDeleted.Copy(_obj.XmlChildAutoTitleDeleted); if not ifnil(_obj.XmlChildView3D) then {self.}View3D.Copy(_obj.XmlChildView3D); if not ifnil(_obj.XmlChildPlotArea) then {self.}PlotArea.Copy(_obj.XmlChildPlotArea); if not ifnil(_obj.XmlChildLegend) then {self.}Legend.Copy(_obj.XmlChildLegend); if not ifnil(_obj.XmlChildPlotVisOnly) then {self.}PlotVisOnly.Copy(_obj.XmlChildPlotVisOnly); if not ifnil(_obj.XmlChildDispBlanksAs) then {self.}DispBlanksAs.Copy(_obj.XmlChildDispBlanksAs); if not ifnil(_obj.XmlChildShowDLblsOverMax) then {self.}ShowDLblsOverMax.Copy(_obj.XmlChildShowDLblsOverMax); tslassigning := tslassigning_backup; end; function Chart.ReadXmlChildTitle(); begin if tslassigning and ifnil({self.}XmlChildTitle) then begin {self.}XmlChildTitle := new Title(self, {self.}Prefix, "title"); container_.Set({self.}XmlChildTitle); end return {self.}XmlChildTitle; end; function Chart.ReadXmlChildAutoTitleDeleted(); begin if tslassigning and ifnil({self.}XmlChildAutoTitleDeleted) then begin {self.}XmlChildAutoTitleDeleted := new PureVal(self, {self.}Prefix, "autoTitleDeleted"); container_.Set({self.}XmlChildAutoTitleDeleted); end return {self.}XmlChildAutoTitleDeleted; end; function Chart.ReadXmlChildView3D(); begin if tslassigning and ifnil({self.}XmlChildView3D) then begin {self.}XmlChildView3D := new View3D(self, {self.}Prefix, "view3D"); container_.Set({self.}XmlChildView3D); end return {self.}XmlChildView3D; end; function Chart.ReadXmlChildPlotArea(); begin if tslassigning and ifnil({self.}XmlChildPlotArea) then begin {self.}XmlChildPlotArea := new PlotArea(self, {self.}Prefix, "plotArea"); container_.Set({self.}XmlChildPlotArea); end return {self.}XmlChildPlotArea; end; function Chart.ReadXmlChildLegend(); begin if tslassigning and ifnil({self.}XmlChildLegend) then begin {self.}XmlChildLegend := new Legend(self, {self.}Prefix, "legend"); container_.Set({self.}XmlChildLegend); end return {self.}XmlChildLegend; end; function Chart.ReadXmlChildPlotVisOnly(); begin if tslassigning and ifnil({self.}XmlChildPlotVisOnly) then begin {self.}XmlChildPlotVisOnly := new PureVal(self, {self.}Prefix, "plotVisOnly"); container_.Set({self.}XmlChildPlotVisOnly); end return {self.}XmlChildPlotVisOnly; end; function Chart.ReadXmlChildDispBlanksAs(); begin if tslassigning and ifnil({self.}XmlChildDispBlanksAs) then begin {self.}XmlChildDispBlanksAs := new PureVal(self, {self.}Prefix, "dispBlanksAs"); container_.Set({self.}XmlChildDispBlanksAs); end return {self.}XmlChildDispBlanksAs; end; function Chart.ReadXmlChildShowDLblsOverMax(); begin if tslassigning and ifnil({self.}XmlChildShowDLblsOverMax) then begin {self.}XmlChildShowDLblsOverMax := new PureVal(self, {self.}Prefix, "showDLblsOverMax"); container_.Set({self.}XmlChildShowDLblsOverMax); end return {self.}XmlChildShowDLblsOverMax; end;