[Dive4elements-commits] [PATCH 2 of 2] issue1260, issue1259: Improve multi-gauge w/q input
Wald Commits
scm-commit at wald.intevation.org
Fri Apr 19 12:37:00 CEST 2013
# HG changeset patch
# User Felix Wolfsteller <felix.wolfsteller at intevation.de>
# Date 1366368295 -7200
# Node ID 496c8c9d49135c8ec319ed6c3b68cb523555e1a4
# Parent cdc47534a9709cd53929a86dc3852af4018e5a9a
issue1260, issue1259: Improve multi-gauge w/q input.
diff -r cdc47534a970 -r 496c8c9d4913 flys-client/src/main/java/de/intevation/flys/client/client/ui/WQAdaptedInputPanel.java
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/WQAdaptedInputPanel.java Fri Apr 19 11:47:27 2013 +0200
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/WQAdaptedInputPanel.java Fri Apr 19 12:44:55 2013 +0200
@@ -216,21 +216,34 @@
double val = r.getAttributeAsDouble("value");
doubleArrayPanels.get(fi).setValues(new double[]{val});
- // Focus next.
- if (fi != doubleArrayPanels.size()-1) {
- doubleArrayPanels.get(fi+1).focusInItem(1);
+ // If a named value for first gauge is chosen, try to find and set
+ // the values to the other panels too.
+ if (fi == 0) {
+ String valueName = r.getAttribute("name");
+ int oi = 0;
+ // TODO instead of oi use random access.
+ for (QDTable otherQDTable: qdTables) {
+ if (oi == 0) {
+ oi++;
+ continue;
+ }
+ Double value = otherQDTable.findRecordValue(valueName);
+ if (value == null) {
+ // TODO i18n
+ SC.warn("No Value for <name> at <gauge>");
+ }
+ else {
+ doubleArrayPanels.get(oi).setValues(new double[]{value});
+ }
+ oi++;
+ }
}
-
- /*if (itemWithFocus != null) {
- itemWithFocus.setValues(new double[]{val});
- int i = doubleArrayPanels.indexOf(itemWithFocus);
- if (i == doubleArrayPanels.size()-1) {
- doubleArrayPanels.get(0).focusInItem(1);
+ else {
+ // Focus next.
+ if (fi != doubleArrayPanels.size()-1) {
+ doubleArrayPanels.get(fi+1).focusInItem(1);
}
- else {
- doubleArrayPanels.get(i+1).focusInItem(1);
- }
- }*/
+ }
}
};
diff -r cdc47534a970 -r 496c8c9d4913 flys-client/src/main/java/de/intevation/flys/client/client/ui/wq/QDTable.java
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/wq/QDTable.java Fri Apr 19 11:47:27 2013 +0200
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/wq/QDTable.java Fri Apr 19 12:44:55 2013 +0200
@@ -109,5 +109,18 @@
public boolean isLocked() {
return lockClick;
}
+
+ /**
+ * Search all records for one with attribute name equals to given name.
+ * @return null if none found.
+ * */
+ public Double findRecordValue(String name) {
+ for (ListGridRecord record : getRecords()) {
+ if (record.getAttribute("name").equals(name)) {
+ return record.getAttributeAsDouble("value");
+ }
+ }
+ return null;
+ }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
More information about the Dive4elements-commits
mailing list