Mercurial > dive4elements > river
diff flys-client/src/main/java/de/intevation/flys/client/client/ui/DoubleRangeOnlyPanel.java @ 1265:f98bd9b5cedd
#315 Added a new UIProvider for range selection in floodmaps.
flys-client/trunk@2797 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Wed, 21 Sep 2011 12:54:27 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/DoubleRangeOnlyPanel.java Wed Sep 21 12:54:27 2011 +0000 @@ -0,0 +1,88 @@ +package de.intevation.flys.client.client.ui; + +import com.google.gwt.i18n.client.NumberFormat; + +import com.smartgwt.client.types.Alignment; +import com.smartgwt.client.widgets.form.fields.FloatItem; +import com.smartgwt.client.widgets.form.fields.StaticTextItem; +import com.smartgwt.client.widgets.form.fields.events.BlurHandler; + + +public class DoubleRangeOnlyPanel extends DoubleRangePanel { + + public DoubleRangeOnlyPanel( + String titleFrom, + String titleTo, + double from, + double to, + int width, + BlurHandler handler + ) { + this(titleFrom, titleTo, from, to, width, handler, "right"); + } + + + public DoubleRangeOnlyPanel( + String titleFrom, + String titleTo, + double from, + double to, + int width, + BlurHandler handler, + String labelOrientation + ) { + super(); + + fromItem = new FloatItem(FIELD_FROM); + toItem = new FloatItem(FIELD_TO); + stepItem = new FloatItem(FIELD_WIDTH); + + fromItem.addBlurHandler(handler); + toItem.addBlurHandler(handler); + + NumberFormat nf = NumberFormat.getDecimalFormat(); + + fromItem.setValue(nf.format(from)); + toItem.setValue(nf.format(to)); + + StaticTextItem fromText = new StaticTextItem("staticFrom"); + fromText.setValue(titleFrom); + fromText.setShowTitle(false); + fromItem.setShowTitle(false); + + StaticTextItem toText = new StaticTextItem("staticTo"); + toText.setValue(titleTo); + toText.setShowTitle(false); + toItem.setShowTitle(false); + + int itemWidth = width / 4; + fromItem.setWidth(itemWidth); + fromText.setWidth(itemWidth); + toItem.setWidth(itemWidth); + toText.setWidth(itemWidth); + + if (labelOrientation.equals("right")) { + setFields(fromItem, fromText, toItem, toText); + } + else { + setFields(fromText, fromItem, toText, toItem); + } + + setFixedColWidths(false); + setNumCols(4); + setWidth(width); + setAlign(Alignment.CENTER); + } + + + @Override + public boolean validateForm() { + return validateForm(fromItem) && validateForm(toItem); + } + + + @Override + public double getStep() { + return -1; + } +}