view flys-client/src/main/java/de/intevation/flys/client/client/ui/range/LocationsTable.java @ 5818:a4ff4167be1e

Request feature info on all layers and show it as html if the server does not return valid gml. Non queryable layers produce an error message when the request fails. This is good enough
author Andre Heinecke <aheinecke@intevation.de>
date Wed, 24 Apr 2013 17:33:27 +0200
parents 738010779c74
children
line wrap: on
line source
package de.intevation.flys.client.client.ui.range;

import com.google.gwt.core.client.GWT;
import com.google.gwt.i18n.client.NumberFormat;

import com.smartgwt.client.types.ListGridFieldType;
import com.smartgwt.client.types.SelectionStyle;
import com.smartgwt.client.widgets.grid.ListGrid;
import com.smartgwt.client.widgets.grid.ListGridField;
import com.smartgwt.client.widgets.grid.ListGridRecord;

import com.smartgwt.client.widgets.grid.CellFormatter;

import de.intevation.flys.client.client.FLYSConstants;


/**
 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
 */
public class LocationsTable extends ListGrid {

    /** The message class that provides i18n strings.*/
    protected FLYSConstants MSG = GWT.create(FLYSConstants.class);


    public LocationsTable() {
        String baseUrl = GWT.getHostPageBaseURL();

        setWidth100();
        setHeight100();
        setSelectionType(SelectionStyle.SINGLE);
        setSelectionType(SelectionStyle.SINGLE);
        setShowHeaderContextMenu(false);
        setShowRecordComponents(true);
        setShowRecordComponentsByCell(true);
        setEmptyMessage(MSG.empty_filter());
        setCanReorderFields(false);

        ListGridField addfrom = new ListGridField ("from", MSG.from());
        addfrom.setType(ListGridFieldType.ICON);
        addfrom.setWidth(30);
        addfrom.setCellIcon(baseUrl + MSG.markerGreen());

        ListGridField addto = new ListGridField("to", MSG.to());
        addto.setType(ListGridFieldType.ICON);
        addto.setWidth(30);
        addto.setCellIcon(baseUrl + MSG.markerRed());

        ListGridField ldescr = new ListGridField(
            "description", MSG.description());
        ldescr.setType(ListGridFieldType.TEXT);
        ldescr.setWidth("*");

        ListGridField lside = new ListGridField("riverside", MSG.riverside());
        lside.setType(ListGridFieldType.TEXT);
        lside.setWidth("12%");

        ListGridField loc = new ListGridField("from", MSG.locations());
        loc.setType(ListGridFieldType.FLOAT);
        loc.setCellFormatter(new CellFormatter() {
            public String format(
                Object value,
                ListGridRecord record,
                int rowNum, int colNum) {
                    if (value == null) return null;
                    try {
                        NumberFormat nf;
                        double v = Double.parseDouble((String)value);
                        nf = NumberFormat.getFormat("###0.00##");
                        return nf.format(v);
                    }
                    catch (Exception e) {
                        return value.toString();
                    }
                }
            }
        );

        loc.setWidth("12%");

        ListGridField bottom = new ListGridField("bottom", MSG.bottom_edge());
        bottom.setType(ListGridFieldType.TEXT);
        bottom.setWidth("10%");

        ListGridField top = new ListGridField("top", MSG.top_edge());
        top.setType(ListGridFieldType.TEXT);
        top.setWidth("10%");

        setFields(addfrom, addto, ldescr, loc, lside, bottom, top);
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org