Search in sources :

Example 11 with Mark

use of org.geotools.styling.Mark in project sldeditor by robward-scisys.

the class FieldConfigMarker method getValue.

/**
 * Gets the value.
 *
 * @param fieldConfigManager the field config manager
 * @param symbolType the symbol type
 * @param fillEnabled the fill enabled
 * @param strokeEnabled the stroke enabled
 * @return the value
 */
@Override
public List<GraphicalSymbol> getValue(GraphicPanelFieldManager fieldConfigManager, Expression symbolType, boolean fillEnabled, boolean strokeEnabled) {
    if ((symbolType == null) || (fieldConfigManager == null)) {
        return null;
    }
    Expression symbolTypeExpression = null;
    String symbolTypeName = symbolType.toString();
    if (symbolTypeName.compareTo(SOLID_SYMBOL_KEY) != 0) {
        symbolTypeExpression = symbolType;
    }
    Fill fill = null;
    Stroke stroke = null;
    if (symbolTypeName.startsWith(GEOSERVER_MARKER_PREFIX)) {
        Expression strokeColour = null;
        FieldConfigBase field = fieldConfigManager.get(fillFieldConfig.getColour());
        if (field != null) {
            strokeColour = ((FieldConfigColour) field).getColourExpression();
        }
        Expression strokeColourOpacity = null;
        field = fieldConfigManager.get(fillFieldConfig.getOpacity());
        if (field != null) {
            strokeColourOpacity = field.getExpression();
        }
        Expression strokeWidth = null;
        field = fieldConfigManager.get(fillFieldConfig.getWidth());
        if (field != null) {
            strokeWidth = field.getExpression();
        }
        stroke = getStyleFactory().createStroke(strokeColour, strokeWidth, strokeColourOpacity);
    } else {
        Expression fillColour = null;
        FieldConfigBase field = fieldConfigManager.get(fillFieldConfig.getColour());
        if (field != null) {
            fillColour = ((FieldConfigColour) field).getColourExpression();
        }
        Expression fillColourOpacity = null;
        field = fieldConfigManager.get(fillFieldConfig.getOpacity());
        if (field != null) {
            fillColourOpacity = field.getExpression();
        }
        if (fillEnabled) {
            fill = getStyleFactory().fill(null, fillColour, fillColourOpacity);
        }
        if (strokeEnabled) {
            Expression strokeColour = null;
            field = fieldConfigManager.get(strokeFieldConfig.getColour());
            if (field != null) {
                strokeColour = ((FieldConfigColour) field).getColourExpression();
            }
            Expression strokeColourOpacity = null;
            field = fieldConfigManager.get(strokeFieldConfig.getOpacity());
            if (field != null) {
                strokeColourOpacity = field.getExpression();
            }
            Expression strokeWidth = null;
            field = fieldConfigManager.get(strokeFieldConfig.getWidth());
            if (field != null) {
                strokeWidth = field.getExpression();
            }
            stroke = getStyleFactory().createStroke(strokeColour, strokeWidth, strokeColourOpacity);
        }
    }
    Mark markerSymbol = getStyleFactory().mark(symbolTypeExpression, fill, stroke);
    return SelectedSymbol.getInstance().getSymbolList(markerSymbol);
}
Also used : Fill(org.geotools.styling.Fill) GraphicFill(org.opengis.style.GraphicFill) Stroke(org.geotools.styling.Stroke) FieldConfigBase(com.sldeditor.ui.detail.config.FieldConfigBase) Expression(org.opengis.filter.expression.Expression) Mark(org.geotools.styling.Mark)

Example 12 with Mark

use of org.geotools.styling.Mark in project sldeditor by robward-scisys.

the class SLDTreeLeafPoint method createFill.

/*
     * (non-Javadoc)
     * 
     * @see com.sldeditor.ui.tree.leaf.SLDTreeLeafInterface#createFill(org.opengis.style.Symbolizer)
     */
