using DelftTools.Utils.Aop; using SharpMap.Api.Delegates; namespace 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; } [Aggregation] ILayer Parent { get; set; } } }