// Summary: // Generate a default label attributes according to the GeometryType // The default labelling property of a feature is [Name] // AttributeLabelClass generateDefaultLayerAttributeLable(Core.Geometry.GeometryType geometryType) { IS3TextSymbol textSymbol = new IS3TextSymbol(); textSymbol.Color = System.Windows.Media.Colors.Black; AttributeLabelClass labelClass = new AttributeLabelClass(); labelClass.IsVisible = true; labelClass.TextExpression = "[Name]"; labelClass.Symbol = textSymbol; if (geometryType == Core.Geometry.GeometryType.Polygon) { labelClass.LabelPlacement = LabelPlacement.PolygonAlwaysHorizontal; } return(labelClass); }
// Summary: // Generate a label attributes according to the definition // which is specified in the LayerDef // AttributeLabelClass generateLayerAttributeLable(LayerDef layerDef, Core.Geometry.GeometryType geometryType) { if (layerDef == null) { return(generateDefaultLayerAttributeLable(geometryType)); } IS3SymbolFont font = new IS3SymbolFont( layerDef.LabelFontFamily, layerDef.LabelFontSize); font.FontStyle = layerDef.LabelFontStyle; font.FontWeight = layerDef.LabelFontWeight; font.TextDecoration = layerDef.LabelTextDecoration; IS3TextSymbol textSymbol = new IS3TextSymbol(); textSymbol.Color = layerDef.LabelColor; textSymbol.Font = font; textSymbol.BorderLineColor = layerDef.LabelBorderLineColor; textSymbol.BorderLineSize = layerDef.LabelBorderLineWidth; textSymbol.BackgroundColor = layerDef.LabelBackgroundColor; AttributeLabelClass labelClass = new AttributeLabelClass(); labelClass.IsVisible = true; labelClass.TextExpression = layerDef.LabelTextExpression; labelClass.WhereClause = layerDef.LabelWhereClause; labelClass.Symbol = textSymbol; if (geometryType == Core.Geometry.GeometryType.Polygon) { labelClass.LabelPlacement = LabelPlacement.PolygonAlwaysHorizontal; } return(labelClass); }