@Override
public void createFill(Symbolizer symbolizer) {
    if (symbolizer instanceof PointSymbolizer) {
        PointSymbolizer point = (PointSymbolizer) symbolizer;
        if (point != null) {
            Graphic graphic = point.getGraphic();
            if (graphic == null) {
                graphic = styleFactory.createDefaultGraphic();
                point.setGraphic(graphic);
            }
            if (graphic != null) {
                if (graphic.graphicalSymbols().isEmpty()) {
                    Mark mark = styleFactory.getDefaultMark();
                    graphic.graphicalSymbols().add(mark);
                }
            }
        }
    }
}
Also used : PointSymbolizer(org.geotools.styling.PointSymbolizer) Graphic(org.geotools.styling.Graphic) Mark(org.geotools.styling.Mark)

Example 13 with Mark

use of org.geotools.styling.Mark in project sldeditor by robward-scisys.

the class VOGeoServerTextSymbolizer2 method populate.

/**
 * Populate.
 *
 * @param textSymbolizer the text symbolizer
 */
/*
     * (non-Javadoc)
     * 
     * @see com.sldeditor.ui.detail.vendor.geoserver.VendorOptionInterface#populate(org.geotools.styling.TextSymbolizer)
     */
@Override
public void populate(TextSymbolizer textSymbolizer) {
    if (textSymbolizer instanceof TextSymbolizer2) {
        TextSymbolizer2 textSymbol2 = (TextSymbolizer2) textSymbolizer;
        fieldConfigVisitor.populateField(FieldIdEnum.VO_TEXTSYMBOLIZER_2_FEATURE_DESCRIPTION, textSymbol2.getFeatureDescription());
        fieldConfigVisitor.populateField(FieldIdEnum.VO_TEXTSYMBOLIZER_2_SNIPPET, textSymbol2.getSnippet());
        OtherText otherText = textSymbol2.getOtherText();
        String target = null;
        Expression text = null;
        if (otherText != null) {
            target = otherText.getTarget();
            text = otherText.getText();
        }
        GroupConfigInterface group = getGroup(GroupIdEnum.VO_TEXTSYMBOLIZER_2_OTHERTEXT);
        if (group != null) {
            group.enable(otherText != null);
        }
        fieldConfigVisitor.populateTextField(FieldIdEnum.VO_TEXTSYMBOLIZER_2_OTHERTEXT_TARGET, target);
        fieldConfigVisitor.populateField(FieldIdEnum.VO_TEXTSYMBOLIZER_2_OTHERTEXT_TEXT, text);
        Graphic graphic = textSymbol2.getGraphic();
        boolean enableFill = false;
        boolean enableStroke = false;
        if (graphic == null) {
            graphic = getStyleFactory().createDefaultGraphic();
            graphic.setSize(getFilterFactory().literal(10.0));
            Mark mark = getStyleFactory().createMark();
            graphic.graphicalSymbols().add(mark);
        }
        Expression fillColour = getFilterFactory().literal(DefaultSymbols.defaultColour());
        Expression fillOpacity = getFilterFactory().literal(DefaultSymbols.defaultColourOpacity());
        Expression strokeColour = getFilterFactory().literal(DefaultSymbols.defaultColour());
        Expression strokeOpacity = getFilterFactory().literal(DefaultSymbols.defaultColourOpacity());
        Expression strokeLineWidth = null;
        List<GraphicalSymbol> graphicalSymbolList = graphic.graphicalSymbols();
        if (!graphicalSymbolList.isEmpty()) {
            GraphicalSymbol symbol = graphicalSymbolList.get(0);
            symbolTypeFactory.setValue(TextSymbolizer2.class, this.fieldConfigManager, graphic, symbol);
            if (symbol instanceof Mark) {
                Mark mark = (Mark) symbol;
                Fill fill = mark.getFill();
                if (fill != null) {
                    enableFill = true;
                    fillColour = fill.getColor();
                    fillOpacity = fill.getOpacity();
                }
                Stroke stroke = mark.getStroke();
                if (stroke != null) {
                    enableStroke = true;
                    strokeColour = stroke.getColor();
                    strokeOpacity = stroke.getOpacity();
                    strokeLineWidth = stroke.getWidth();
                }
            }
        }
        Expression expSize = graphic.getSize();
        Expression expRotation = graphic.getRotation();
        fieldConfigVisitor.populateField(FieldIdEnum.VO_TEXTSYMBOLIZER_2_SIZE, expSize);
        fieldConfigVisitor.populateField(FieldIdEnum.VO_TEXTSYMBOLIZER_2_ANGLE, expRotation);
        fieldConfigVisitor.populateField(FieldIdEnum.VO_TEXTSYMBOLIZER_2_FILL_COLOUR, fillColour);
        fieldConfigVisitor.populateField(FieldIdEnum.VO_TEXTSYMBOLIZER_2_FILL_OPACITY, fillOpacity);
        fieldConfigVisitor.populateField(FieldIdEnum.VO_TEXTSYMBOLIZER_2_STROKE_FILL_COLOUR, strokeColour);
        fieldConfigVisitor.populateField(FieldIdEnum.VO_TEXTSYMBOLIZER_2_STROKE_OPACITY, strokeOpacity);
        fieldConfigVisitor.populateField(FieldIdEnum.VO_TEXTSYMBOLIZER_2_STROKE_FILL_WIDTH, strokeLineWidth);
        GroupConfigInterface fillGroup = getGroup(GroupIdEnum.VO_TEXTSYMBOLIZER_2_FILL);
        if (fillGroup != null) {
            fillGroup.enable(enableFill);
        }
        GroupConfigInterface strokeGroup = getGroup(GroupIdEnum.VO_TEXTSYMBOLIZER_2_STROKE);
        if (strokeGroup != null) {
            group.enable(enableStroke);
        }
        group = getGroup(GroupIdEnum.VO_TEXTSYMBOLIZER_2_GRAPHIC);
        if (group != null) {
            group.enable(textSymbol2.getGraphic() != null);
        }
    }
}
Also used : Fill(org.geotools.styling.Fill) Stroke(org.geotools.styling.Stroke) TextSymbolizer2(org.geotools.styling.TextSymbolizer2) Expression(org.opengis.filter.expression.Expression) ExternalGraphic(org.geotools.styling.ExternalGraphic) Graphic(org.geotools.styling.Graphic) GraphicalSymbol(org.opengis.style.GraphicalSymbol) Mark(org.geotools.styling.Mark) OtherText(org.geotools.styling.OtherText) GroupConfigInterface(com.sldeditor.ui.detail.config.base.GroupConfigInterface)

