Esempio n. 1
0
        // 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);
        }
Esempio n. 2
0
        // 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);
        }