[mapguide-commits] r5263 - in sandbox/maestro-3.0:
ExtendedModels/SymbolDefinition-1.1.0 Generated
OSGeo.MapGuide.MaestroAPI OSGeo.MapGuide.MaestroAPI/ObjectModels
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Sun Oct 10 20:28:00 EDT 2010
Author: jng
Date: 2010-10-10 17:28:00 -0700 (Sun, 10 Oct 2010)
New Revision: 5263
Added:
sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/SymbolInterfaces.cs
Modified:
sandbox/maestro-3.0/ExtendedModels/SymbolDefinition-1.1.0/OSGeo.MapGuide.ObjectModels.SymbolDefinition-1.1.0.csproj
sandbox/maestro-3.0/Generated/LayerDefinition-1.1.0.designer.cs
sandbox/maestro-3.0/Generated/LayerDefinition-1.2.0.designer.cs
sandbox/maestro-3.0/Generated/LayerDefinition-1.3.0.designer.cs
sandbox/maestro-3.0/Generated/SymbolDefinition-1.0.0.designer.cs
sandbox/maestro-3.0/Generated/SymbolDefinition-1.1.0.designer.cs
sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/OSGeo.MapGuide.MaestroAPI.csproj
sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/LayerInterfaces.cs
Log:
Introduce new interfaces to the 3.0 sandbox
- Introduce interfaces for Layer Definition schemas 1.1.0, 1.2.0 and 1.3.0
- Introduce interfaces for Symbol Definition schema 1.0.0
Nothing implements these interfaces thus far. Existing classes will be augmented to implement these interfaces in a future submission
Modified: sandbox/maestro-3.0/ExtendedModels/SymbolDefinition-1.1.0/OSGeo.MapGuide.ObjectModels.SymbolDefinition-1.1.0.csproj
===================================================================
--- sandbox/maestro-3.0/ExtendedModels/SymbolDefinition-1.1.0/OSGeo.MapGuide.ObjectModels.SymbolDefinition-1.1.0.csproj 2010-10-09 03:01:44 UTC (rev 5262)
+++ sandbox/maestro-3.0/ExtendedModels/SymbolDefinition-1.1.0/OSGeo.MapGuide.ObjectModels.SymbolDefinition-1.1.0.csproj 2010-10-11 00:28:00 UTC (rev 5263)
@@ -41,6 +41,12 @@
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\OSGeo.MapGuide.MaestroAPI\OSGeo.MapGuide.MaestroAPI.csproj">
+ <Project>{80FA3158-8B5F-48D1-A393-0378AFE48A7E}</Project>
+ <Name>OSGeo.MapGuide.MaestroAPI</Name>
+ </ProjectReference>
+ </ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
Modified: sandbox/maestro-3.0/Generated/LayerDefinition-1.1.0.designer.cs
===================================================================
--- sandbox/maestro-3.0/Generated/LayerDefinition-1.1.0.designer.cs 2010-10-09 03:01:44 UTC (rev 5262)
+++ sandbox/maestro-3.0/Generated/LayerDefinition-1.1.0.designer.cs 2010-10-11 00:28:00 UTC (rev 5263)
@@ -17855,17 +17855,6 @@
[System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "3.3.0.33572")]
[System.SerializableAttribute()]
- public enum ElevationTypeType {
-
- /// <remarks/>
- RelativeToGround,
-
- /// <remarks/>
- Absolute,
- }
-
- [System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "3.3.0.33572")]
- [System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=true)]
Modified: sandbox/maestro-3.0/Generated/LayerDefinition-1.2.0.designer.cs
===================================================================
--- sandbox/maestro-3.0/Generated/LayerDefinition-1.2.0.designer.cs 2010-10-09 03:01:44 UTC (rev 5262)
+++ sandbox/maestro-3.0/Generated/LayerDefinition-1.2.0.designer.cs 2010-10-11 00:28:00 UTC (rev 5263)
@@ -13329,17 +13329,6 @@
[System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "3.3.0.33572")]
[System.SerializableAttribute()]
- public enum FeatureNameType {
-
- /// <remarks/>
- FeatureClass,
-
- /// <remarks/>
- NamedExtension,
- }
-
- [System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "3.3.0.33572")]
- [System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=true)]
@@ -16793,40 +16782,6 @@
[System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "3.3.0.33572")]
[System.SerializableAttribute()]
- public enum UsageContextType {
-
- /// <remarks/>
- Unspecified,
-
- /// <remarks/>
- Point,
-
- /// <remarks/>
- Line,
-
- /// <remarks/>
- Area,
- }
-
- [System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "3.3.0.33572")]
- [System.SerializableAttribute()]
- public enum GeometryContextType {
-
- /// <remarks/>
- Unspecified,
-
- /// <remarks/>
- Point,
-
- /// <remarks/>
- LineString,
-
- /// <remarks/>
- Polygon,
- }
-
- [System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "3.3.0.33572")]
- [System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=true)]
@@ -18388,17 +18343,6 @@
[System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "3.3.0.33572")]
[System.SerializableAttribute()]
- public enum ElevationTypeType {
-
- /// <remarks/>
- RelativeToGround,
-
- /// <remarks/>
- Absolute,
- }
-
- [System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "3.3.0.33572")]
- [System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=true)]
Modified: sandbox/maestro-3.0/Generated/LayerDefinition-1.3.0.designer.cs
===================================================================
--- sandbox/maestro-3.0/Generated/LayerDefinition-1.3.0.designer.cs 2010-10-09 03:01:44 UTC (rev 5262)
+++ sandbox/maestro-3.0/Generated/LayerDefinition-1.3.0.designer.cs 2010-10-11 00:28:00 UTC (rev 5263)
@@ -13328,17 +13328,6 @@
[System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "3.3.0.33572")]
[System.SerializableAttribute()]
- public enum FeatureNameType {
-
- /// <remarks/>
- FeatureClass,
-
- /// <remarks/>
- NamedExtension,
- }
-
- [System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "3.3.0.33572")]
- [System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=true)]
@@ -16832,40 +16821,6 @@
[System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "3.3.0.33572")]
[System.SerializableAttribute()]
- public enum UsageContextType {
-
- /// <remarks/>
- Unspecified,
-
- /// <remarks/>
- Point,
-
- /// <remarks/>
- Line,
-
- /// <remarks/>
- Area,
- }
-
- [System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "3.3.0.33572")]
- [System.SerializableAttribute()]
- public enum GeometryContextType {
-
- /// <remarks/>
- Unspecified,
-
- /// <remarks/>
- Point,
-
- /// <remarks/>
- LineString,
-
- /// <remarks/>
- Polygon,
- }
-
- [System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "3.3.0.33572")]
- [System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=true)]
@@ -18467,17 +18422,6 @@
[System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "3.3.0.33572")]
[System.SerializableAttribute()]
- public enum ElevationTypeType {
-
- /// <remarks/>
- RelativeToGround,
-
- /// <remarks/>
- Absolute,
- }
-
- [System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "3.3.0.33572")]
- [System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=true)]
Modified: sandbox/maestro-3.0/Generated/SymbolDefinition-1.0.0.designer.cs
===================================================================
--- sandbox/maestro-3.0/Generated/SymbolDefinition-1.0.0.designer.cs 2010-10-09 03:01:44 UTC (rev 5262)
+++ sandbox/maestro-3.0/Generated/SymbolDefinition-1.0.0.designer.cs 2010-10-11 00:28:00 UTC (rev 5263)
@@ -1939,26 +1939,6 @@
#endregion
}
- [System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "3.3.0.33572")]
- [System.SerializableAttribute()]
- public enum DataType {
-
- /// <remarks/>
- String,
-
- /// <remarks/>
- Boolean,
-
- /// <remarks/>
- Integer,
-
- /// <remarks/>
- Real,
-
- /// <remarks/>
- Color,
- }
-
/// <summary>
/// The list of parameters used in this symbol. If a parameter is not listed here this is considered a bug in the symbol definition.
/// </summary>
Modified: sandbox/maestro-3.0/Generated/SymbolDefinition-1.1.0.designer.cs
===================================================================
--- sandbox/maestro-3.0/Generated/SymbolDefinition-1.1.0.designer.cs 2010-10-09 03:01:44 UTC (rev 5262)
+++ sandbox/maestro-3.0/Generated/SymbolDefinition-1.1.0.designer.cs 2010-10-11 00:28:00 UTC (rev 5263)
@@ -4,7 +4,7 @@
// <NameSpace>OSGeo.MapGuide.ObjectModels.SymbolDefinition</NameSpace><Collection>BindingList</Collection><codeType>CSharp</codeType><EnableDataBinding>True</EnableDataBinding><EnableLasyLoading>False</EnableLasyLoading><HidePrivateFieldInIDE>True</HidePrivateFieldInIDE><EnableSummaryComment>True</EnableSummaryComment><IncludeSerializeMethod>True</IncludeSerializeMethod><UseBaseClass>False</UseBaseClass><GenerateCloneMethod>True</GenerateCloneMethod><GenerateDataContracts>False</GenerateDataContracts><CodeBaseTag>Net20</CodeBaseTag><SerializeMethodName>Serialize</SerializeMethodName><DeserializeMethodName>Deserialize</DeserializeMethodName><SaveToFileMethodName>SaveToFile</SaveToFileMethodName><LoadFromFileMethodName>LoadFromFile</LoadFromFileMethodName><GenerateXMLAttributes>True</GenerateXMLAttributes><AutomaticProperties>False</AutomaticProperties><DisableDebug>False</DisableDebug><CustomUsings></CustomUsings><ExcludeIncludedTypes>False</ExcludeIncludedTypes><EnableIni
tializeFields>False</EnableInitializeFields>
// </auto-generated>
// ------------------------------------------------------------------------------
-namespace OSGeo.MapGuide.ObjectModels.SymbolDefinition {
+namespace OSGeo.MapGuide.ObjectModels.SymbolDefinition_1_1_0 {
using System;
using System.Diagnostics;
using System.Xml.Serialization;
@@ -12,8 +12,8 @@
using System.Xml.Schema;
using System.ComponentModel;
using System.IO;
+ using OSGeo.MapGuide.ObjectModels.SymbolDefinition;
-
[System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "3.3.0.33572")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
@@ -1938,104 +1938,6 @@
#endregion
}
- [System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "3.3.0.33572")]
- [System.SerializableAttribute()]
- public enum DataType {
-
- /// <remarks/>
- String,
-
- /// <remarks/>
- Boolean,
-
- /// <remarks/>
- Integer,
-
- /// <remarks/>
- Real,
-
- /// <remarks/>
- Color,
-
- /// <remarks/>
- Angle,
-
- /// <remarks/>
- FillColor,
-
- /// <remarks/>
- LineColor,
-
- /// <remarks/>
- LineWeight,
-
- /// <remarks/>
- Content,
-
- /// <remarks/>
- Markup,
-
- /// <remarks/>
- FontName,
-
- /// <remarks/>
- Bold,
-
- /// <remarks/>
- Italic,
-
- /// <remarks/>
- Underlined,
-
- /// <remarks/>
- Overlined,
-
- /// <remarks/>
- ObliqueAngle,
-
- /// <remarks/>
- TrackSpacing,
-
- /// <remarks/>
- FontHeight,
-
- /// <remarks/>
- HorizontalAlignment,
-
- /// <remarks/>
- VerticalAlignment,
-
- /// <remarks/>
- Justification,
-
- /// <remarks/>
- LineSpacing,
-
- /// <remarks/>
- TextColor,
-
- /// <remarks/>
- GhostColor,
-
- /// <remarks/>
- FrameLineColor,
-
- /// <remarks/>
- FrameFillColor,
-
- /// <remarks/>
- StartOffset,
-
- /// <remarks/>
- EndOffset,
-
- /// <remarks/>
- RepeatX,
-
- /// <remarks/>
- RepeatY,
- }
-
/// <summary>
/// The list of parameters used in this symbol. If a parameter is not listed here this is considered a bug in the symbol definition.
/// </summary>
Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/OSGeo.MapGuide.MaestroAPI.csproj
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/OSGeo.MapGuide.MaestroAPI.csproj 2010-10-09 03:01:44 UTC (rev 5262)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/OSGeo.MapGuide.MaestroAPI.csproj 2010-10-11 00:28:00 UTC (rev 5263)
@@ -194,6 +194,7 @@
<Compile Include="ObjectModels\Envelope.cs" />
<Compile Include="ObjectModels\FeatureSource.cs" />
<Compile Include="ObjectModels\LayerFactory.cs" />
+ <Compile Include="ObjectModels\SymbolInterfaces.cs" />
<Compile Include="ObjectModels\VectorLayerDefinitionImpl.cs" />
<Compile Include="ObjectModels\LayerInterfaceExtensions.cs" />
<Compile Include="ObjectModels\LayerInterfaces.cs" />
Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/LayerInterfaces.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/LayerInterfaces.cs 2010-10-09 03:01:44 UTC (rev 5262)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/LayerInterfaces.cs 2010-10-11 00:28:00 UTC (rev 5263)
@@ -29,6 +29,7 @@
using OSGeo.MapGuide.MaestroAPI;
using OSGeo.MapGuide.MaestroAPI.ObjectModels;
using System.ComponentModel;
+using OSGeo.MapGuide.ObjectModels.SymbolDefinition;
namespace OSGeo.MapGuide.ObjectModels.LayerDefinition
{
@@ -1247,4 +1248,193 @@
}
#endregion
+
+ #region Layer Definition 1.1.0 interfaces
+
+ [System.SerializableAttribute()]
+ public enum ElevationTypeType
+ {
+
+ /// <remarks/>
+ RelativeToGround,
+
+ /// <remarks/>
+ Absolute,
+ }
+
+ /// <summary>
+ /// Represents a composite style definition
+ /// </summary>
+ public interface ICompositeTypeStyle
+ {
+ IEnumerable<ICompositeRule> CompositeRule { get; }
+
+ void AddCompositeRule(ICompositeRule compRule);
+
+ void RemoveCompositeRule(ICompositeRule compRule);
+ }
+
+ public interface ICompositeRule
+ {
+ string LegendLabel { get; set; }
+
+ string Filter { get; set; }
+
+ ICompositeSymbolization CompositeSymbolization { get; set; }
+ }
+
+ public interface ICompositeSymbolization
+ {
+ IEnumerable<ISymbolInstance> SymbolInstance { get; }
+
+ void AddSymbolInstance(ISymbolInstance inst);
+
+ void RemoveSymbolInstance(ISymbolInstance inst);
+ }
+
+ /// <summary>
+ /// Represents a parameter override
+ /// </summary>
+ public interface IParameterOverride
+ {
+ /// <summary>
+ /// Gets or sets the name of the symbol definition containing that parameter being overridden
+ /// </summary>
+ string SymbolName { get; set; }
+
+ /// <summary>
+ /// Gets or sets the identifier of the parameter being overridden
+ /// </summary>
+ string ParameterIdentifier { get; set; }
+
+ /// <summary>
+ /// Gets or sets the override value for the parameter
+ /// </summary>
+ string ParameterValue { get; set; }
+ }
+
+ /// <summary>
+ /// A collection of parameter overrides
+ /// </summary>
+ public interface IParameterOverrideCollection
+ {
+ IEnumerable<IParameterOverride> Override { get; }
+
+ void AddOverride(IParameterOverride ov);
+
+ void RemoveOverride(IParameterOverride ov);
+ }
+
+
+
+ public interface IElevationSettings
+ {
+ string ZOffset { get; set; }
+ string ZExtrusion { get; set; }
+ ElevationTypeType ZOffsetType { get; set; }
+ LengthUnitType Unit { get; set; }
+ }
+
+ #endregion
+
+ #region Layer Definition 1.2.0 interfaces
+
+ [System.SerializableAttribute()]
+ public enum UsageContextType
+ {
+
+ /// <remarks/>
+ Unspecified,
+
+ /// <remarks/>
+ Point,
+
+ /// <remarks/>
+ Line,
+
+ /// <remarks/>
+ Area,
+ }
+
+ [System.SerializableAttribute()]
+ public enum GeometryContextType
+ {
+
+ /// <remarks/>
+ Unspecified,
+
+ /// <remarks/>
+ Point,
+
+ /// <remarks/>
+ LineString,
+
+ /// <remarks/>
+ Polygon,
+ }
+
+ /// <summary>
+ /// Provides legend labeling information for a theme
+ /// </summary>
+ public interface IThemeLabel
+ {
+ /// <summary>
+ /// Gets or sets the legend description for the theme
+ /// </summary>
+ string Description { get; set; }
+
+ /// <summary>
+ /// Gets or sets the default legend format to use for each category
+ /// </summary>
+ string CategoryFormat { get; set; }
+ }
+
+ /// <summary>
+ /// Version 2 of parameter overrides that supports theme labels. Applies to v1.2.0 of the Layer Definition schema
+ /// </summary>
+ public interface IParameterOverride2 : IParameterOverride
+ {
+ IThemeLabel ThemeLabel { get; set; }
+ }
+
+ /// <summary>
+ /// Version 2 of symbol instance that supports rendering passes and specific contexts. Applies to v1.2.0 of the Layer Definition schema
+ /// </summary>
+ public interface ISymbolInstance2 : ISymbolInstance
+ {
+ string RenderingPass { get; set; }
+
+ UsageContextType UsageContext { get; set; }
+
+ GeometryContextType GeometryContext { get; set; }
+ }
+
+ #endregion
+
+ #region Layer Definition 1.3.0 interfaces
+
+ public interface IPointVectorStyle2 : IPointVectorStyle
+ {
+ bool ShowInLegend { get; set; }
+ }
+
+ public interface ILineVectorStyle2 : ILineVectorStyle
+ {
+ bool ShowInLegend { get; set; }
+ }
+
+ public interface IAreaVectorStyle2 : IAreaVectorStyle
+ {
+ bool ShowInLegend { get; set; }
+ }
+
+ public interface ICompositeTypeStyle2 : ICompositeTypeStyle
+ {
+ bool ShowInLegend { get; set; }
+ }
+
+ #endregion
+
+ #region Layer Definition 2.3.0 interfaces
+ #endregion
}
Added: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/SymbolInterfaces.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/SymbolInterfaces.cs (rev 0)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/SymbolInterfaces.cs 2010-10-11 00:28:00 UTC (rev 5263)
@@ -0,0 +1,619 @@
+#region Disclaimer / License
+// Copyright (C) 2010, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at 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
+using System;
+using System.Collections.Generic;
+using System.Text;
+using OSGeo.MapGuide.ObjectModels.LayerDefinition;
+
+namespace OSGeo.MapGuide.ObjectModels.SymbolDefinition
+{
+ public enum SymbolInstanceType
+ {
+ /// <summary>
+ /// A library reference to an existing symbol definition
+ /// </summary>
+ Reference,
+ /// <summary>
+ /// An inline simple symbol definition
+ /// </summary>
+ Simple,
+ /// <summary>
+ /// An inline compound symbol definition
+ /// </summary>
+ Compound
+ }
+
+ /// <summary>
+ /// Represents a symbol instance used for advanced cartographic stylization
+ /// </summary>
+ public interface ISymbolInstance
+ {
+ ISymbolInstanceReference Reference { get; set; }
+
+ IParameterOverrideCollection ParameterOverrides { get; }
+
+ double? ScaleX { get; set; }
+
+ double? ScaleY { get; set; }
+
+ double? InsertionOffsetX { get; set; }
+
+ double? InsertionOffsetY { get; set; }
+
+ SizeContextType SizeContext { get; set; }
+
+ bool? DrawLast { get; set; }
+
+ bool? CheckExclusionRegion { get; set; }
+
+ bool? AddToExclusionRegion { get; set; }
+
+ string PositionAlgorithm { get; set; }
+ }
+
+ public interface ISymbolInstanceReference
+ {
+ SymbolInstanceType Type { get; }
+ }
+
+ public interface ISymbolLibraryReference : ISymbolInstanceReference
+ {
+ string ResourceId { get; set; }
+ }
+
+ public interface IInlineSimpleSymbolReference : ISymbolInstanceReference
+ {
+ ISimpleSymbolDefinition SimpleSymbolDefinition { get; set; }
+ }
+
+ public interface IInlineCompoundSymbolReference : ISymbolInstanceReference
+ {
+ ICompoundSymbolDefinition CompoundSymbolDefinition { get; set; }
+ }
+
+ #region Symbol Definition 1.0.0 interfaces
+
+ /// <summary>
+ /// Base interface of all symbol definitions
+ /// </summary>
+ public interface ISymbolDefinitionBase
+ {
+ string Name { get; set; }
+
+ string Description { get; set; }
+ }
+
+ public interface ISimpleSymbolDefinition : ISymbolDefinitionBase
+ {
+ IEnumerable<IGraphics> Graphics { get; }
+
+ void AddGraphics(IGraphics graphics);
+
+ void RemoveGraphics(IGraphics graphics);
+
+ IResizeBox ResizeBox { get; set; }
+
+ IPointUsage PointUsage { get; set; }
+
+ ILineUsage LineUsage { get; set; }
+
+ IAreaUsage AreaUsage { get; set; }
+
+ IParameterDefinition ParameterDefinition { get; }
+ }
+
+ public interface ICompoundSymbolDefinition : ISymbolDefinitionBase
+ {
+ IEnumerable<ISimpleSymbolReferenceBase> SimpleSymbol { get; }
+
+ void AddSimpleSymbol(ISimpleSymbolReferenceBase sym);
+
+ void RemoveSimpleSymbol(ISimpleSymbolReferenceBase sym);
+ }
+
+ /// <summary>
+ /// A collection of graphic elements
+ /// </summary>
+ public interface IGraphics
+ {
+ IEnumerable<IGraphicBase> Elements { get; }
+
+ void AddGraphicElement(IGraphicBase graphics);
+
+ void RemoveGraphicElement(IGraphicBase graphics);
+ }
+
+ /// <summary>
+ /// Defines a resize box used with SimpleSymbolDefinitions
+ /// </summary>
+ public interface IResizeBox
+ {
+ /// <summary>
+ /// Gets or sets initial width of the resize box, in mm. This must be greater than or equal to zero
+ /// </summary>
+ double? SizeX { get; set; }
+
+ /// <summary>
+ /// Gets or sets initial height of the resize box, in mm. This must be greater than or equal to zero
+ /// </summary>
+ double? SizeY { get; set; }
+
+ /// <summary>
+ /// Gets or sets initial x-coordinate of the resize box center, in mm
+ /// </summary>
+ double? PositionX { get; set; }
+
+ /// <summary>
+ /// Gets or sets initial y-coordinate of the resize box center, in mm
+ /// </summary>
+ double? PositionY { get; set; }
+
+ /// <summary>
+ /// Gets or sets how the resize box grows in size. This must evaluate to one of: GrowInX, GrowInY, GrowInXY, or GrowInXYMaintainAspect (default).
+ /// </summary>
+ string GrowControl { get; set; }
+ }
+
+ public interface IUsageBase
+ {
+ /// <summary>
+ /// Specifies how the symbol angle is defined. This must evaluate to one of: FromAngle (default) or FromGeometry
+ /// </summary>
+ string AngleControl { get; set; }
+
+ /// <summary>
+ /// Specifies the symbol angle, in degrees. Only applies if AngleControl evaluates to FromAngle. Defaults to 0
+ /// </summary>
+ double? Angle { get; set; }
+ }
+
+ /// <summary>
+ /// Specifies how a symbol is used in the context of point features
+ /// </summary>
+ public interface IPointUsage : IUsageBase
+ {
+ /// <summary>
+ /// Specifies the horizontal offset to apply to the symbol origin, in mm. This offset is applied before the symbol is scaled and rotated. Defaults to 0
+ /// </summary>
+ double OriginOffsetX { get; set; }
+
+ /// <summary>
+ /// Specifies the vertical offset to apply to the symbol origin, in mm. This offset is applied before the symbol is scaled and rotated. Defaults to 0
+ /// </summary>
+ double OriginOffsetY { get; set; }
+ }
+
+ public interface ILineUsage : IUsageBase
+ {
+ string UnitsControl { get; set; }
+
+ string VertexControl { get; set; }
+
+ double? StartOffset { get; set; }
+
+ double? EndOffset { get; set; }
+
+ double? Repeat { get; set; }
+
+ double? VertexAngleLimit { get; set; }
+
+ string VertexJoin { get; set; }
+
+ string VertexMiterLimit { get; set; }
+
+ IPath DefaultPath { get; set; }
+ }
+
+ public interface IAreaUsage : IUsageBase
+ {
+ string OriginControl { get; set; }
+
+ string ClippingControl { get; set; }
+
+ double? OriginX { get; set; }
+
+ double? OriginY { get; set; }
+
+ double? RepeatX { get; set; }
+
+ double? RepeatY { get; set; }
+
+ double? BufferWidth { get; set; }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("Xsd2Code", "3.3.0.33572")]
+ [System.SerializableAttribute()]
+ public enum DataType
+ {
+
+ /// <remarks/>
+ String,
+
+ /// <remarks/>
+ Boolean,
+
+ /// <remarks/>
+ Integer,
+
+ /// <remarks/>
+ Real,
+
+ /// <remarks/>
+ Color,
+ }
+
+ [System.SerializableAttribute()]
+ public enum DataType2
+ {
+
+ /// <remarks/>
+ String,
+
+ /// <remarks/>
+ Boolean,
+
+ /// <remarks/>
+ Integer,
+
+ /// <remarks/>
+ Real,
+
+ /// <remarks/>
+ Color,
+
+ /// <remarks/>
+ Angle,
+
+ /// <remarks/>
+ FillColor,
+
+ /// <remarks/>
+ LineColor,
+
+ /// <remarks/>
+ LineWeight,
+
+ /// <remarks/>
+ Content,
+
+ /// <remarks/>
+ Markup,
+
+ /// <remarks/>
+ FontName,
+
+ /// <remarks/>
+ Bold,
+
+ /// <remarks/>
+ Italic,
+
+ /// <remarks/>
+ Underlined,
+
+ /// <remarks/>
+ Overlined,
+
+ /// <remarks/>
+ ObliqueAngle,
+
+ /// <remarks/>
+ TrackSpacing,
+
+ /// <remarks/>
+ FontHeight,
+
+ /// <remarks/>
+ HorizontalAlignment,
+
+ /// <remarks/>
+ VerticalAlignment,
+
+ /// <remarks/>
+ Justification,
+
+ /// <remarks/>
+ LineSpacing,
+
+ /// <remarks/>
+ TextColor,
+
+ /// <remarks/>
+ GhostColor,
+
+ /// <remarks/>
+ FrameLineColor,
+
+ /// <remarks/>
+ FrameFillColor,
+
+ /// <remarks/>
+ StartOffset,
+
+ /// <remarks/>
+ EndOffset,
+
+ /// <remarks/>
+ RepeatX,
+
+ /// <remarks/>
+ RepeatY,
+ }
+
+ public interface IParameter
+ {
+ string Identifier { get; set; }
+
+ string DefaultValue { get; set; }
+
+ string DisplayName { get; set; }
+
+ string Description { get; set; }
+
+ DataType DataType { get; set; }
+ }
+
+ public interface IParameterDefinition
+ {
+ IEnumerable<IParameter> Parameter { get; }
+
+ void AddParameter(IParameter param);
+
+ void RemoveParameter(IParameter param);
+ }
+
+ public interface ISimpleSymbolReferenceBase
+ {
+ SimpleSymbolReferenceType Type { get; }
+
+ string RenderingPass { get; set; }
+ }
+
+ public interface ISimpleSymbolLibraryReference : ISimpleSymbolReferenceBase
+ {
+ string ResourceId { get; set; }
+ }
+
+ public interface ISimpleSymbolInlineReference : ISimpleSymbolReferenceBase
+ {
+ ISimpleSymbolDefinition SimpleSymbolDefinition { get; set; }
+ }
+
+ public enum SimpleSymbolReferenceType
+ {
+ Library,
+ Inline
+ }
+
+ public interface IGraphicBase
+ {
+ string ResizeControl { get; set; }
+ }
+
+ public interface IPath : IGraphicBase
+ {
+ string Geometry { get; set; }
+
+ string FillColor { get; set; }
+
+ string LineColor { get; set; }
+
+ double? LineWeight { get; set; }
+
+ bool? LineWeightScalable { get; set; }
+
+ string LineCap { get; set; }
+
+ string LineJoin { get; set; }
+
+ double? LineMiterLimit { get; set; }
+ }
+
+ public interface IImageReference
+ {
+ string ResourceId { get; set; }
+
+ string LibraryItemName { get; set; }
+ }
+
+ public enum ImageType
+ {
+ Reference,
+ Inline
+ }
+
+ public interface IImageBase : IGraphicBase
+ {
+ ImageType Type { get; }
+
+ double? SizeX { get; set; }
+
+ double? SizeY { get; set; }
+
+ bool? SizeScalable { get; set; }
+
+ double? Angle { get; set; }
+
+ double? PositionX { get; set; }
+
+ double? PositionY { get; set; }
+ }
+
+ public interface IInlineImage : IImageBase
+ {
+ byte[] Content { get; set; }
+ }
+
+ public interface IImageReferenceImage : IImageBase
+ {
+ IImageReference Reference { get; set; }
+ }
+
+ public interface ITextFrame
+ {
+ string LineColor { get; set; }
+
+ string FillColor { get; set; }
+
+ double? OffsetX { get; set; }
+
+ double? OffsetY { get; set; }
+ }
+
+ public interface IText : IGraphicBase
+ {
+ string Content { get; set; }
+
+ string FontName { get; set; }
+
+ bool? Bold { get; set; }
+
+ bool? Italic { get; set; }
+
+ bool? Underlined { get; set; }
+
+ double? Height { get; set; }
+
+ bool? HeightScalable { get; set; }
+
+ double? Angle { get; set; }
+
+ double? PositionX { get; set; }
+
+ double? PositionY { get; set; }
+
+ string HorizontalAlignment { get; set; }
+
+ string VerticalAlignment { get; set; }
+
+ string Justification { get; set; }
+
+ double? LineSpacing { get; set; }
+
+ string TextColor { get; set; }
+
+ string GhostColor { get; set; }
+
+ ITextFrame Frame { get; set; }
+ }
+
+ public enum GrowControl
+ {
+ GrowInX,
+ GrowInY,
+ GrowInXY,
+ GrowInXYMaintainAspect,
+ }
+
+ public enum AngleControl
+ {
+ FromAngle,
+ FromGeometry,
+ }
+
+ public enum UnitsControl
+ {
+ Absolute,
+ Parametric,
+ }
+
+ public enum VertexControl
+ {
+ OverlapNone,
+ OverlapDirect,
+ OverlapNoWrap,
+ OverlapWrap,
+ }
+
+ public enum VertexJoin
+ {
+ None,
+ Bevel,
+ Round,
+ Miter,
+ }
+
+ public enum OriginControl
+ {
+ Global,
+ Local,
+ Centroid,
+ }
+
+ public enum ClippingControl
+ {
+ Clip,
+ Inside,
+ Overlap
+ }
+
+ public enum ResizeControl
+ {
+ ResizeNone,
+ AddToResizeBox,
+ AdjustToResizeBox,
+ }
+
+ public enum LineCap
+ {
+ None,
+ Round,
+ Triangle,
+ Square,
+ }
+
+ public enum LineJoin
+ {
+ None,
+ Bevel,
+ Round,
+ Miter,
+ }
+
+ public enum HorizontalAlignment
+ {
+ Left,
+ Center,
+ Right,
+ }
+
+ public enum VerticalAlignment
+ {
+ Bottom,
+ Baseline,
+ Halfline,
+ Capline,
+ Top,
+ }
+
+ public enum Justification
+ {
+ Left,
+ Center,
+ Right,
+ Justified,
+ FromAlignment,
+ }
+
+ #endregion
+
+ #region Symbol Definition 1.1.0 interfaces
+ #endregion
+}
More information about the mapguide-commits
mailing list