[mapguide-commits] r5255 -
sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Thu Oct 7 09:05:13 EDT 2010
Author: jng
Date: 2010-10-07 13:05:12 +0000 (Thu, 07 Oct 2010)
New Revision: 5255
Modified:
sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/LayerInterfaces.cs
Log:
Add abstract layer interface documentation
Modified: sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/LayerInterfaces.cs
===================================================================
--- sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/LayerInterfaces.cs 2010-10-07 12:42:50 UTC (rev 5254)
+++ sandbox/maestro-3.0/OSGeo.MapGuide.MaestroAPI/ObjectModels/LayerInterfaces.cs 2010-10-07 13:05:12 UTC (rev 5255)
@@ -151,56 +151,189 @@
Raster
}
+ /// <summary>
+ /// Factory interface to assist in creating common layer definition elements
+ /// </summary>
public interface ILayerElementFactory
{
+ /// <summary>
+ /// Creates a name-value pair
+ /// </summary>
+ /// <param name="name"></param>
+ /// <param name="value"></param>
+ /// <returns></returns>
INameStringPair CreatePair(string name, string value);
+
+ /// <summary>
+ /// Creates a default area rule (monochromatic)
+ /// </summary>
+ /// <returns></returns>
IAreaRule CreateDefaultAreaRule();
+
+ /// <summary>
+ /// Creates a default area style (monochromatic)
+ /// </summary>
+ /// <returns></returns>
IAreaVectorStyle CreateDefaultAreaStyle();
+
+ /// <summary>
+ /// Creates a default fill (monochromatic)
+ /// </summary>
+ /// <returns></returns>
IFill CreateDefaultFill();
+
+ /// <summary>
+ /// Creates a default line style (monochromatic)
+ /// </summary>
+ /// <returns></returns>
ILineVectorStyle CreateDefaultLineStyle();
+
+ /// <summary>
+ /// Creates a default mark symbol
+ /// </summary>
+ /// <returns></returns>
IMarkSymbol CreateDefaultMarkSymbol();
+
+ /// <summary>
+ /// Creates a default point style
+ /// </summary>
+ /// <returns></returns>
IPointVectorStyle CreateDefaultPointStyle();
+
+ /// <summary>
+ /// Creates a default 2D point symbolization
+ /// </summary>
+ /// <returns></returns>
IPointSymbolization2D CreateDefaultPointSymbolization2D();
+
+ /// <summary>
+ /// Creates a default stroke
+ /// </summary>
+ /// <returns></returns>
IStroke CreateDefaultStroke();
+
+ /// <summary>
+ /// Creates a default text symbol
+ /// </summary>
+ /// <returns></returns>
ITextSymbol CreateDefaultTextSymbol();
+
+ /// <summary>
+ /// Creates a fill
+ /// </summary>
+ /// <param name="pattern"></param>
+ /// <param name="background"></param>
+ /// <param name="foreground"></param>
+ /// <returns></returns>
IFill CreateFill(string pattern, System.Drawing.Color background, System.Drawing.Color foreground);
+
+ /// <summary>
+ /// Creates a default line rule
+ /// </summary>
+ /// <returns></returns>
ILineRule CreateDefaultLineRule();
+
+ /// <summary>
+ /// Creates a default point rule
+ /// </summary>
+ /// <returns></returns>
IPointRule CreateDefaultPointRule();
+
+ /// <summary>
+ /// Creates a stroke of the specified color
+ /// </summary>
+ /// <param name="color"></param>
+ /// <returns></returns>
IStroke CreateStroke(System.Drawing.Color color);
+
+ /// <summary>
+ /// Creates a vector scale range
+ /// </summary>
+ /// <returns></returns>
IVectorScaleRange CreateVectorScaleRange();
+ /// <summary>
+ /// Creates a font symbol
+ /// </summary>
+ /// <returns></returns>
IFontSymbol CreateDefaultFontSymbol();
}
+ /// <summary>
+ /// Top-level interface of the layer definition
+ /// </summary>
public interface ILayerDefinition : IResource, ILayerElementFactory
{
ISubLayerDefinition SubLayer { get; }
}
+ /// <summary>
+ /// Represents the base of all layer definitions
+ /// </summary>
public interface ISubLayerDefinition : INotifyPropertyChanged
{
+ /// <summary>
+ /// Gets the type of layer definition
+ /// </summary>
LayerType LayerType { get; }
+ /// <summary>
+ /// Gets or sets the resource id which is the data source for this layer
+ /// </summary>
string ResourceId { get; set; }
}
+ /// <summary>
+ /// Represents a layer definition based on a vector-based feature source
+ /// </summary>
public interface IVectorLayerDefinition : ISubLayerDefinition
{
+ /// <summary>
+ /// Gets or sets fully qualified name of the feature class which this layer applies
+ /// </summary>
string FeatureName { get; set; }
+ /// <summary>
+ /// Gets or sets the geometry field of the feature class which this layer applies
+ /// </summary>
string Geometry { get; set; }
+ /// <summary>
+ /// Gets or sets an FDO expression which represents the URL that is opened when
+ /// a feature is selected
+ /// </summary>
string Url { get; set; }
+ /// <summary>
+ /// Gets or sets an FDO expression which represents the HTML content that is displayed
+ /// when the mouse is over the current feature
+ /// </summary>
string ToolTip { get; set; }
+ /// <summary>
+ /// Gets or sets an FDO filter which is applied when rendering/styling features
+ /// </summary>
string Filter { get; set; }
+ //FIXME: this compiles, but will probably break when run due to lack of co/contravariance support pre-4.0
+
+ /// <summary>
+ /// Gets the scale ranges for this layer
+ /// </summary>
IList<IVectorScaleRange> VectorScaleRange { get; }
+ //FIXME: this compiles, but will probably break when run due to lack of co/contravariance support pre-4.0
+
+ /// <summary>
+ /// Gets the property mappings for this layer. This determines which properties
+ /// are displayed (and what labels to use) in the property pane and
+ /// </summary>
IList<INameStringPair> PropertyMapping { get; }
}
+ /// <summary>
+ /// Represents a layer definition based on a raster-based feature source
+ /// </summary>
public interface IRasterLayerDefinition : ISubLayerDefinition
{
string FeatureName { get; set; }
@@ -212,6 +345,9 @@
//If only all layers were as simple as this one...
+ /// <summary>
+ /// Represents a layer definition based on a DWF-based drawing source
+ /// </summary>
public interface IDrawingLayerDefinition : ISubLayerDefinition
{
/// <summary>
@@ -276,9 +412,19 @@
IVectorScaleRange Clone();
}
+ /// <summary>
+ /// Represents a name-value pair
+ /// </summary>
public interface INameStringPair
{
+ /// <summary>
+ /// Gets or set the name
+ /// </summary>
string Name { get; set; }
+
+ /// <summary>
+ /// Gets or sets the value
+ /// </summary>
string Value { get; set; }
}
@@ -350,6 +496,9 @@
/// <param name="rule"></param>
void RemoveRule(ILineRule rule);
+ /// <summary>
+ /// Removes all current rules
+ /// </summary>
void RemoveAllRules();
}
@@ -385,6 +534,9 @@
/// <param name="rule"></param>
void RemoveRule(IPointRule rule);
+ /// <summary>
+ /// Removes all current rules
+ /// </summary>
void RemoveAllRules();
}
@@ -430,10 +582,22 @@
/// </summary>
IEnumerable<IStroke> Strokes { get; }
+ /// <summary>
+ /// Removes any existing strokes and adds the specified list of strokes
+ /// </summary>
+ /// <param name="strokes"></param>
void SetStrokes(IEnumerable<IStroke> strokes);
+ /// <summary>
+ /// Adds a stroke to this rule
+ /// </summary>
+ /// <param name="stroke"></param>
void AddStroke(IStroke stroke);
+ /// <summary>
+ /// Removes a stroke from this rule
+ /// </summary>
+ /// <param name="stroke"></param>
void RemoveStroke(IStroke stroke);
}
@@ -453,12 +617,24 @@
/// </summary>
public interface IStroke
{
+ /// <summary>
+ /// Gets or sets the line style
+ /// </summary>
string LineStyle { get; set; }
+ /// <summary>
+ /// Gets or sets the thickness
+ /// </summary>
string Thickness { get; set; }
+ /// <summary>
+ /// Gets or sets the color
+ /// </summary>
string Color { get; set; }
+ /// <summary>
+ /// Gets or sets the thickness unit
+ /// </summary>
LengthUnitType Unit { get; set; }
}
@@ -480,6 +656,9 @@
public enum PointSymbolType
{
+ /// <summary>
+ /// A textual symbol
+ /// </summary>
Text,
/// <summary>
/// A predefined shape such as a square or circle.
@@ -561,26 +740,59 @@
public interface ITextSymbol : ISymbol
{
+ /// <summary>
+ /// Gets or sets the textual content
+ /// </summary>
string Text { get; set; }
+ /// <summary>
+ /// Gets or sets the name of the font
+ /// </summary>
string FontName { get; set; }
+ /// <summary>
+ /// Gets or sets the foreground color
+ /// </summary>
string ForegroundColor { get; set; }
+ /// <summary>
+ /// Gets or sets the background color
+ /// </summary>
string BackgroundColor { get; set; }
+ /// <summary>
+ /// Gets or sets the background style
+ /// </summary>
BackgroundStyleType BackgroundStyle { get; set; }
+ /// <summary>
+ /// Gets or sets the horizontal alignment
+ /// </summary>
string HorizontalAlignment { get; set; }
+ /// <summary>
+ /// Gets or sets the vertical alignment
+ /// </summary>
string VerticalAlignment { get; set; }
+ /// <summary>
+ /// Gets or sets whether to bold the text
+ /// </summary>
string Bold { get; set; }
+ /// <summary>
+ /// Gets or sets whether to italicize the text
+ /// </summary>
string Italic { get; set; }
+ /// <summary>
+ /// Gets or sets whether to underline the text
+ /// </summary>
string Underlined { get; set; }
+ /// <summary>
+ /// Gets or sets the advanced placement settings
+ /// </summary>
IAdvancedPlacement AdvancedPlacement { get; set; }
}
@@ -589,10 +801,19 @@
/// </summary>
public interface IMarkSymbol : ISymbol
{
+ /// <summary>
+ /// Gets or sets the type of shape
+ /// </summary>
ShapeType Shape { get; set; }
+ /// <summary>
+ /// Gets or sets the fill settings
+ /// </summary>
IFill Fill { get; set; }
+ /// <summary>
+ /// Gets or sets the outline settings
+ /// </summary>
IStroke Edge { get; set; }
}
@@ -606,25 +827,55 @@
/// </summary>
string FontName { get; set; }
+ /// <summary>
+ /// Gets or sets the character
+ /// </summary>
string Character { get; set; }
+ /// <summary>
+ /// Gets or sets whether to bold the text
+ /// </summary>
bool? Bold { get; set; }
+ /// <summary>
+ /// Gets or sets whether to italicize the text
+ /// </summary>
bool? Italic { get; set; }
+ /// <summary>
+ /// Gets or sets whether to underline the text
+ /// </summary>
bool? Underlined { get; set; }
+ /// <summary>
+ /// Gets or sets the foreground color
+ /// </summary>
string ForegroundColor { get; set; }
}
+ /// <summary>
+ /// Represents a DWF-based W2D symbol
+ /// </summary>
public interface IW2DSymbol : ISymbol
{
+ /// <summary>
+ /// Gets or sets the reference to the symbol
+ /// </summary>
ISymbolReference W2DSymbol { get; set; }
+ /// <summary>
+ /// Gets or sets the fill color
+ /// </summary>
string FillColor { get; set; }
+ /// <summary>
+ /// Gets or sets the line color
+ /// </summary>
string LineColor { get; set; }
+ /// <summary>
+ /// Gets or sets the text color
+ /// </summary>
string TextColor { get; set; }
}
@@ -673,12 +924,24 @@
/// </summary>
public interface IBlockSymbol : ISymbol
{
+ /// <summary>
+ /// Gets or sets the name of the drawing
+ /// </summary>
string DrawingName { get; set; }
+ /// <summary>
+ /// Gets or sets the name of the block
+ /// </summary>
string BlockName { get; set; }
+ /// <summary>
+ /// Gets or sets the color of the block
+ /// </summary>
string BlockColor { get; set; }
+ /// <summary>
+ /// Gets or sets the color of the layer
+ /// </summary>
string LayerColor { get; set; }
}
@@ -690,12 +953,24 @@
ISymbol Symbol { get; set; }
}
+ /// <summary>
+ /// Represents a fill
+ /// </summary>
public interface IFill
{
+ /// <summary>
+ /// Gets or sets the fill pattern
+ /// </summary>
string FillPattern { get; set; }
+ /// <summary>
+ /// Gets or sets the background color
+ /// </summary>
string BackgroundColor { get; set; }
+ /// <summary>
+ /// Gets or sets the foreground color
+ /// </summary>
string ForegroundColor { get; set; }
}
@@ -739,10 +1014,19 @@
/// </summary>
public interface IGridColorBands
{
+ /// <summary>
+ /// Gets or sets the red channel band
+ /// </summary>
IChannelBand RedBand { get; set; }
+ /// <summary>
+ /// Gets or sets the green channel band
+ /// </summary>
IChannelBand GreenBand { get; set; }
+ /// <summary>
+ /// Gets or sets the blue channel band
+ /// </summary>
IChannelBand BlueBand { get; set; }
}
@@ -836,8 +1120,17 @@
/// </summary>
double ConstrastFactor { get; set; }
+ //FIXME: this compiles, but will probably break when run due to lack of co/contravariance support pre-4.0
+
+ /// <summary>
+ /// Gets the color rules for this style
+ /// </summary>
IList<IGridColorRule> ColorRule { get; }
+ /// <summary>
+ /// Adds a color rule to this style
+ /// </summary>
+ /// <param name="rule"></param>
void AddColorRule(IGridColorRule rule);
}
More information about the mapguide-commits
mailing list