#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")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
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");
}
}
else
{
this.anyField = value;
this.OnPropertyChanged("Any");
}
}
}
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; }
}
}