Mercurial > dive4elements > river
comparison gwt-client/src/main/java/org/dive4elements/river/client/client/ui/AbstractEpochPanel.java @ 9224:c3994657c15d
salix workflow little improvments
author | gernotbelger |
---|---|
date | Wed, 04 Jul 2018 15:26:08 +0200 |
parents | aafae1ab25f0 |
children | 7c3d689294e8 |
comparison
equal
deleted
inserted
replaced
9223:bfe97ad35df5 | 9224:c3994657c15d |
---|---|
9 */ | 9 */ |
10 package org.dive4elements.river.client.client.ui; | 10 package org.dive4elements.river.client.client.ui; |
11 | 11 |
12 import java.util.ArrayList; | 12 import java.util.ArrayList; |
13 import java.util.List; | 13 import java.util.List; |
14 import java.util.TreeSet; | |
15 | 14 |
16 import org.dive4elements.river.client.client.ui.FromToTableHelperPanel.IColumnClickHandler; | 15 import org.dive4elements.river.client.client.ui.FromToTableHelperPanel.IColumnClickHandler; |
17 import org.dive4elements.river.client.shared.model.Data; | 16 import org.dive4elements.river.client.shared.model.Data; |
18 import org.dive4elements.river.client.shared.model.DataItem; | 17 import org.dive4elements.river.client.shared.model.DataItem; |
19 import org.dive4elements.river.client.shared.model.DataList; | 18 import org.dive4elements.river.client.shared.model.DataList; |
35 public abstract class AbstractEpochPanel extends AbstractUIProvider { | 34 public abstract class AbstractEpochPanel extends AbstractUIProvider { |
36 | 35 |
37 private static final long serialVersionUID = 1L; | 36 private static final long serialVersionUID = 1L; |
38 | 37 |
39 protected enum Type { | 38 protected enum Type { |
40 singleMinMax, multi | 39 single, multi |
41 // Type singleMinMax: nur eine Epoche kann gesetzt werden; minMax vorbelegt aus Datenquelle | 40 // Type single: nur eine Epoche kann gesetzt werden; minMax vorbelegt aus Datenquelle |
42 // Type multi: mehrere epochs können eingegeben werden | 41 // Type multi: mehrere epochs können eingegeben werden |
43 } | 42 } |
44 | 43 |
45 private TextItem start; | 44 private TextItem start; |
46 | 45 |
57 } | 56 } |
58 | 57 |
59 protected abstract String getDatakey(); | 58 protected abstract String getDatakey(); |
60 | 59 |
61 protected abstract Canvas createWidget(final DataList data); | 60 protected abstract Canvas createWidget(final DataList data); |
62 | |
63 private final void postCreate() { | |
64 switch (this.type) { | |
65 case singleMinMax: | |
66 final TreeSet<String> minMax = new TreeSet<String>(this.validInputs); | |
67 if (minMax.size() > 1) { | |
68 this.start.setValue(minMax.first()); | |
69 this.end.setValue(minMax.last()); | |
70 } else { | |
71 // TODO: THIS STATE IS INVALID; RETURN - es gibt keinen Mechanismus, der das verhindert; müsste | |
72 // im State davor passieren) | |
73 } | |
74 break; | |
75 case multi: | |
76 break; // do nothing | |
77 default: | |
78 throw new IllegalStateException(); | |
79 } | |
80 } | |
81 | 61 |
82 protected final TextItem createStartInputItem(final String title) { | 62 protected final TextItem createStartInputItem(final String title) { |
83 this.start = PanelHelper.createItem(title); | 63 this.start = PanelHelper.createItem(title); |
84 return this.start; | 64 return this.start; |
85 } | 65 } |
142 this.validInputs = helper.getKeycolEntries(); | 122 this.validInputs = helper.getKeycolEntries(); |
143 final Canvas table = helper.getTable(); | 123 final Canvas table = helper.getTable(); |
144 | 124 |
145 this.helperContainer.addMember(table); | 125 this.helperContainer.addMember(table); |
146 | 126 |
147 postCreate(); | |
148 return layout; | 127 return layout; |
149 } | 128 } |
150 | 129 |
151 private final IColumnClickHandler createHandler(final TextItem field) { | 130 private final IColumnClickHandler createHandler(final TextItem field) { |
152 final IColumnClickHandler handler = new IColumnClickHandler() { | 131 final IColumnClickHandler handler = new IColumnClickHandler() { |
228 @Override | 207 @Override |
229 protected final Data[] getData() { | 208 protected final Data[] getData() { |
230 final List<Data> data = new ArrayList<Data>(); | 209 final List<Data> data = new ArrayList<Data>(); |
231 switch (this.type) { | 210 switch (this.type) { |
232 | 211 |
233 case singleMinMax: | 212 case single: |
234 data.add(buildResult(this.start.getValueAsString(), this.end.getValueAsString())); | 213 data.add(buildResult(this.start.getValueAsString(), this.end.getValueAsString())); |
235 | 214 |
236 break; | 215 break; |
237 case multi: | 216 case multi: |
238 final ListGridRecord[] lgr = this.elements.getRecords(); | 217 final ListGridRecord[] lgr = this.elements.getRecords(); |