Mercurial > dive4elements > river
view flys-client/src/main/java/de/intevation/flys/client/client/ui/fixation/FixLocationPanel.java @ 3719:e82acd5c86f7
Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
file:///home/clients/bsh/bsh-generischer-viewer/Material/SVN/flys-client/trunk
........
r5495 | ingo | 2012-09-17 14:55:09 +0200 (Mo, 17 Sep 2012) | 1 line
Added missing i18n strings for minfo state description.
........
r5496 | ingo | 2012-09-17 15:47:43 +0200 (Mo, 17 Sep 2012) | 1 line
Tagged 'flys-client' as 2.9.1
........
r5509 | teichmann | 2012-09-18 17:54:37 +0200 (Di, 18 Sep 2012) | 1 line
Removed trailing whitespace.
........
r5514 | bricks | 2012-09-19 09:56:42 +0200 (Mi, 19 Sep 2012) | 2 lines
Add missing Changelog entry for r5472
........
r5515 | bricks | 2012-09-19 09:59:35 +0200 (Mi, 19 Sep 2012) | 2 lines
Implement a scrolling gauge info tree
........
r5521 | bricks | 2012-09-19 14:41:48 +0200 (Mi, 19 Sep 2012) | 2 lines
Add station info to the gauges
........
r5522 | bricks | 2012-09-19 14:43:43 +0200 (Mi, 19 Sep 2012) | 2 lines
Improve the handling of the GaugePanel in the ParameterList
........
r5523 | bricks | 2012-09-19 14:51:02 +0200 (Mi, 19 Sep 2012) | 4 lines
Improve the GaugePanel
Be locale aware and only load the gauge info if the river name changes.
........
r5524 | bricks | 2012-09-19 15:14:46 +0200 (Mi, 19 Sep 2012) | 5 lines
Fix a NullPointerException
When iterating over a list it must be checked if the reference to the list is
valid.
........
r5525 | bricks | 2012-09-19 15:16:24 +0200 (Mi, 19 Sep 2012) | 2 lines
Don't display the GaugePanel if no river is selected
........
r5526 | bricks | 2012-09-19 15:18:36 +0200 (Mi, 19 Sep 2012) | 2 lines
Use the wstunit from the river as unit for the Pegelnullpunkt
........
flys-client/tags/2.9.1@5528 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 19 Sep 2012 14:42:48 +0000 |
parents | 0de61fc9d281 |
children | acfd48384835 |
line wrap: on
line source
package de.intevation.flys.client.client.ui.fixation; import java.util.List; import java.util.ArrayList; 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 com.smartgwt.client.widgets.form.fields.FormItem; import com.smartgwt.client.widgets.form.fields.events.BlurHandler; import com.smartgwt.client.widgets.form.fields.events.BlurEvent; import de.intevation.flys.client.client.FLYSConstants; import de.intevation.flys.client.client.ui.DoubleRangePanel; 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; /** * This UIProvider creates a panel for location or distance input. * * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> */ public class FixLocationPanel extends FixationPanel implements BlurHandler { /** The message class that provides i18n strings. */ protected FLYSConstants MESSAGES = GWT.create(FLYSConstants.class); /** The constant name of the input field to enter locations.*/ public static final String FIELD_VALUE_LOCATION = "location"; /** The constant name of the input field to enter distance.*/ public static final String FIELD_VALUE_DISTANCE = "distance"; DoubleRangePanel inputPanel; double from; double to; double step; public FixLocationPanel() { htmlOverview = ""; } public Canvas createWidget(DataList data) { instances.put(this.artifact.getUuid(), this); VLayout layout = new VLayout(); Canvas title = new Label(MESSAGES.distance()); title.setHeight("25px"); inputPanel = new DoubleRangePanel( MESSAGES.unitFrom(), MESSAGES.unitTo(), MESSAGES.unitWidth(), 0d, 0d, 0d, 240, this); layout.addMember(title); layout.addMember(inputPanel); return layout; } @Override public Canvas createOld(DataList dataList) { List<Data> items = dataList.getAll(); Data f = getData(items, "from"); Data t = getData(items, "to"); Data s = getData(items, "step"); DataItem[] fItems = f.getItems(); DataItem[] tItems = t.getItems(); DataItem[] sItems = s.getItems(); StringBuilder sb = new StringBuilder(); sb.append(fItems[0].getLabel()); sb.append(" " + MESSAGES.unitFrom() + " "); sb.append(tItems[0].getLabel()); sb.append(" " + MESSAGES.unitTo() + " "); sb.append(sItems[0].getLabel()); sb.append(" " + MESSAGES.unitWidth()); Label old = new Label(sb.toString()); old.setWidth(130); HLayout layout = new HLayout(); layout.setWidth("400px"); Label label = new Label(dataList.getLabel()); label.setWidth("200px"); Canvas back = getBackButton(dataList.getState()); layout.addMember(label); layout.addMember(old); layout.addMember(back); return layout; } /** * This method returns the selected data. * * @return the selected/inserted data. */ public Data[] getData() { List<Data> data = new ArrayList<Data>(); boolean valid = saveRangeValues(inputPanel); if (valid) { String f = Double.valueOf(this.from).toString(); String t = Double.valueOf(this.to).toString(); String s = Double.valueOf(this.step).toString(); DataItem fi = new DefaultDataItem("from", "from", f); DataItem ti = new DefaultDataItem("to", "to", t); DataItem si = new DefaultDataItem("step", "step", s); data.add(new DefaultData("from", null, null, new DataItem[]{ fi })); data.add(new DefaultData("to", null, null, new DataItem[]{ ti })); data.add(new DefaultData("step", null, null, new DataItem[]{ si })); } // what else? return data.toArray(new Data[data.size()]); } protected boolean saveRangeValues(DoubleRangePanel p) { FormItem[] items = p.getFields(); boolean valid = p.validateForm(); if(valid) { this.from = p.getFrom(); this.to = p.getTo(); this.step = p.getStep(); } return valid; } @Override public void setValues(String cid, boolean checked) { // No user interaction, do nothing. } @Override public boolean renderCheckboxes() { // No selection, return false. return false; } public void success() { inputPanel.setValues(fixInfo.getFrom(), fixInfo.getTo(), 100d); } /** * This method is used to validate the inserted data in the form fields. * * @param event The BlurEvent that gives information about the FormItem that * has been modified and its value. */ public void onBlur(BlurEvent event) { FormItem item = event.getItem(); String field = item.getFieldName(); if (field == null) { return; } DoubleRangePanel p = (DoubleRangePanel) event.getForm(); } public void dumpGWT(String cid) { GWT.log("Setting values for cId: " + cid); GWT.log("River: " + fixInfo.getRiver()); GWT.log("Date: " + fixInfo.getEventByCId(cid).getDate()); GWT.log("Name: " + fixInfo.getEventByCId(cid).getDescription()); } }