Search in sources :

Example 31 with Fill

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

the class SymbolTypeFactory method getFill.

/**
 * Gets the fill for the selected value.
 *
 * @param graphicFill the graphic fill
 * @param fieldConfigManager the field config manager
 * @return the fill
 */
public Fill getFill(GraphicFill graphicFill, GraphicPanelFieldManager fieldConfigManager) {
    Fill fill = null;
    ValueComboBoxData obj = symbolTypeField.getSelectedValueObj();
    if (obj != null) {
        if (!isNone(obj.getKey())) {
            FieldState panel = classMap.get(obj.getPanelId());
            if (panel != null) {
                fill = panel.getFill(graphicFill, fieldConfigManager);
            }
        }
    }
    return fill;
}
Also used : Fill(org.geotools.styling.Fill) GraphicFill(org.opengis.style.GraphicFill) ValueComboBoxData(com.sldeditor.ui.widgets.ValueComboBoxData)

Example 32 with Fill

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

the class SymbolTypeFactory method getMinimumVersion.

/**
 * Gets the minimum version for the SLD symbol.
 *
 * @param parentObj the parent obj
 * @param sldObj the sld obj
 * @param vendorOptionsPresentList the vendor options present list
 */
public void getMinimumVersion(Object parentObj, Object sldObj, List<VendorOptionPresent> vendorOptionsPresentList) {
    GraphicalSymbol symbol = null;
    Graphic graphic = null;
    if (sldObj instanceof Graphic) {
        graphic = (Graphic) sldObj;
    } else if (sldObj instanceof Fill) {
        Fill fill = (Fill) sldObj;
        graphic = fill.getGraphicFill();
    } else if (sldObj instanceof Stroke) {
        Stroke stroke = (Stroke) sldObj;
        graphic = stroke.getGraphicStroke();
    }
    if (graphic != null) {
        List<GraphicalSymbol> graphicalSymbolList = graphic.graphicalSymbols();
        if ((graphicalSymbolList != null) && !graphicalSymbolList.isEmpty()) {
            symbol = graphicalSymbolList.get(0);
        }
    }
    if (symbol != null) {
        for (FieldState panel : symbolTypeFieldList) {
            if (panel.accept(symbol)) {
                panel.getMinimumVersion(parentObj, sldObj, vendorOptionsPresentList);
            }
        }
    }
}
Also used : Fill(org.geotools.styling.Fill) GraphicFill(org.opengis.style.GraphicFill) Stroke(org.geotools.styling.Stroke) Graphic(org.geotools.styling.Graphic) GraphicalSymbol(org.opengis.style.GraphicalSymbol)

Example 33 with Fill

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

the class FieldConfigFilename method getFill.

/**
 * Gets the fill.
 *
 * @param graphicFill the graphic fill
 * @param fieldConfigManager the field config manager
 * @return the fill
 */
@Override
public Fill getFill(GraphicFill graphicFill, GraphicPanelFieldManager fieldConfigManager) {
    if (fieldConfigManager == null) {
        return null;
    }
    Fill fill = null;
    FieldConfigBase fieldConfig = fieldConfigManager.get(FieldIdEnum.OVERALL_OPACITY);
    if (fieldConfig != null) {
        Expression fillColour = null;
        Expression fillColourOpacity = null;
        if (fieldConfig instanceof FieldConfigColour) {
            fillColourOpacity = ((FieldConfigColour) fieldConfig).getColourOpacityExpression();
        } else {
            fillColourOpacity = fieldConfig.getExpression();
        }
        fill = getStyleFactory().fill(graphicFill, fillColour, fillColourOpacity);
    }
    return fill;
}
Also used : Fill(org.geotools.styling.Fill) GraphicFill(org.opengis.style.GraphicFill) FieldConfigBase(com.sldeditor.ui.detail.config.FieldConfigBase) Expression(org.opengis.filter.expression.Expression) FieldConfigColour(com.sldeditor.ui.detail.config.FieldConfigColour)

Example 34 with Fill

use of org.geotools.styling.Fill 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 35 with Fill

use of org.geotools.styling.Fill 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)

Aggregations

Fill (org.geotools.styling.Fill)39 Expression (org.opengis.filter.expression.Expression)23 Stroke (org.geotools.styling.Stroke)18 GraphicFill (org.opengis.style.GraphicFill)17 PolygonSymbolizer (org.geotools.styling.PolygonSymbolizer)14 GraphicalSymbol (org.opengis.style.GraphicalSymbol)14 Graphic (org.geotools.styling.Graphic)13 ArrayList (java.util.ArrayList)11 Mark (org.geotools.styling.Mark)11 FieldConfigBase (com.sldeditor.ui.detail.config.FieldConfigBase)10 JsonObject (com.google.gson.JsonObject)9 FieldConfigColour (com.sldeditor.ui.detail.config.FieldConfigColour)8 AnchorPoint (org.geotools.styling.AnchorPoint)7 Displacement (org.geotools.styling.Displacement)7 PointSymbolizer (org.geotools.styling.PointSymbolizer)6 Test (org.junit.Test)6 ExternalGraphic (org.geotools.styling.ExternalGraphic)5 JsonElement (com.google.gson.JsonElement)4 MarkImpl (org.geotools.styling.MarkImpl)4 Symbolizer (org.geotools.styling.Symbolizer)4