Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTableEditPanel.java @ 9069:1ffd38826175
access uinfo.vegetationzones+inundation_duration
author | gernotbelger |
---|---|
date | Tue, 15 May 2018 12:00:26 +0200 |
parents | a5cf8d7bff3c |
children | 611a523fc42f |
rev | line source |
---|---|
9064 | 1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
2 * Software engineering by Intevation GmbH | |
3 * | |
4 * This file is Free Software under the GNU AGPL (>=v3) | |
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the | |
6 * documentation coming with Dive4Elements River for details. | |
7 */ | |
8 | |
9 package org.dive4elements.river.client.client.ui.uinfo; | |
10 | |
9066 | 11 import org.dive4elements.river.client.client.ui.PanelHelper; |
9064 | 12 import org.dive4elements.river.client.shared.model.DataList; |
13 | |
14 import com.google.gwt.core.client.GWT; | |
15 import com.smartgwt.client.types.ListGridFieldType; | |
16 import com.smartgwt.client.widgets.Button; | |
17 import com.smartgwt.client.widgets.Canvas; | |
18 import com.smartgwt.client.widgets.Label; | |
19 import com.smartgwt.client.widgets.events.ClickEvent; | |
20 import com.smartgwt.client.widgets.events.ClickHandler; | |
21 import com.smartgwt.client.widgets.form.DynamicForm; | |
22 import com.smartgwt.client.widgets.form.validator.IsIntegerValidator; | |
23 import com.smartgwt.client.widgets.form.validator.IsStringValidator; | |
24 import com.smartgwt.client.widgets.grid.ListGridField; | |
25 import com.smartgwt.client.widgets.grid.ListGridRecord; | |
26 import com.smartgwt.client.widgets.grid.events.RecordClickEvent; | |
27 import com.smartgwt.client.widgets.grid.events.RecordClickHandler; | |
28 import com.smartgwt.client.widgets.layout.HLayout; | |
29 | |
9068
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
30 public class VegetationzonesTableEditPanel extends SuperVegZonesTablePanel { |
9064 | 31 private static final long serialVersionUID = 1L; |
32 | |
9068
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
33 @Override |
9064 | 34 public Canvas createWidget(final DataList data) { |
35 | |
36 final HLayout fields = new HLayout(); | |
37 final HLayout fields2 = new HLayout(); | |
38 | |
39 final Button add = new Button(this.MSG.add_date()); // TODO: make key more generic or change to more specific | |
9068
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
40 |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
41 data.add(VegetationzonesTablePanel.getDummyData()); |
9064 | 42 |
43 final Label title = new Label(data.get(0).getDescription()); | |
44 title.setHeight("35px"); // orig:25 | |
45 | |
9066 | 46 this.vegzone = PanelHelper.createItem("uinfo_vegetation_zone_label", this.MSG.uinfo_vegetation_zone_label(), 200, new IsStringValidator()); |
47 this.start = PanelHelper.createItem("uinfo_vegetation_zones_from", this.MSG.uinfo_vegetation_zones_from(), 40, new IsIntegerValidator()); | |
48 this.end = PanelHelper.createItem("uinfo_vegetation_zones_to", this.MSG.uinfo_vegetation_zones_to(), 40, new IsIntegerValidator()); | |
9064 | 49 |
50 final DynamicForm form1 = new DynamicForm(); | |
51 final DynamicForm form2 = new DynamicForm(); | |
52 form2.setNumCols(5); | |
53 form1.setNumCols(7); | |
54 form1.setFields(this.vegzone); | |
55 form2.setFields(this.start, this.end); | |
56 | |
57 add.addClickHandler(new ClickHandler() { | |
58 @Override | |
59 public void onClick(final ClickEvent ce) { | |
9066 | 60 final String v1 = VegetationzonesTableEditPanel.this.start.getValueAsString(); |
61 final String v2 = VegetationzonesTableEditPanel.this.end.getValueAsString(); | |
62 final String v3 = VegetationzonesTableEditPanel.this.vegzone.getValueAsString(); | |
9064 | 63 if (v1 == null || v2 == null || v3 == null) { |
64 return; | |
65 } | |
9069
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9068
diff
changeset
|
66 try { |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9068
diff
changeset
|
67 final double test = Double.valueOf(v1); |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9068
diff
changeset
|
68 final double test2 = Double.valueOf(v2); |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9068
diff
changeset
|
69 // TODO: MAKE MESSAGE, Apply Format (1.000,00) |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9068
diff
changeset
|
70 } |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9068
diff
changeset
|
71 catch (final Exception e) { |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9068
diff
changeset
|
72 e.printStackTrace(); |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9068
diff
changeset
|
73 return; |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9068
diff
changeset
|
74 } |
9064 | 75 |
76 final ListGridRecord r = new ListGridRecord(); | |
77 r.setAttribute("vegzone", v3); | |
78 r.setAttribute("from", v1); | |
79 r.setAttribute("to", v2); | |
9066 | 80 VegetationzonesTableEditPanel.this.elements.addData(r); |
9064 | 81 } |
82 }); | |
83 | |
84 final Label sel = new Label(this.MSG.select()); | |
85 sel.setHeight(25); | |
86 this.elements.setWidth(450); // 185 | |
9069
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9068
diff
changeset
|
87 this.elements.setHeight(300); // 120 |
9064 | 88 this.elements.setShowHeaderContextMenu(false); |
89 this.elements.setCanReorderFields(false); | |
90 this.elements.setCanSort(false); | |
91 this.elements.setCanEdit(false); | |
92 final ListGridField vegzone = new ListGridField("vegzone", this.MSG.uinfo_vegetation_zones_label()); | |
93 final ListGridField from = new ListGridField("from", this.MSG.uinfo_vegetation_zones_from()); | |
94 final ListGridField to = new ListGridField("to", this.MSG.uinfo_vegetation_zones_to()); | |
95 vegzone.setWidth(285); | |
96 from.setWidth(70); | |
97 to.setWidth(70); | |
98 | |
9068
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
99 addDataInit(data); |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
100 |
9064 | 101 final ListGridField removeField = new ListGridField("_removeRecord", "Remove Record") { |
102 { | |
103 setType(ListGridFieldType.ICON); | |
9066 | 104 setIcon(GWT.getHostPageBaseURL() + VegetationzonesTableEditPanel.this.MSG.removeFeature()); |
9064 | 105 setCanEdit(false); |
106 setCanFilter(false); | |
107 setCanSort(false); | |
108 setCanGroupBy(false); | |
109 setCanFreeze(false); | |
110 setWidth(25); | |
111 } | |
112 }; | |
113 | |
114 this.elements.addRecordClickHandler(new RecordClickHandler() { | |
115 @Override | |
116 public void onRecordClick(final RecordClickEvent event) { | |
117 // Just handle remove-clicks | |
118 if (!event.getField().getName().equals(removeField.getName())) { | |
119 return; | |
120 } | |
121 event.getViewer().removeData(event.getRecord()); | |
122 } | |
123 }); | |
124 | |
125 this.elements.setFields(vegzone, from, to, removeField); | |
126 | |
127 fields.addMember(form1); | |
128 fields2.addMember(form2); | |
129 | |
9068
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
130 this.tableLayout.addMember(this.elements); |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
131 this.root.addMember(title); |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
132 this.root.addMember(this.input); |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
133 this.root.addMember(this.tableLayout); |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
134 this.root.addMember(PanelHelper.getSpacer(10)); |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
135 this.root.addMember(fields); |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
136 this.root.addMember(fields2); |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
137 this.root.addMember(PanelHelper.getSpacer(10)); |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
138 this.root.addMember(add); |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
139 this.root.addMember(PanelHelper.getSpacer(20)); |
9064 | 140 |
9068
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
141 return this.root; |
9064 | 142 } |
143 | |
144 } |