All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.gwtopenmaps.openlayers.client.StyleMap Maven / Gradle / Ivy

/**
 *
 *   Copyright 2015 sourceforge.
 *
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *        http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *   limitations under the License.
 */
package org.gwtopenmaps.openlayers.client;

import org.gwtopenmaps.openlayers.client.feature.VectorFeature;
import org.gwtopenmaps.openlayers.client.style.Rule;
import org.gwtopenmaps.openlayers.client.util.JObjectArray;
import org.gwtopenmaps.openlayers.client.util.JSObject;

/**
 *
 * StyleMap contais a set of tree styles
 * 
    *
  • default : the default style to render the feature
  • *
  • select : the style to render the feature when it is selected
  • *
  • temporary: style to render the feature when it is temporarily selected *
  • *
* * @author Rafael Ceravolo - LOGANN * @author Lukas Johansson */ public class StyleMap extends OpenLayersObjectWrapper { protected StyleMap(JSObject openLayersObject) { super(openLayersObject); } /** * Creates a StyleMap with default properties */ public StyleMap() { this(StyleMapImpl.create()); } /** * Creates a StyleMap setting the same style for all renderer intents. *

* From OpenLayers documentation: If just one style hash or style object is * passed, this will be used for all known render intents (default, select, * temporary) */ public StyleMap(Style style) { this( StyleMapImpl.create( style.getJSObject(), style.getJSObject(), style.getJSObject() ) ); } /** * Creates a StyleMap setting different styles for renderer intents. *

* Avoid passing null for one of the styles. If just want to use 2 style, * pass the same style for selectStyle and tempraryStyle parameters. * * @param defaultStyle the default style to render the feature * @param selectStyle the style to render the feature when it is selected * @param temporaryStyle style to render the feature when it is temporarily * selected */ public StyleMap(Style defaultStyle, Style selectStyle, Style temporaryStyle) { this( StyleMapImpl.create( defaultStyle == null ? null : defaultStyle.getJSObject(), selectStyle == null ? null : selectStyle.getJSObject(), temporaryStyle == null ? null : temporaryStyle.getJSObject() ) ); } public StyleMap(OpenLayersStyle defaultStyle, OpenLayersStyle selectStyle, OpenLayersStyle temporaryStyle) { this( defaultStyle == null ? null : defaultStyle.getJSObject(), selectStyle == null ? null : selectStyle.getJSObject(), temporaryStyle == null ? null : temporaryStyle.getJSObject() ); } private StyleMap(JSObject defaultStyle, JSObject selectStyle, JSObject temporaryStyle) { this(StyleMapImpl.create(defaultStyle, selectStyle, temporaryStyle)); } public static StyleMap narrowToOpenLayersStyleMap(JSObject element) { return (element == null) ? null : new StyleMap(element); } public Style createSymbolizer(VectorFeature feature, String renderIntent) { return Style.narrowToOpenLayersStyle( StyleImpl.createSymbolizer( getJSObject(), feature.getJSObject(), renderIntent ) ); } /** * Add rules to the given Style of a StyleMap * * @param rules The rules to add * @param symbolizer The symbolizer of the style (default, temporary, * select, delete, ...) * @return */ public void addRules(Rule[] rules, String symbolizer) { JObjectArray array = new JObjectArray(rules); JSObject style = getJSObject().getProperty("styles").getProperty(symbolizer); StyleImpl.addRules(style, array.getJSObject()); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy