using Core.Common.Utils.Aop.Markers; using Core.GIS.SharpMap.Api.Delegates; namespace Core.GIS.SharpMap.Api.Layers { public interface ILabelLayer : ILayer { /// /// Data column or expression where label text is extracted from. /// /// /// This property is overriden by the . /// string LabelColumn { get; set; } /// /// Gets or sets the method for creating a custom label string based on a feature. /// /// /// If this method is not null, it will override the value. /// The label delegate must take a and return a string. /// /// Creating a label-text by combining attributes "ROADNAME" and "STATE" into one string, using /// an anonymous delegate: /// /// myLabelLayer.LabelStringDelegate = delegate(SharpMap.Data.FeatureDataRow fdr) /// { return fdr["ROADNAME"].ToString() + ", " + fdr["STATE"].ToString(); }; /// /// /// GetLabelMethod LabelStringDelegate { get; set; } [NoNotifyPropertyChange] ILayer Parent { get; set; } } }