annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/PanelHelper.java @ 9559:ba0561906f81

Uinfo inundation duration workflow (vegetation zones, scenario), wms-config changed
author gernotbelger
date Wed, 24 Oct 2018 18:40:38 +0200
parents d89976700474
children
rev   line source
9066
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
1 /** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
2 * Software engineering by
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
3 * Björnsen Beratende Ingenieure GmbH
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
4 * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
5 *
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
6 * This file is Free Software under the GNU AGPL (>=v3)
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
8 * documentation coming with Dive4Elements River for details.
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
9 */
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
10 package org.dive4elements.river.client.client.ui;
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
11
9346
d89976700474 validationLabelHeight
gernotbelger
parents: 9237
diff changeset
12 import com.google.gwt.user.client.ui.Label;
9237
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
13 import com.smartgwt.client.types.Alignment;
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
14 import com.smartgwt.client.types.ListGridFieldType;
9107
41f4bc83aa7a vegzones improved
gernotbelger
parents: 9079
diff changeset
15 import com.smartgwt.client.widgets.form.fields.IntegerItem;
9066
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
16 import com.smartgwt.client.widgets.form.fields.TextItem;
9237
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
17 import com.smartgwt.client.widgets.form.validator.IntegerRangeValidator;
9079
aafae1ab25f0 epoch-panels, single-input-panels
gernotbelger
parents: 9066
diff changeset
18 import com.smartgwt.client.widgets.form.validator.IsIntegerValidator;
9066
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
19 import com.smartgwt.client.widgets.form.validator.Validator;
9237
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
20 import com.smartgwt.client.widgets.grid.ListGrid;
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
21 import com.smartgwt.client.widgets.grid.ListGridField;
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
22 import com.smartgwt.client.widgets.grid.SortNormalizer;
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
23 import com.smartgwt.client.widgets.grid.events.RecordClickEvent;
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
24 import com.smartgwt.client.widgets.grid.events.RecordClickHandler;
9066
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
25 import com.smartgwt.client.widgets.layout.VLayout;
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
26
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
27 /**
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
28 * @author Domenico Nardi Tironi
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
29 *
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
30 */
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
31 public class PanelHelper {
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
32
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
33 public PanelHelper() {
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
34
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
35 }
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
36
9118
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9107
diff changeset
37 public static final TextItem createItem(final String identifier, final String title, final String width, final Validator... validator) {
9066
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
38 final TextItem item = new TextItem(identifier, title);
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
39 item.setWidth(width);
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
40 item.setWrapTitle(false);
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
41 item.setValidators(validator);
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
42 return item;
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
43 }
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
44
9118
431f1c269be5 Veg-Zone Table improved, State change data recovery;
gernotbelger
parents: 9107
diff changeset
45 public static final IntegerItem createIntegerItem(final String identifier, final String title, final String width, final Validator... validator) {
9107
41f4bc83aa7a vegzones improved
gernotbelger
parents: 9079
diff changeset
46 final IntegerItem item = new IntegerItem(identifier, title);
41f4bc83aa7a vegzones improved
gernotbelger
parents: 9079
diff changeset
47 item.setWidth(width);
41f4bc83aa7a vegzones improved
gernotbelger
parents: 9079
diff changeset
48 item.setWrapTitle(false);
41f4bc83aa7a vegzones improved
gernotbelger
parents: 9079
diff changeset
49 item.setValidators(validator);
41f4bc83aa7a vegzones improved
gernotbelger
parents: 9079
diff changeset
50 return item;
41f4bc83aa7a vegzones improved
gernotbelger
parents: 9079
diff changeset
51 }
41f4bc83aa7a vegzones improved
gernotbelger
parents: 9079
diff changeset
52
9066
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
53 public static VLayout getSpacer(final int height) {
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
54 final VLayout spacer = new VLayout();
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
55 spacer.setHeight(height);
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
56 return spacer;
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
57 }
9079
aafae1ab25f0 epoch-panels, single-input-panels
gernotbelger
parents: 9066
diff changeset
58
aafae1ab25f0 epoch-panels, single-input-panels
gernotbelger
parents: 9066
diff changeset
59 public static TextItem createItem(final String title) {
aafae1ab25f0 epoch-panels, single-input-panels
gernotbelger
parents: 9066
diff changeset
60 final TextItem inputItem = new TextItem(title);
aafae1ab25f0 epoch-panels, single-input-panels
gernotbelger
parents: 9066
diff changeset
61
aafae1ab25f0 epoch-panels, single-input-panels
gernotbelger
parents: 9066
diff changeset
62 final boolean hideTitle = title == null || title.isEmpty();
aafae1ab25f0 epoch-panels, single-input-panels
gernotbelger
parents: 9066
diff changeset
63 inputItem.setShowTitle(!hideTitle);
aafae1ab25f0 epoch-panels, single-input-panels
gernotbelger
parents: 9066
diff changeset
64 // final CustomValidator validator = new CustomValidator() {
aafae1ab25f0 epoch-panels, single-input-panels
gernotbelger
parents: 9066
diff changeset
65 // @Override
aafae1ab25f0 epoch-panels, single-input-panels
gernotbelger
parents: 9066
diff changeset
66 // protected boolean condition(final Object value) {
aafae1ab25f0 epoch-panels, single-input-panels
gernotbelger
parents: 9066
diff changeset
67 // return validate().size() > 0 ? false : true;
aafae1ab25f0 epoch-panels, single-input-panels
gernotbelger
parents: 9066
diff changeset
68 // }
aafae1ab25f0 epoch-panels, single-input-panels
gernotbelger
parents: 9066
diff changeset
69 // };
aafae1ab25f0 epoch-panels, single-input-panels
gernotbelger
parents: 9066
diff changeset
70 inputItem.setValidators(new IsIntegerValidator()); // Validator hat keinen sichtbaren Effekt.
aafae1ab25f0 epoch-panels, single-input-panels
gernotbelger
parents: 9066
diff changeset
71 inputItem.setWidth(60);
aafae1ab25f0 epoch-panels, single-input-panels
gernotbelger
parents: 9066
diff changeset
72 return inputItem;
aafae1ab25f0 epoch-panels, single-input-panels
gernotbelger
parents: 9066
diff changeset
73
aafae1ab25f0 epoch-panels, single-input-panels
gernotbelger
parents: 9066
diff changeset
74 }
9237
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
75
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
76 public static final ListGridField createRemoveField(final ListGrid table, final String icon) {
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
77 final ListGridField removeField = new ListGridField("_removeRecord", "Remove Record") {
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
78 {
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
79 setType(ListGridFieldType.ICON);
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
80 setIcon(icon);
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
81 setCanEdit(false);
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
82 setCanFilter(false);
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
83 setCanSort(false);
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
84 setCanGroupBy(false);
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
85 setCanFreeze(false);
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
86 setWidth(25);
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
87 setCanDragResize(false);
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
88 super.setCanToggle(false);
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
89 }
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
90 };
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
91 table.addRecordClickHandler(new RecordClickHandler() {
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
92 @Override
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
93 public void onRecordClick(final RecordClickEvent event) {
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
94 // Just handle remove-clicks
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
95 if (!event.getField().getName().equals(removeField.getName())) {
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
96 return;
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
97 }
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
98 event.getViewer().removeData(event.getRecord());
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
99 }
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
100 });
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
101
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
102 return removeField;
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
103 }
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
104
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
105 public static final ListGridField createIntTableField(final String key, final String msg, final boolean canSort, final SortNormalizer normalizer,
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
106 final IntegerRangeValidator validators) {
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
107 final ListGridField intField = new ListGridField(key, msg);
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
108 intField.setType(ListGridFieldType.INTEGER);
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
109 intField.setValidators(validators);
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
110 intField.setWidth(90);
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
111 intField.setAlign(Alignment.RIGHT);
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
112 intField.setSortNormalizer(normalizer);
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
113 intField.setCanSort(canSort);
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
114 intField.setCanDragResize(false);
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
115
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
116 return intField;
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
117 }
972e10522ed6 salix.supraregional ui
gernotbelger
parents: 9118
diff changeset
118
9346
d89976700474 validationLabelHeight
gernotbelger
parents: 9237
diff changeset
119 public static final Label getValidationLabel() {
d89976700474 validationLabelHeight
gernotbelger
parents: 9237
diff changeset
120 final Label label = new Label();
d89976700474 validationLabelHeight
gernotbelger
parents: 9237
diff changeset
121 label.setHeight("15px");
d89976700474 validationLabelHeight
gernotbelger
parents: 9237
diff changeset
122 label.getElement().getStyle().setColor("red");
d89976700474 validationLabelHeight
gernotbelger
parents: 9237
diff changeset
123 return label;
d89976700474 validationLabelHeight
gernotbelger
parents: 9237
diff changeset
124 }
d89976700474 validationLabelHeight
gernotbelger
parents: 9237
diff changeset
125
9066
b5d7a9d79837 uinfo.inundation_duration ui
gernotbelger
parents:
diff changeset
126 }

http://dive4elements.wald.intevation.org