User Tools

Site Tools


thinkgeo.mapsuite.core.style

This is an old revision of the document!


ThinkGeo.MapSuite.Core.Style

<!– Class –> This abstract class is the root for all styles used for drawing features.

Remarks

If you need to create your own style in the future, we suggest that you first consider extending an existing style. If you are doing something new, then you can inherit from this class.

The key method to override is DrawCore. If you want to provide a sample for the legend, you will also want to extend the DrawSampleCore.

Inheritance Hierarchy

Members Summary

Public Constructors

Name Parameters DeclaringType Summary

Protected Constructors

Name Parameters DeclaringType Summary
Protected MethodStyle This is the default constructor for the style and should be called by inherited classes.

Public Methods

Name Parameters DeclaringType Summary
Public MethodCloneDeep Create a copy of style using the deep clone process.
Public MethodDraw IEnumerable<Feature>, GeoCanvas, Collection<SimpleCandidate>, Collection<SimpleCandidate> This method draws the features on the canvas you provided.
Public MethodDraw IEnumerable<BaseShape>, GeoCanvas, Collection<SimpleCandidate>, Collection<SimpleCandidate> This method draws the shapes on the canvas you provided.
Public MethodDrawSample GeoCanvas
Public MethodDrawSample GeoCanvas, DrawingRectangleF This method draws a sample feature on the canvas you provided.
Public MethodEquals Object Object
Public MethodGetHashCode Object
Public MethodGetRequiredColumnNames This method returns the column data for each feature that is required for the style to properly draw.
Public MethodGetType Object
Public MethodStatic MemberLoadStyle Uri
Public MethodStatic MemberLoadStyle Stream
Public MethodSaveStyle String
Public MethodSaveStyle Stream
Public MethodToString Object

Protected Methods

Name Parameters DeclaringType Summary
Protected MethodCloneDeepCore Create a copy of style using the deep clone process. The default implementation method uses serialization.
Protected MethodDrawCore IEnumerable<Feature>, GeoCanvas, Collection<SimpleCandidate>, Collection<SimpleCandidate> This method draws the features on the canvas you provided.
Protected MethodDrawSampleCore GeoCanvas, DrawingRectangleF This method draws a sample feature on the canvas you provided.
Protected MethodFinalize Object
Protected MethodGetRequiredColumnNamesCore This method returns the column data for each feature that is required for the style to properly draw.
Protected MethodMemberwiseClone Object

Public Properties

Name Return DeclaringType Summary
Public PropertyFilters Collection<String>
Public PropertyIsActive Boolean This property gets and sets the active status of the style.
Public PropertyName String This property gets and set the name of the style.
Public PropertyRequiredColumnNames Collection<String> This property gets the collection of fields that are required for the style.

Protected Properties

Name Return DeclaringType Summary
Protected PropertyFiltersCore Collection<String>

Public Events

Name Event Arguments DeclaringType Summary

Public Constructors

Protected Constructors

Style()

This is the default constructor for the style and should be called by inherited classes.

Remarks

This is the default constructor for the style and should be called by inherited classes.

Parameters

Name Type Description

Go Back

Public Methods

CloneDeep()

Create a copy of style using the deep clone process.

Remarks

The difference between deep clone and shallow clone is as follows: In shallow cloning, only the object is copied; the objects within it are not. By contrast, deep cloning copies the cloned object as well as all the objects within.

Return Value

Return Type Description
Style<!– ThinkGeo.MapSuite.Core.Style –> A cloned style.

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Style –> Go Back

Draw(IEnumerable<Feature>, GeoCanvas, Collection<SimpleCandidate>, Collection<SimpleCandidate>)

This method draws the features on the canvas you provided.

Remarks

This method is the concrete wrapper for the abstract method DrawCore. In this method, we take the features you passed in and draw them on the canvas you provided. Each style (based on its properties) may draw each feature differently.

As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.

Return Value

Return Type Description
Void<!– System.Void –>

Parameters

Name Type Description
features IEnumerable<Feature><!– System.Collections.Generic.IEnumerable{ThinkGeo.MapSuite.Core.Feature} –> This parameter represents the features you want to draw on the canvas.
canvas GeoCanvas<!– ThinkGeo.MapSuite.Core.GeoCanvas –> This parameter represents the canvas you want to draw the features on.
labelsInThisLayer Collection<SimpleCandidate><!– System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.SimpleCandidate} –> The labels will be drawn in the current layer only.
labelsInAllLayers Collection<SimpleCandidate><!– System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.SimpleCandidate} –> The labels will be drawn in all layers.

<!– ThinkGeo.MapSuite.Core.Style –> Go Back

Draw(IEnumerable<BaseShape>, GeoCanvas, Collection<SimpleCandidate>, Collection<SimpleCandidate>)

This method draws the shapes on the canvas you provided.

Remarks

This method is the concrete wrapper for the abstract method DrawCore. In this method, we take the shapes you passed in and draw them on the canvas you provided. Each style (based on its properties) may draw each shape differently.

