Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTableEditPanel.java @ 9068:a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
author | gernotbelger |
---|---|
date | Mon, 14 May 2018 18:24:35 +0200 |
parents | b5d7a9d79837 |
children | 1ffd38826175 |
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 } | |
66 | |
67 final ListGridRecord r = new ListGridRecord(); | |
68 r.setAttribute("vegzone", v3); | |
69 r.setAttribute("from", v1); | |
70 r.setAttribute("to", v2); | |
9066 | 71 VegetationzonesTableEditPanel.this.elements.addData(r); |
9064 | 72 } |
73 }); | |
74 | |
75 final Label sel = new Label(this.MSG.select()); | |
76 sel.setHeight(25); | |
77 this.elements.setWidth(450); // 185 | |
78 this.elements.setHeight(500); // 120 | |
79 this.elements.setShowHeaderContextMenu(false); | |
80 this.elements.setCanReorderFields(false); | |
81 this.elements.setCanSort(false); | |
82 this.elements.setCanEdit(false); | |
83 final ListGridField vegzone = new ListGridField("vegzone", this.MSG.uinfo_vegetation_zones_label()); | |
84 final ListGridField from = new ListGridField("from", this.MSG.uinfo_vegetation_zones_from()); | |
85 final ListGridField to = new ListGridField("to", this.MSG.uinfo_vegetation_zones_to()); | |
86 vegzone.setWidth(285); | |
87 from.setWidth(70); | |
88 to.setWidth(70); | |
89 | |
9068
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
90 addDataInit(data); |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
91 |
9064 | 92 final ListGridField removeField = new ListGridField("_removeRecord", "Remove Record") { |
93 { | |
94 setType(ListGridFieldType.ICON); | |
9066 | 95 setIcon(GWT.getHostPageBaseURL() + VegetationzonesTableEditPanel.this.MSG.removeFeature()); |
9064 | 96 setCanEdit(false); |
97 setCanFilter(false); | |
98 setCanSort(false); | |
99 setCanGroupBy(false); | |
100 setCanFreeze(false); | |
101 setWidth(25); | |
102 } | |
103 }; | |
104 | |
105 this.elements.addRecordClickHandler(new RecordClickHandler() { | |
106 @Override | |
107 public void onRecordClick(final RecordClickEvent event) { | |
108 // Just handle remove-clicks | |
109 if (!event.getField().getName().equals(removeField.getName())) { | |
110 return; | |
111 } | |
112 event.getViewer().removeData(event.getRecord()); | |
113 } | |
114 }); | |
115 | |
116 this.elements.setFields(vegzone, from, to, removeField); | |
117 | |
118 fields.addMember(form1); | |
119 fields2.addMember(form2); | |
120 | |
9068
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
121 this.tableLayout.addMember(this.elements); |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
122 this.root.addMember(title); |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
123 this.root.addMember(this.input); |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
124 this.root.addMember(this.tableLayout); |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
125 this.root.addMember(PanelHelper.getSpacer(10)); |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
126 this.root.addMember(fields); |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
127 this.root.addMember(fields2); |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
128 this.root.addMember(PanelHelper.getSpacer(10)); |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
129 this.root.addMember(add); |
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
130 this.root.addMember(PanelHelper.getSpacer(20)); |
9064 | 131 |
9068
a5cf8d7bff3c
access uinfo.salx; tablePanel edit/non-edit merge
gernotbelger
parents:
9066
diff
changeset
|
132 return this.root; |
9064 | 133 } |
134 | |
135 } |