Mercurial > dive4elements > river
diff flys-client/src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java @ 1535:03e82be2aabc
Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
flys-client/trunk@3751 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Mon, 23 Jan 2012 15:45:20 +0000 |
parents | 07b9404d7170 |
children | 79483ff032bb |
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java Mon Jan 23 11:07:38 2012 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java Mon Jan 23 15:45:20 2012 +0000 @@ -60,6 +60,9 @@ GWT.create(WQInfoService.class); /** The constant field name for choosing w or q mode.*/ + public static final String FIELD_WQ_W_FREE = "WFREE"; + + /** The constant field name for choosing w or q mode.*/ public static final String FIELD_WQ = "wq"; /** The constant field value for W input mode.*/ @@ -421,13 +424,14 @@ return; } - boolean isW = theMode.equals(FIELD_WQ_W); - boolean isFree = Boolean.valueOf(theFree); + boolean isW = theMode.equals(FIELD_WQ_W); + boolean isFree = Boolean.valueOf(theFree); + boolean isWFree = theMode.equals(FIELD_WQ_W_FREE); initUserSingleValues(list, theMode); initUserRangeValues(list, theMode); - if (isW) { + if (isW || isWFree) { modes.setValue(FIELD_WQ, theMode); } else { @@ -643,7 +647,7 @@ protected Canvas createModePanel() { RadioGroupItem wq = new RadioGroupItem(FIELD_WQ); wq.setShowTitle(false); - wq.setVertical(false); + wq.setVertical(true); wq.setWidth(WIDTH_LEFT_UPPER); wq.setWrap(false); @@ -654,6 +658,7 @@ LinkedHashMap wqValues = new LinkedHashMap(); wqValues.put(FIELD_WQ_W, MESSAGE.wqW()); + wqValues.put(FIELD_WQ_W_FREE, MESSAGE.wqWFree()); wqValues.put(FIELD_WQ_Q, MESSAGE.wqQ()); wqValues.put(FIELD_WQ_Q_GAUGE, MESSAGE.wqQGauge()); @@ -699,12 +704,14 @@ else if (isQFree()) { return validateRange(qFreeRangePanel, minQFree, maxQFree); } + else if (isWFree()) { + return validateRange(wRangePanel, minW, maxW); + } else { return validateRange(qRangePanel, minQ, maxQ); } } - protected List<String> validateSingleValues() { if (isWMode()) { return validateSingle(wArrayPanel, minW, maxW); @@ -712,6 +719,9 @@ else if (isQFree()) { return validateSingle(qFreeArrayPanel, minQFree, maxQFree); } + else if (isWFree()) { + return validateSingle(wArrayPanel, minW, maxW); + } else { return validateSingle(qArrayPanel, minQ, maxQ); } @@ -1185,6 +1195,11 @@ return wqMode.equals(FIELD_WQ_Q); } + protected boolean isWFree() { + String wqMode = modes.getValueAsString(FIELD_WQ); + return wqMode.equals(FIELD_WQ_W_FREE); + } + /** * This method changes the lower panel with the input fields depending on @@ -1222,7 +1237,7 @@ protected void updatePanels(String wqMode, String inputMode) { container.removeMembers(container.getMembers()); - if (wqMode.equals(FIELD_WQ_W)) { + if (wqMode.equals(FIELD_WQ_W) || wqMode.equals(FIELD_WQ_W_FREE)) { if (inputMode.equals(FIELD_MODE_SINGLE)) { // Single W mode double[] values = getSingleW();