view gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DistanceOnlyPanel.java @ 9130:f61bc0c63188

WQSelect can now handle distance-only data
author gernotbelger
date Wed, 06 Jun 2018 14:16:28 +0200
parents 28c50f5efceb
children
line wrap: on
line source
/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
 * Software engineering by Intevation GmbH
 *
 * This file is Free Software under the GNU AGPL (>=v3)
 * and comes with ABSOLUTELY NO WARRANTY! Check out the
 * documentation coming with Dive4Elements River for details.
 */

package org.dive4elements.river.client.client.ui;

import java.util.List;

import org.dive4elements.river.client.shared.model.Data;
import org.dive4elements.river.client.shared.model.DataItem;
import org.dive4elements.river.client.shared.model.DataList;
import org.dive4elements.river.client.shared.model.DefaultData;
import org.dive4elements.river.client.shared.model.DefaultDataItem;

public class DistanceOnlyPanel extends DistancePanel {

    private static final long serialVersionUID = -5794138573892656947L;

    public DistanceOnlyPanel() {
        this("right");
    }

    public DistanceOnlyPanel(final String labelOrientation) {
        this.distancePanel = new DoubleRangeOnlyPanel(labelFrom(), labelTo(), 0d, 0d, 250, this, labelOrientation);
    }

    @Override
    protected String getOldSelectionString(final DataList dataList) {
        final List<Data> items = dataList.getAll();

        final Data dFrom = getData(items, getLowerField());
        final Data dTo = getData(items, getUpperField());

        final DataItem[] from = dFrom.getItems();
        final DataItem[] to = dTo.getItems();

        final StringBuilder sb = new StringBuilder();
        sb.append(from[0].getLabel());
        sb.append(" " + getUnitFrom() + " - ");
        sb.append(to[0].getLabel());
        sb.append(" " + getUnitTo());

        return sb.toString();
    }

    @Override
    protected void initDefaultStep(final DataList data) {
        // do nothing
    }

    @Override
    public Data[] getData() {
        final Data[] data = new Data[3];

        data[0] = getDataFrom();
        data[1] = getDataTo();

        final DataItem item = new DefaultDataItem("ld_mode", "ld_mode", "distance_only");
        data[2] = new DefaultData("ld_mode", null, null, new DataItem[] { item });

        return data;
    }

    @Override
    protected String labelFrom() {
        return getUnitFrom() + " - ";
    }

    @Override
    protected String labelTo() {
        return getUnitTo();
    }
}

http://dive4elements.wald.intevation.org