Example 14 with Mark

use of org.geotools.styling.Mark in project sldeditor by robward-scisys.

the class FieldConfigTTF method getValue.

/**
 * Gets the value.
 *
 * @param fieldConfigManager the field config manager
 * @param symbolType the symbol type
 * @param fillEnabled the fill enabled
 * @param strokeEnabled the stroke enabled
 * @return the value
 */
@Override
public List<GraphicalSymbol> getValue(GraphicPanelFieldManager fieldConfigManager, Expression symbolType, boolean fillEnabled, boolean strokeEnabled) {
    List<GraphicalSymbol> symbolList = new ArrayList<GraphicalSymbol>();
    Expression wellKnownName = null;
    if ((getConfigField() != null) && (fieldConfigManager != null)) {
        wellKnownName = getConfigField().getExpression();
        if (wellKnownName != null) {
            Stroke stroke = null;
            Fill fill = null;
            if (fillEnabled) {
                Expression expFillColour = null;
                Expression expFillColourOpacity = null;
                FieldConfigBase field = fieldConfigManager.get(fillFieldConfig.getColour());
                if (field != null) {
                    FieldConfigColour colourField = (FieldConfigColour) field;
                    expFillColour = colourField.getColourExpression();
                }
                field = fieldConfigManager.get(fillFieldConfig.getOpacity());
                if (field != null) {
                    expFillColourOpacity = field.getExpression();
                }
                fill = getStyleFactory().createFill(expFillColour, expFillColourOpacity);
            }
            // Size
            Expression expSize = null;
            // Rotation
            Expression expRotation = null;
            Mark mark = getStyleFactory().createMark(wellKnownName, stroke, fill, expSize, expRotation);
            symbolList.add(mark);
        }
    }
    return symbolList;
}
Also used : Stroke(org.geotools.styling.Stroke) Fill(org.geotools.styling.Fill) GraphicFill(org.opengis.style.GraphicFill) FieldConfigBase(com.sldeditor.ui.detail.config.FieldConfigBase) Expression(org.opengis.filter.expression.Expression) GraphicalSymbol(org.opengis.style.GraphicalSymbol) ArrayList(java.util.ArrayList) Mark(org.geotools.styling.Mark) FieldConfigColour(com.sldeditor.ui.detail.config.FieldConfigColour)

