Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTableEditPanel.java @ 9070:611a523fc42f
VegetationZoneAccessHelper, VegetationTablePanels verbessert
author | gernotbelger |
---|---|
date | Tue, 15 May 2018 18:04:36 +0200 |
parents | 1ffd38826175 |
children | 41f4bc83aa7a |
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.events.ClickEvent; | |
19 import com.smartgwt.client.widgets.events.ClickHandler; | |
20 import com.smartgwt.client.widgets.form.DynamicForm; | |
21 import com.smartgwt.client.widgets.form.validator.IsIntegerValidator; | |
22 import com.smartgwt.client.widgets.form.validator.IsStringValidator; | |
23 import com.smartgwt.client.widgets.grid.ListGridField; | |
24 import com.smartgwt.client.widgets.grid.ListGridRecord; | |
25 import com.smartgwt.client.widgets.grid.events.RecordClickEvent; | |
26 import com.smartgwt.client.widgets.grid.events.RecordClickHandler; | |
27 import com.smartgwt.client.widgets.layout.HLayout; | |
28 | |
9070
611a523fc42f
VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents:
9069
diff
changeset
|
29 public class VegetationzonesTableEditPanel extends AbstractVegZonesTablePanel { |
9064 | 30 private static final long serialVersionUID = 1L; |
31 | |
9068
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
32 @Override |
9064 | 33 public Canvas createWidget(final DataList data) { |
9070
611a523fc42f
VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents:
9069
diff
changeset
|
34 super.createTable(data, 450); |
611a523fc42f
VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents:
9069
diff
changeset
|
35 this.vegzone = PanelHelper.createItem("uinfo_vegetation_zone_label", this.MSG.uinfo_vegetation_zone_label(), 200, new IsStringValidator()); |
611a523fc42f
VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents:
9069
diff
changeset
|
36 this.start = PanelHelper.createItem("uinfo_vegetation_zones_from", this.MSG.uinfo_vegetation_zones_from(), 40, new IsIntegerValidator()); |
611a523fc42f
VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents:
9069
diff
changeset
|
37 this.end = PanelHelper.createItem("uinfo_vegetation_zones_to", this.MSG.uinfo_vegetation_zones_to(), 40, new IsIntegerValidator()); |
9064 | 38 final HLayout fields = new HLayout(); |
39 final HLayout fields2 = new HLayout(); | |
40 | |
41 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
|
42 |
9064 | 43 final DynamicForm form1 = new DynamicForm(); |
44 final DynamicForm form2 = new DynamicForm(); | |
45 form2.setNumCols(5); | |
46 form1.setNumCols(7); | |
47 form1.setFields(this.vegzone); | |
48 form2.setFields(this.start, this.end); | |
49 | |
50 add.addClickHandler(new ClickHandler() { | |
51 @Override | |
52 public void onClick(final ClickEvent ce) { | |
9066 | 53 final String v1 = VegetationzonesTableEditPanel.this.start.getValueAsString(); |
54 final String v2 = VegetationzonesTableEditPanel.this.end.getValueAsString(); | |
55 final String v3 = VegetationzonesTableEditPanel.this.vegzone.getValueAsString(); | |
9064 | 56 if (v1 == null || v2 == null || v3 == null) { |
57 return; | |
58 } | |
9069
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9068
diff
changeset
|
59 try { |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9068
diff
changeset
|
60 final double test = Double.valueOf(v1); |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9068
diff
changeset
|
61 final double test2 = Double.valueOf(v2); |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9068
diff
changeset
|
62 // TODO: MAKE MESSAGE, Apply Format (1.000,00) |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9068
diff
changeset
|
63 } |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9068
diff
changeset
|
64 catch (final Exception e) { |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9068
diff
changeset
|
65 e.printStackTrace(); |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9068
diff
changeset
|
66 return; |
1ffd38826175
access uinfo.vegetationzones+inundation_duration
gernotbelger
parents:
9068
diff
changeset
|
67 } |
9064 | 68 |
69 final ListGridRecord r = new ListGridRecord(); | |
70 r.setAttribute("vegzone", v3); | |
71 r.setAttribute("from", v1); | |
72 r.setAttribute("to", v2); | |
9066 | 73 VegetationzonesTableEditPanel.this.elements.addData(r); |
9064 | 74 } |
75 }); | |
76 | |
77 final ListGridField removeField = new ListGridField("_removeRecord", "Remove Record") { | |
78 { | |
79 setType(ListGridFieldType.ICON); | |
9066 | 80 setIcon(GWT.getHostPageBaseURL() + VegetationzonesTableEditPanel.this.MSG.removeFeature()); |
9064 | 81 setCanEdit(false); |
82 setCanFilter(false); | |
83 setCanSort(false); | |
84 setCanGroupBy(false); | |
85 setCanFreeze(false); | |
86 setWidth(25); | |
87 } | |
88 }; | |
89 | |
90 this.elements.addRecordClickHandler(new RecordClickHandler() { | |
91 @Override | |
92 public void onRecordClick(final RecordClickEvent event) { | |
93 // Just handle remove-clicks | |
94 if (!event.getField().getName().equals(removeField.getName())) { | |
95 return; | |
96 } | |
97 event.getViewer().removeData(event.getRecord()); | |
98 } | |
99 }); | |
100 | |
9070
611a523fc42f
VegetationZoneAccessHelper, VegetationTablePanels verbessert
gernotbelger
parents:
9069
diff
changeset
|
101 this.elements.setFields(super.vegzoneField, super.fromField, super.toField, removeField); |
9064 | 102 |
103 fields.addMember(form1); | |
104 fields2.addMember(form2); | |
105 | |
9068
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
106 this.root.addMember(fields); |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
107 this.root.addMember(fields2); |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
108 this.root.addMember(PanelHelper.getSpacer(10)); |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
109 this.root.addMember(add); |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
110 this.root.addMember(PanelHelper.getSpacer(20)); |
9064 | 111 |
9068
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
112 return this.root; |
9064 | 113 } |
114 | |
115 } |