#region Disclaimer / License // Copyright (C) 2011, Jackie Ng // http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie@gmail.com // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA // #endregion #pragma warning disable 1591, 0114, 0108, 0114, 0108 using System; using System.Collections.Generic; using System.Text; using System.ComponentModel; using System.IO; using OSGeo.MapGuide.MaestroAPI.Schema; namespace OSGeo.MapGuide.ObjectModels.Common { [System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "3.3.0.33572")] //NOXLATE [System.SerializableAttribute()] [System.Diagnostics.DebuggerStepThroughAttribute()] [System.ComponentModel.DesignerCategoryAttribute("code")] //NOXLATE public partial class ExtendedDataType : System.ComponentModel.INotifyPropertyChanged { [EditorBrowsable(EditorBrowsableState.Never)] private System.Xml.XmlElement[] anyField; private static System.Xml.Serialization.XmlSerializer serializer; [System.Xml.Serialization.XmlAnyElementAttribute()] public System.Xml.XmlElement[] Any { get { return this.anyField; } set { if ((this.anyField != null)) { if ((anyField.Equals(value) != true)) { this.anyField = value; this.OnPropertyChanged("Any"); //NOXLATE } } else { this.anyField = value; this.OnPropertyChanged("Any"); //NOXLATE } } } private static System.Xml.Serialization.XmlSerializer Serializer { get { if ((serializer == null)) { serializer = new System.Xml.Serialization.XmlSerializer(typeof(ExtendedDataType)); } return serializer; } } public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged; public virtual void OnPropertyChanged(string info) { System.ComponentModel.PropertyChangedEventHandler handler = this.PropertyChanged; if ((handler != null)) { handler(this, new System.ComponentModel.PropertyChangedEventArgs(info)); } } #region Serialize/Deserialize /// /// Serializes current ExtendedDataType object into an XML document /// /// string XML value public virtual string Serialize() { System.IO.StreamReader streamReader = null; System.IO.MemoryStream memoryStream = null; try { memoryStream = new System.IO.MemoryStream(); Serializer.Serialize(memoryStream, this); memoryStream.Seek(0, System.IO.SeekOrigin.Begin); streamReader = new System.IO.StreamReader(memoryStream); return streamReader.ReadToEnd(); } finally { if ((streamReader != null)) { streamReader.Dispose(); } if ((memoryStream != null)) { memoryStream.Dispose(); } } } /// /// Deserializes workflow markup into an ExtendedDataType object /// /// string workflow markup to deserialize /// Output ExtendedDataType object /// output Exception value if deserialize failed /// true if this XmlSerializer can deserialize the object; otherwise, false public static bool Deserialize(string xml, out ExtendedDataType obj, out System.Exception exception) { exception = null; obj = default(ExtendedDataType); try { obj = Deserialize(xml); return true; } catch (System.Exception ex) { exception = ex; return false; } } public static bool Deserialize(string xml, out ExtendedDataType obj) { System.Exception exception = null; return Deserialize(xml, out obj, out exception); } public static ExtendedDataType Deserialize(string xml) { System.IO.StringReader stringReader = null; try { stringReader = new System.IO.StringReader(xml); return ((ExtendedDataType)(Serializer.Deserialize(System.Xml.XmlReader.Create(stringReader)))); } finally { if ((stringReader != null)) { stringReader.Dispose(); } } } /// /// Serializes current ExtendedDataType object into file /// /// full path of outupt xml file /// output Exception value if failed /// true if can serialize and save into file; otherwise, false public virtual bool SaveToFile(string fileName, out System.Exception exception) { exception = null; try { SaveToFile(fileName); return true; } catch (System.Exception e) { exception = e; return false; } } public virtual void SaveToFile(string fileName) { System.IO.StreamWriter streamWriter = null; try { string xmlString = Serialize(); System.IO.FileInfo xmlFile = new System.IO.FileInfo(fileName); streamWriter = xmlFile.CreateText(); streamWriter.WriteLine(xmlString); streamWriter.Close(); } finally { if ((streamWriter != null)) { streamWriter.Dispose(); } } } /// /// Deserializes xml markup from file into an ExtendedDataType object /// /// string xml file to load and deserialize /// Output ExtendedDataType object /// output Exception value if deserialize failed /// true if this XmlSerializer can deserialize the object; otherwise, false public static bool LoadFromFile(string fileName, out ExtendedDataType obj, out System.Exception exception) { exception = null; obj = default(ExtendedDataType); try { obj = LoadFromFile(fileName); return true; } catch (System.Exception ex) { exception = ex; return false; } } public static bool LoadFromFile(string fileName, out ExtendedDataType obj) { System.Exception exception = null; return LoadFromFile(fileName, out obj, out exception); } public static ExtendedDataType LoadFromFile(string fileName) { System.IO.FileStream file = null; System.IO.StreamReader sr = null; try { file = new System.IO.FileStream(fileName, FileMode.Open, FileAccess.Read); sr = new System.IO.StreamReader(file); string xmlString = sr.ReadToEnd(); sr.Close(); file.Close(); return Deserialize(xmlString); } finally { if ((file != null)) { file.Dispose(); } if ((sr != null)) { sr.Dispose(); } } } #endregion #region Clone method /// /// Create a clone of this ExtendedDataType object /// public virtual ExtendedDataType Clone() { return ((ExtendedDataType)(this.MemberwiseClone())); } #endregion } public interface IExpressionPropertySource { /// /// Gets the name /// string Name { get; } /// /// Gets the description /// string Description { get; } /// /// Gets the expression data type /// ExpressionDataType ExpressionType { get; } } /// /// The types of valid FDO expressions for use in Symbol Definitions /// public enum ExpressionDataType { /// /// BLOB data property /// Data_Blob, /// /// Boolean data property /// Data_Boolean, /// /// Byte data property /// Data_Byte, /// /// CLOB data property /// Data_Clob, /// /// DateTime data property /// Data_DateTime, /// /// Double data property /// Data_Double, /// /// Int16 data property /// Data_Int16, /// /// Int32 data property /// Data_Int32, /// /// Int64 data property /// Data_Int64, /// /// Single data property /// Data_Single, /// /// String data property /// Data_String, /// /// Geometry property /// Geometry, /// /// Raster property /// Raster, /// /// Association property /// Association, /// /// String symbol parameter /// Sym_String, /// /// Boolean symbol parameter /// Sym_Boolean, /// /// Integer symbol parameter /// Sym_Integer, /// /// Real symbol parameter /// Sym_Real, /// /// Color symbol parameter /// Sym_Color, /// /// Angle symbol parameter /// Sym_Angle, /// /// Fill color symbol parameter /// Sym_FillColor, /// /// Line color symbol parameter /// Sym_LineColor, /// /// Line weight symbol parameter /// Sym_LineWeight, /// /// Content symbol parameter /// Sym_Content, /// /// Markup symbol parameter /// Sym_Markup, /// /// Font name symbol parameter /// Sym_FontName, /// /// Bold symbol parameter /// Sym_Bold, /// /// Italic symbol parameter /// Sym_Italic, /// /// Underlined symbol parameter /// Sym_Underlined, /// /// Overlined symbol parameter /// Sym_Overlined, /// /// Oblique angle symbol parameter /// Sym_ObliqueAngle, /// /// Track spacing symbol parameter /// Sym_TrackSpacing, /// /// Font height symbol parameter /// Sym_FontHeight, /// /// Horizontal alignment symbol parameter /// Sym_HorizontalAlignment, /// /// Vertical alignment symbol parameter /// Sym_VerticalAlignment, /// /// Justification symbol parameter /// Sym_Justification, /// /// Line spacing symbol parameter /// Sym_LineSpacing, /// /// Text color symbol parameter /// Sym_TextColor, /// /// Ghost color symbol parameter /// Sym_GhostColor, /// /// Frame line color symbol parameter /// Sym_FrameLineColor, /// /// Frame fill color symbol parameter /// Sym_FrameFillColor, /// /// Start offset symbol parameter /// Sym_StartOffset, /// /// End offset symbol parameter /// Sym_EndOffset, /// /// Repeat X symbol parameter /// Sym_RepeatX, /// /// Repeat Y symbol parameter /// Sym_RepeatY } /// /// Represents a resource id reference /// public interface IResourceIdReference : INotifyPropertyChanged { /// /// Gets or sets the resource id. /// /// The resource id. string ResourceId { get; set; } } }