Example 15 with Mark

use of org.geotools.styling.Mark in project sldeditor by robward-scisys.

the class FieldConfigWindBarbs method getValue.

/**
 * Gets the value.
 *
 * @param fieldConfigManager the field config manager
 * @param symbolType the symbol type
 * @param fillEnabled the fill enabled
 * @param strokeEnabled the stroke enabled
 * @return the value
 */
@Override
public List<GraphicalSymbol> getValue(GraphicPanelFieldManager fieldConfigManager, Expression symbolType, boolean fillEnabled, boolean strokeEnabled) {
    List<GraphicalSymbol> symbolList = new ArrayList<GraphicalSymbol>();
    Expression wellKnownName = null;
    if ((getConfigField() != null) && (fieldConfigManager != null)) {
        wellKnownName = getConfigField().getExpression();
        if (wellKnownName != null) {
            Expression expFillColour = null;
            Expression expFillColourOpacity = null;
            FieldConfigBase field = fieldConfigManager.get(FieldIdEnum.FILL_COLOUR);
            if (field != null) {
                FieldConfigColour colourField = (FieldConfigColour) field;
                expFillColour = colourField.getColourExpression();
            }
            Stroke stroke = null;
            Fill fill = getStyleFactory().createFill(expFillColour, expFillColourOpacity);
            Expression size = null;
            Expression rotation = null;
            Mark mark = getStyleFactory().createMark(wellKnownName, stroke, fill, size, rotation);
            symbolList.add(mark);
        }
    }
    return symbolList;
}
Also used : Stroke(org.geotools.styling.Stroke) Fill(org.geotools.styling.Fill) GraphicFill(org.opengis.style.GraphicFill) FieldConfigBase(com.sldeditor.ui.detail.config.FieldConfigBase) Expression(org.opengis.filter.expression.Expression) GraphicalSymbol(org.opengis.style.GraphicalSymbol) ArrayList(java.util.ArrayList) Mark(org.geotools.styling.Mark) FieldConfigColour(com.sldeditor.ui.detail.config.FieldConfigColour)

Aggregations

Mark (org.geotools.styling.Mark)34 Test (org.junit.Test)17 FieldConfigCommonData (com.sldeditor.ui.detail.config.FieldConfigCommonData)16 StyleBuilder (org.geotools.styling.StyleBuilder)16 Expression (org.opengis.filter.expression.Expression)16 FieldConfigBase (com.sldeditor.ui.detail.config.FieldConfigBase)14 GraphicalSymbol (org.opengis.style.GraphicalSymbol)14 FieldConfigColour (com.sldeditor.ui.detail.config.FieldConfigColour)13 Fill (org.geotools.styling.Fill)11 GraphicPanelFieldManager (com.sldeditor.ui.detail.GraphicPanelFieldManager)10 ExternalGraphicImpl (org.geotools.styling.ExternalGraphicImpl)10 Stroke (org.geotools.styling.Stroke)10 PointFillDetails (com.sldeditor.ui.detail.PointFillDetails)9 FieldIdEnum (com.sldeditor.common.xml.ui.FieldIdEnum)8 ArrayList (java.util.ArrayList)8 FieldConfigSlider (com.sldeditor.ui.detail.config.FieldConfigSlider)7 FieldConfigSymbolType (com.sldeditor.ui.detail.config.FieldConfigSymbolType)7 Graphic (org.geotools.styling.Graphic)7 GraphicFill (org.opengis.style.GraphicFill)7 ColourFieldConfig (com.sldeditor.ui.detail.ColourFieldConfig)6