npoi
470 строк · 13.4 Кб
1
2using NPOI.OpenXml4Net.Util;3using System;4using System.IO;5using System.Xml;6using System.Xml.Serialization;7
8
9namespace NPOI.OpenXmlFormats.Dml10{
11
12
13
14[Serializable]15[System.Diagnostics.DebuggerStepThrough]16[System.ComponentModel.DesignerCategory("code")]17[XmlType(Namespace = "http://schemas.openxmlformats.org/drawingml/2006/main")]18[XmlRoot(Namespace = "http://schemas.openxmlformats.org/drawingml/2006/main", IsNullable = true)]19public class CT_StyleMatrixReference20{21
22private CT_ScRgbColor scrgbClrField;23
24private CT_SRgbColor srgbClrField;25
26private CT_HslColor hslClrField;27
28private CT_SystemColor sysClrField;29
30private CT_SchemeColor schemeClrField;31
32private CT_PresetColor prstClrField;33
34private uint idxField;35public static CT_StyleMatrixReference Parse(XmlNode node, XmlNamespaceManager namespaceManager)36{37if (node == null)38return null;39CT_StyleMatrixReference ctObj = new CT_StyleMatrixReference();40ctObj.idx = XmlHelper.ReadUInt(node.Attributes["idx"]);41foreach (XmlNode childNode in node.ChildNodes)42{43if (childNode.LocalName == "scrgbClr")44ctObj.scrgbClr = CT_ScRgbColor.Parse(childNode, namespaceManager);45else if (childNode.LocalName == "srgbClr")46ctObj.srgbClr = CT_SRgbColor.Parse(childNode, namespaceManager);47else if (childNode.LocalName == "hslClr")48ctObj.hslClr = CT_HslColor.Parse(childNode, namespaceManager);49else if (childNode.LocalName == "sysClr")50ctObj.sysClr = CT_SystemColor.Parse(childNode, namespaceManager);51else if (childNode.LocalName == "schemeClr")52ctObj.schemeClr = CT_SchemeColor.Parse(childNode, namespaceManager);53else if (childNode.LocalName == "prstClr")54ctObj.prstClr = CT_PresetColor.Parse(childNode, namespaceManager);55}56return ctObj;57}58
59
60
61internal void Write(StreamWriter sw, string nodeName)62{63sw.Write(string.Format("<a:{0}", nodeName));64XmlHelper.WriteAttribute(sw, "idx", this.idx, true);65sw.Write(">");66if (this.scrgbClr != null)67this.scrgbClr.Write(sw, "scrgbClr");68if (this.srgbClr != null)69this.srgbClr.Write(sw, "srgbClr");70if (this.hslClr != null)71this.hslClr.Write(sw, "hslClr");72if (this.sysClr != null)73this.sysClr.Write(sw, "sysClr");74if (this.schemeClr != null)75this.schemeClr.Write(sw, "schemeClr");76if (this.prstClr != null)77this.prstClr.Write(sw, "prstClr");78sw.Write(string.Format("</a:{0}>", nodeName));79}80
81[XmlElement(Order = 0)]82public CT_ScRgbColor scrgbClr83{84get85{86return this.scrgbClrField;87}88set89{90this.scrgbClrField = value;91}92}93
94[XmlElement(Order = 1)]95public CT_SRgbColor srgbClr96{97get98{99return this.srgbClrField;100}101set102{103this.srgbClrField = value;104}105}106
107[XmlElement(Order = 2)]108public CT_HslColor hslClr109{110get111{112return this.hslClrField;113}114set115{116this.hslClrField = value;117}118}119
120[XmlElement(Order = 3)]121public CT_SystemColor sysClr122{123get124{125return this.sysClrField;126}127set128{129this.sysClrField = value;130}131}132public CT_SchemeColor AddNewSchemeClr()133{134this.schemeClrField = new CT_SchemeColor();135return this.schemeClrField;136}137[XmlElement(Order = 4)]138public CT_SchemeColor schemeClr139{140get141{142return this.schemeClrField;143}144set145{146this.schemeClrField = value;147}148}149
150[XmlElement(Order = 5)]151public CT_PresetColor prstClr152{153get154{155return this.prstClrField;156}157set158{159this.prstClrField = value;160}161}162
163
164[XmlAttribute]165public uint idx166{167get168{169return this.idxField;170}171set172{173this.idxField = value;174}175}176}177
178
179
180
181[Serializable]182[System.Diagnostics.DebuggerStepThrough]183[System.ComponentModel.DesignerCategory("code")]184[XmlType(Namespace = "http://schemas.openxmlformats.org/drawingml/2006/main")]185[XmlRoot(Namespace = "http://schemas.openxmlformats.org/drawingml/2006/main", IsNullable = true)]186public class CT_FontReference187{188
189private CT_ScRgbColor scrgbClrField;190
191private CT_SRgbColor srgbClrField;192
193private CT_HslColor hslClrField;194
195private CT_SystemColor sysClrField;196
197private CT_SchemeColor schemeClrField;198
199private CT_PresetColor prstClrField;200
201private ST_FontCollectionIndex idxField;202public static CT_FontReference Parse(XmlNode node, XmlNamespaceManager namespaceManager)203{204if (node == null)205return null;206CT_FontReference ctObj = new CT_FontReference();207if (node.Attributes["idx"] != null)208ctObj.idx = (ST_FontCollectionIndex)Enum.Parse(typeof(ST_FontCollectionIndex), node.Attributes["idx"].Value);209foreach (XmlNode childNode in node.ChildNodes)210{211if (childNode.LocalName == "scrgbClr")212ctObj.scrgbClr = CT_ScRgbColor.Parse(childNode, namespaceManager);213else if (childNode.LocalName == "srgbClr")214ctObj.srgbClr = CT_SRgbColor.Parse(childNode, namespaceManager);215else if (childNode.LocalName == "hslClr")216ctObj.hslClr = CT_HslColor.Parse(childNode, namespaceManager);217else if (childNode.LocalName == "sysClr")218ctObj.sysClr = CT_SystemColor.Parse(childNode, namespaceManager);219else if (childNode.LocalName == "schemeClr")220ctObj.schemeClr = CT_SchemeColor.Parse(childNode, namespaceManager);221else if (childNode.LocalName == "prstClr")222ctObj.prstClr = CT_PresetColor.Parse(childNode, namespaceManager);223}224return ctObj;225}226
227
228
229internal void Write(StreamWriter sw, string nodeName)230{231sw.Write(string.Format("<a:{0}", nodeName));232XmlHelper.WriteAttribute(sw, "idx", this.idx.ToString());233sw.Write(">");234if (this.scrgbClr != null)235this.scrgbClr.Write(sw, "scrgbClr");236if (this.srgbClr != null)237this.srgbClr.Write(sw, "srgbClr");238if (this.hslClr != null)239this.hslClr.Write(sw, "hslClr");240if (this.sysClr != null)241this.sysClr.Write(sw, "sysClr");242if (this.schemeClr != null)243this.schemeClr.Write(sw, "schemeClr");244if (this.prstClr != null)245this.prstClr.Write(sw, "prstClr");246sw.Write(string.Format("</a:{0}>", nodeName));247}248[XmlElement(Order = 0)]249public CT_ScRgbColor scrgbClr250{251get252{253return this.scrgbClrField;254}255set256{257this.scrgbClrField = value;258}259}260
261[XmlElement(Order = 1)]262public CT_SRgbColor srgbClr263{264get265{266return this.srgbClrField;267}268set269{270this.srgbClrField = value;271}272}273
274[XmlElement(Order = 2)]275public CT_HslColor hslClr276{277get278{279return this.hslClrField;280}281set282{283this.hslClrField = value;284}285}286
287[XmlElement(Order = 3)]288public CT_SystemColor sysClr289{290get291{292return this.sysClrField;293}294set295{296this.sysClrField = value;297}298}299public CT_SchemeColor AddNewSchemeClr()300{301this.schemeClrField = new CT_SchemeColor();302return this.schemeClrField;303}304[XmlElement(Order = 4)]305public CT_SchemeColor schemeClr306{307get308{309return this.schemeClrField;310}311set312{313this.schemeClrField = value;314}315}316
317[XmlElement(Order = 5)]318public CT_PresetColor prstClr319{320get321{322return this.prstClrField;323}324set325{326this.prstClrField = value;327}328}329
330
331[XmlAttribute]332public ST_FontCollectionIndex idx333{334get335{336return this.idxField;337}338set339{340this.idxField = value;341}342}343}344
345
346
347
348[Serializable]349[System.Diagnostics.DebuggerStepThrough]350[System.ComponentModel.DesignerCategory("code")]351[XmlType(Namespace = "http://schemas.openxmlformats.org/drawingml/2006/main")]352[XmlRoot(Namespace = "http://schemas.openxmlformats.org/drawingml/2006/main", IsNullable = true)]353public class CT_ShapeStyle354{355
356private CT_StyleMatrixReference lnRefField;357
358private CT_StyleMatrixReference fillRefField;359
360private CT_StyleMatrixReference effectRefField;361
362private CT_FontReference fontRefField;363public static CT_ShapeStyle Parse(XmlNode node, XmlNamespaceManager namespaceManager)364{365if (node == null)366return null;367CT_ShapeStyle ctObj = new CT_ShapeStyle();368foreach (XmlNode childNode in node.ChildNodes)369{370if (childNode.LocalName == "lnRef")371ctObj.lnRef = CT_StyleMatrixReference.Parse(childNode, namespaceManager);372else if (childNode.LocalName == "fillRef")373ctObj.fillRef = CT_StyleMatrixReference.Parse(childNode, namespaceManager);374else if (childNode.LocalName == "effectRef")375ctObj.effectRef = CT_StyleMatrixReference.Parse(childNode, namespaceManager);376else if (childNode.LocalName == "fontRef")377ctObj.fontRef = CT_FontReference.Parse(childNode, namespaceManager);378}379return ctObj;380}381
382
383
384internal void Write(StreamWriter sw, string nodeName)385{386sw.Write(string.Format("<a:{0}", nodeName));387sw.Write(">");388if (this.lnRef != null)389this.lnRef.Write(sw, "lnRef");390if (this.fillRef != null)391this.fillRef.Write(sw, "fillRef");392if (this.effectRef != null)393this.effectRef.Write(sw, "effectRef");394if (this.fontRef != null)395this.fontRef.Write(sw, "fontRef");396sw.Write(string.Format("</a:{0}>", nodeName));397}398
399public CT_StyleMatrixReference AddNewFillRef()400{401this.fillRefField = new CT_StyleMatrixReference();402return this.fillRefField;403}404public CT_StyleMatrixReference AddNewLnRef()405{406this.lnRefField = new CT_StyleMatrixReference();407return this.lnRefField;408}409public CT_FontReference AddNewFontRef()410{411this.fontRefField = new CT_FontReference();412return this.fontRefField;413}414public CT_StyleMatrixReference AddNewEffectRef()415{416this.effectRefField = new CT_StyleMatrixReference();417return this.effectRefField;418}419[XmlElement(Order = 0)]420public CT_StyleMatrixReference lnRef421{422get423{424return this.lnRefField;425}426set427{428this.lnRefField = value;429}430}431
432[XmlElement(Order = 1)]433public CT_StyleMatrixReference fillRef434{435get436{437return this.fillRefField;438}439set440{441this.fillRefField = value;442}443}444
445[XmlElement(Order = 2)]446public CT_StyleMatrixReference effectRef447{448get449{450return this.effectRefField;451}452set453{454this.effectRefField = value;455}456}457
458[XmlElement(Order = 3)]459public CT_FontReference fontRef460{461get462{463return this.fontRefField;464}465set466{467this.fontRefField = value;468}469}470}471}
472