As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.

Return Value

Return Type Description
Void<!– System.Void –>

Parameters

Name Type Description
shapes IEnumerable<BaseShape><!– System.Collections.Generic.IEnumerable{ThinkGeo.MapSuite.Core.BaseShape} –> This parameter represents the shapes you want to draw on the canvas.
canvas GeoCanvas<!– ThinkGeo.MapSuite.Core.GeoCanvas –> This parameter represents the canvas you want to draw the shapes on.
labelsInThisLayer Collection<SimpleCandidate><!– System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.SimpleCandidate} –> The labels will be drawn in the current layer only.
labelsInAllLayers Collection<SimpleCandidate><!– System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.SimpleCandidate} –> The labels will be drawn in all layers.

<!– ThinkGeo.MapSuite.Core.Style –> Go Back

DrawSample(GeoCanvas)

Return Value

Return Type Description
Void<!– System.Void –>

Parameters

Name Type Description
canvas GeoCanvas<!– ThinkGeo.MapSuite.Core.GeoCanvas –>

<!– ThinkGeo.MapSuite.Core.Style –> Go Back

DrawSample(GeoCanvas, DrawingRectangleF)

This method draws a sample feature on the canvas you provided.

Remarks

This method is the concrete wrapper for the abstract method DrawSampleCore. In this method we draw a sample style on the canvas you provided. This is typically used to display a legend or other sample area.

As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.

Return Value

Return Type Description
Void<!– System.Void –>

Parameters

Name Type Description
canvas GeoCanvas<!– ThinkGeo.MapSuite.Core.GeoCanvas –> This parameter represents the canvas you want to draw the features on.
drawingExtent DrawingRectangleF<!– ThinkGeo.MapSuite.Core.DrawingRectangleF –>

<!– ThinkGeo.MapSuite.Core.Style –> Go Back

Equals(Object)

Return Value

Return Type Description
Boolean<!– System.Boolean –>

Parameters

Name Type Description
obj Object<!– System.Object –>

<!– System.Object –> Go Back

GetHashCode()

Return Value

Return Type Description
Int32<!– System.Int32 –>

Parameters

Name Type Description

<!– System.Object –> Go Back

GetRequiredColumnNames()

This method returns the column data for each feature that is required for the style to properly draw.

Remarks

This method is the concrete wrapper for the abstract method GetRequiredColumnNamesCore. In this method, we return the column names that are required for the style to draw the feature properly. For example, if you have a style that colors areas blue when a certain column value is over 100, then you need to be sure you include that column name. This will ensure that the column data is returned to you in the feature when it is ready to draw.

In many of the styles, we add properties to allow the user to specify which field they need; then, in the GetRequiredColumnNamesCore we read that property and add it to the collection.

As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.

Return Value

Return Type Description
Collection<String><!– System.Collections.ObjectModel.Collection{System.String} –> This method returns a collection of column names that the style needs.

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Style –> Go Back

GetType()

Return Value

Return Type Description
Type<!– System.Type –>

Parameters

Name Type Description

<!– System.Object –> Go Back

LoadStyle(Uri)

<!– static –>

Return Value

Return Type Description
Style<!– ThinkGeo.MapSuite.Core.Style –>

Parameters

Name Type Description
styleUri Uri<!– System.Uri –>

<!– ThinkGeo.MapSuite.Core.Style –> Go Back

LoadStyle(Stream)

<!– static –>

Return Value

Return Type Description
Style<!– ThinkGeo.MapSuite.Core.Style –>

Parameters

Name Type Description
styleStream Stream<!– System.IO.Stream –>

<!– ThinkGeo.MapSuite.Core.Style –> Go Back

SaveStyle(String)

Return Value

Return Type Description
Void<!– System.Void –>

Parameters

Name Type Description
filePathName String<!– System.String –>

<!– ThinkGeo.MapSuite.Core.Style –> Go Back

SaveStyle(Stream)

Return Value

Return Type Description
Void<!– System.Void –>

Parameters

Name Type Description
stream Stream<!– System.IO.Stream –>

<!– ThinkGeo.MapSuite.Core.Style –> Go Back

ToString()

Return Value

Return Type Description
String<!– System.String –>

Parameters

Name Type Description

<!– System.Object –> Go Back

Protected Methods

CloneDeepCore()

Create a copy of style using the deep clone process. The default implementation method uses serialization.

Remarks

The difference between deep clone and shallow clone is as follows: In shallow cloning, only the object is copied; the objects within it are not. By contrast, deep cloning copies the cloned object as well as all the objects within.

Return Value

Return Type Description
Style<!– ThinkGeo.MapSuite.Core.Style –> A cloned style.

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Style –> Go Back

DrawCore(IEnumerable<Feature>, GeoCanvas, Collection<SimpleCandidate>, Collection<SimpleCandidate>)

This method draws the features on the canvas you provided.

Remarks

This abstract method is called from the concrete public method Draw. In this method, we take the features you passed in and draw them on the canvas you provided. Each style (based on its properties) may draw each feature differently.

When implementing this abstract method, consider each feature and its column data values. You can use the full power of the GeoCanvas to do the drawing. If you need column data for a feature, be sure to override the GetRequiredColumnNamesCore and add the columns you need to the collection. In many of the styles, we add properties to allow the user to specify which field they need; then, in the GetRequiredColumnNamesCore, we read that property and add it to the collection.

Return Value

Return Type Description
Void<!– System.Void –>

Parameters

Name Type Description
features IEnumerable<Feature><!– System.Collections.Generic.IEnumerable{ThinkGeo.MapSuite.Core.Feature} –> This parameter represents the features you want to draw on the canvas.
canvas GeoCanvas<!– ThinkGeo.MapSuite.Core.GeoCanvas –> This parameter represents the canvas you want to draw the features on.
labelsInThisLayer Collection<SimpleCandidate><!– System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.SimpleCandidate} –> The labels will be drawn in the current layer only.
labelsInAllLayers Collection<SimpleCandidate><!– System.Collections.ObjectModel.Collection{ThinkGeo.MapSuite.Core.SimpleCandidate} –> The labels will be drawn in all layers.

<!– ThinkGeo.MapSuite.Core.Style –> Go Back

DrawSampleCore(GeoCanvas, DrawingRectangleF)

This method draws a sample feature on the canvas you provided.

Remarks

This virtual method is called from the concrete public method Draw. In this method, we draw a sample style on the canvas you provided. This is typically used to display a legend or other sample area.

When implementing this virtual method, consider the canvas size and draw the sample image appropriately. You should keep in mind that the sample typically shows up on a legend.

Return Value

Return Type Description
Void<!– System.Void –>

Parameters

Name Type Description
canvas GeoCanvas<!– ThinkGeo.MapSuite.Core.GeoCanvas –> This parameter represents the canvas you want to draw the features on.
drawingExtent DrawingRectangleF<!– ThinkGeo.MapSuite.Core.DrawingRectangleF –>

<!– ThinkGeo.MapSuite.Core.Style –> Go Back

Finalize()

Return Value

Return Type Description
Void<!– System.Void –>

Parameters

Name Type Description

<!– System.Object –> Go Back

GetRequiredColumnNamesCore()

This method returns the column data for each feature that is required for the style to properly draw.

Remarks

This abstract method is called from the concrete public method GetRequiredFieldNames. In this method, we return the column names that are required for the style to draw the feature properly. For example, if you have a style that colors areas blue when a certain column value is over 100, then you need to be sure you include that column name. This will ensure that the column data is returned to you in the feature when it is ready to draw.

In many of the styles, we add properties to allow the user to specify which field they need; then, in the GetRequiredColumnNamesCore we read that property and add it to the collection.

Return Value

Return Type Description
Collection<String><!– System.Collections.ObjectModel.Collection{System.String} –> This method returns a collection of column names that the style needs.

Parameters

Name Type Description

<!– ThinkGeo.MapSuite.Core.Style –> Go Back

MemberwiseClone()

Return Value

Return Type Description
Object<!– System.Object –>

Parameters

Name Type Description

<!– System.Object –> Go Back

Public Properties

Filters

Return Value

Return Type
Collection<String><!– System.Collections.ObjectModel.Collection{System.String} –>

<!– ThinkGeo.MapSuite.Core.Style –> Go Back

IsActive

This property gets and sets the active status of the style.

Remarks

If the style is not active then it will not draw.

Return Value

Return Type
Boolean<!– System.Boolean –>

<!– ThinkGeo.MapSuite.Core.Style –> Go Back

Name

This property gets and set the name of the style.

Remarks

This name is not used by the system; it is only for the developer. However, it can be used if you generate your own legend.

Return Value

Return Type
String<!– System.String –>

<!– ThinkGeo.MapSuite.Core.Style –> Go Back

RequiredColumnNames

This property gets the collection of fields that are required for the style.

Remarks

This property gets the collection of fields that are required for the style. These are in addition to any other columns you specify in styles that inherit from this one. For example, if you have use a ValueStyle and it requires a column name for the value comparison, then that column does not need to be in this collection. You only use the RequiredColumnNames for columns you need beyond those required by specific inherited styles.

Return Value

Return Type
Collection<String><!– System.Collections.ObjectModel.Collection{System.String} –>

<!– ThinkGeo.MapSuite.Core.Style –> Go Back

Protected Properties

FiltersCore

Return Value

Return Type
Collection<String><!– System.Collections.ObjectModel.Collection{System.String} –>

<!– ThinkGeo.MapSuite.Core.Style –> Go Back

Public Events

thinkgeo.mapsuite.core.style.1440040130.txt.gz · Last modified: 2015/09/17 10:40 (external edit)