Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/states/MultiStringArrayState.java @ 4205:0dd8963cec9c
Set also the width of the GaugeTree when resizing the GaugePanel
GWT is no longer able to calculate and set the correct width of the GaugeTree since
the GaugeTree is added via a Canvas wrapper. Therefore set the width manually
when resizing the GaugeTree.
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Mon, 22 Oct 2012 15:33:16 +0200 |
parents | 33bfc01410fb |
children |
line wrap: on
line source
package de.intevation.flys.artifacts.states; import org.w3c.dom.Element; import org.apache.log4j.Logger; import de.intevation.artifacts.Artifact; import de.intevation.artifacts.CallContext; import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator; import de.intevation.artifacts.common.model.KVP; import de.intevation.flys.artifacts.FLYSArtifact; import de.intevation.flys.artifacts.resources.Resources; /** * * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public abstract class MultiStringArrayState extends DefaultState { private static final Logger logger = Logger.getLogger(MultiStringArrayState.class); @Override protected void appendItems( Artifact artifact, ElementCreator creator, String name, CallContext context, Element select ) { try { creator.addAttr(select, "type", "options", true); for (KVP kvp: getOptions(artifact, name, context)) { Element item = creator.create("item"); creator.addAttr(item, "label", kvp.getValue().toString(), true); creator.addAttr(item, "value", kvp.getKey().toString(), true); select.appendChild(item); } } catch (IllegalArgumentException iae) { logger.warn("Illegal argument", iae); } } @Override protected Element createStaticData( FLYSArtifact flys, ElementCreator creator, CallContext cc, String name, String value, String type ) { Element data = creator.create("data"); creator.addAttr(data, "name", name, true); creator.addAttr(data, "type", type, true); creator.addAttr(data, "label", Resources.getMsg(cc.getMeta(), name, name), true); String[] values = value.split(";"); for (String val: values) { Element item = creator.create("item"); creator.addAttr(item, "value", val, true); creator.addAttr(item, "label", getLabelFor(cc, name, val), true); data.appendChild(item); } return data; } protected abstract KVP<String, String>[] getOptions( Artifact artifact, String parameterName, CallContext context ) throws IllegalArgumentException; protected abstract String getLabelFor( CallContext cc, String parameterName, String value ) throws IllegalArgumentException; } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :