Mercurial > dive4elements > river
view flys-client/src/main/java/de/intevation/flys/client/client/ui/ParameterMatrixPanel.java @ 3847:f3b821735e39
Calculate the info url via i18n
Don't fetch the info url from the artifact service and use i18n to calculate the
url by using the official gauge and river number.
flys-client/trunk@5582 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Bjoern Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Mon, 24 Sep 2012 08:39:22 +0000 |
parents | 255decb14439 |
children | 8d0ababa2db7 |
line wrap: on
line source
package de.intevation.flys.client.client.ui; import java.util.List; import java.util.Map; import java.util.Set; 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.Data; import de.intevation.flys.client.shared.model.DataItem; import de.intevation.flys.client.shared.model.DataList; import de.intevation.flys.client.shared.model.DefaultData; import de.intevation.flys.client.shared.model.DefaultDataItem; import de.intevation.flys.client.shared.model.IntegerOptionsData; import de.intevation.flys.client.shared.model.StringOptionsData; /** * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> */ public class ParameterMatrixPanel extends AbstractUIProvider { private ParameterMatrix matrix; @Override protected Data[] getData() { Map<String, List<String>> selection = matrix.getSelection(); Set<Map.Entry<String, List<String>>> entries = selection.entrySet(); Data[] list = new Data[selection.size()]; int i = 0; for (Map.Entry<String, List<String>> entry: entries) { String value = buildValueString(entry.getValue()); DataItem item = new DefaultDataItem( entry.getKey(), null, value); list[i++] = new DefaultData( entry.getKey(), null, null, new DataItem[] { item }); } return list; } protected String buildValueString(List<String> values) { StringBuilder sb = new StringBuilder(); boolean first = true; for (String value: values) { if (!first) { sb.append(";"); } sb.append(value); first = false; } return sb.toString(); } @Override public Canvas createOld(DataList dataList) { HLayout layout = new HLayout(); VLayout vLayout = new VLayout(); layout.setWidth(300); vLayout.setWidth(280); for (int i = 0, n = dataList.size(); i < n; i++) { HLayout row = new HLayout(); VLayout cols = new VLayout(); row.setWidth(300); cols.setWidth(100); Data data = dataList.get(i); DataItem[] items = data.getItems(); Label parameter = new Label(data.getDescription()); parameter.setWidth(200); for (int j = 0, m = items.length; j < m; j++) { DataItem item = items[j]; Label value = new Label(item.getLabel()); value.setValign(com.smartgwt.client.types.VerticalAlignment.TOP); value.setWidth(130); value.setHeight(20); cols.addMember(value); } row.addMember(parameter); row.addMember(cols); vLayout.addMember(row); } Canvas back = getBackButton(dataList.getState()); layout.addMember(vLayout); layout.addMember(back); return layout; } @Override public Canvas create(DataList dataList) { VLayout v = new VLayout(); v.addMember(createTitle(dataList)); matrix = new ParameterMatrix(); for (Data data: dataList.getAll()) { if (data instanceof IntegerOptionsData) { matrix.addColumn((IntegerOptionsData) data); } else if (data instanceof StringOptionsData) { matrix.addColumn((StringOptionsData) data); } } v.addMember(matrix.create()); v.addMember(getNextButton()); return v; } protected Canvas createTitle(DataList dataList) { Data data = dataList.get(0); Label label = new Label(data.getDescription()); label.setHeight(35); return label; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :