Mercurial > dive4elements > river
view flys-client/src/main/java/de/intevation/flys/client/client/ui/ExportPanel.java @ 4241:49cb65d5932d
Improved the historical discharge calculation.
The calculation now creates new HistoricalWQKms (new subclass of WQKms). Those WQKms are used
to create new facets from (new) type 'HistoricalDischargeCurveFacet'. The chart generator is
improved to support those facets.
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 24 Oct 2012 14:34:35 +0200 |
parents | b67af5b44d68 |
children | 94b95e002fb9 |
line wrap: on
line source
package de.intevation.flys.client.client.ui; import java.util.List; import java.util.MissingResourceException; import com.google.gwt.core.client.GWT; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.Label; import com.smartgwt.client.widgets.layout.HLayout; import com.smartgwt.client.widgets.layout.VLayout; import de.intevation.flys.client.shared.model.Collection; import de.intevation.flys.client.shared.model.ExportMode; import de.intevation.flys.client.shared.model.Facet; import de.intevation.flys.client.client.Config; import de.intevation.flys.client.client.FLYSConstants; /** * A panel that displays an download icon for all available export modes of a * Collection. * * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public class ExportPanel extends VLayout { /** The message class that provides i18n strings.*/ protected FLYSConstants MSG = GWT.create(FLYSConstants.class); protected Collection c; protected List<ExportMode> exports; /** This layout will store a list of available export types.*/ protected HLayout container; public ExportPanel(Collection c, List<ExportMode> exports) { super(); this.c = c; this.exports = exports; this.container = new HLayout(); Label title = new Label(MSG.dataexport()); title.setHeight(15); title.setStyleName("fontNormalSmallUnderlined"); addMember(title); addMember(createExportItems()); setHeight(45); setMembersMargin(5); } /** * This method is used to create an item (created by createExportButton) for * each facet for each export mode. * * @return a horizontal list of buttons. */ protected HLayout createExportItems() { HLayout layout = new HLayout(); for (ExportMode mode: exports) { String name = mode.getName(); List<Facet> facets = mode.getFacets(); for (Facet facet: facets) { if (name.equals("fix_wq_curve_at_export")) { continue; } layout.addMember(createExportButton(name, facet.getName())); } } return layout; } /** * This method is used to create a button (with click handler) for a * concrete export mode / type. * * @param name The name of the export. * @param facet The name of the export type (e.g. CSV, WST). * * @return an image with click handler. */ protected Canvas createExportButton(String name, String facet) { String url = getExportUrl(name, facet); String iUrl = GWT.getHostPageBaseURL() + MSG.imageSave(); ImgLink link = new ImgLink(iUrl, url, 30, 30); link.setTooltip(getTooltipText(name, facet)); return link; } /** * Creates the URL used to trigger an export. * * @param name The name of the export. * @param facet The name of the export type (e.g. CSV, WST). * * @return the export URL. */ protected String getExportUrl(String name, String facet) { Config config = Config.getInstance(); String url = GWT.getModuleBaseURL(); url += "export"; url += "?uuid=" + c.identifier(); url += "&mode=" + name; url += "&type=" + facet; url += "&server=" + config.getServerUrl(); url += "&locale=" + config.getLocale(); return url; } /** * Creates a text used as tooltip for a specific export and type. * * @param name The name of the export. * @param facet The name of the export type (e.g. CSV, WST). * * @return a tooltip text. */ protected String getTooltipText(String name, String facet) { try { return MSG.getString(name) + " | " + MSG.getString(facet); } catch (MissingResourceException mre) { return name + " | " + facet; } } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :