Revision 9e57a9b3
Added by Andreas Kohlbecker over 5 years ago
src/main/java/eu/etaxonomy/cdm/vaadin/component/common/GeoLocationField.java | ||
---|---|---|
23 | 23 |
import com.vaadin.ui.CssLayout; |
24 | 24 |
import com.vaadin.ui.GridLayout; |
25 | 25 |
import com.vaadin.ui.Label; |
26 |
import com.vaadin.ui.ListSelect; |
|
26 | 27 |
import com.vaadin.ui.TextField; |
27 | 28 |
|
28 | 29 |
import eu.etaxonomy.cdm.model.location.Point; |
... | ... | |
48 | 49 |
private BeanFieldGroup<Point> fieldGroup = new BeanFieldGroup<>(Point.class); |
49 | 50 |
|
50 | 51 |
private TextField longitudeField = new TextFieldNFix("Longitude"); |
51 |
TextField latitudeField = new TextFieldNFix("Latitude"); |
|
52 |
Label longLatParsed = new Label(); |
|
53 |
TextField errorRadiusField = new TextFieldNFix("Error radius (m)"); |
|
54 |
TextField referenceSystemField = new TextFieldNFix("ReferenceSystem");
|
|
52 |
private TextField latitudeField = new TextFieldNFix("Latitude");
|
|
53 |
private Label longLatParsed = new Label();
|
|
54 |
private TextField errorRadiusField = new TextFieldNFix("Error radius (m)");
|
|
55 |
private ListSelect referenceSystemSelect;
|
|
55 | 56 |
|
56 | 57 |
private LMap map = new LMap(); |
57 | 58 |
private LMarker mapMarker = new LMarker(); |
... | ... | |
59 | 60 |
|
60 | 61 |
private CssLayout mapWrapper; |
61 | 62 |
|
63 |
|
|
62 | 64 |
/** |
63 | 65 |
* |
64 | 66 |
*/ |
... | ... | |
80 | 82 |
|
81 | 83 |
errorRadiusField.setConverter(new IntegerConverter()); |
82 | 84 |
|
83 |
GridLayout root = new GridLayout(); |
|
84 |
root.setRows(2); |
|
85 |
root.setColumns(3); |
|
86 |
root.setStyleName("wrapper"); |
|
87 |
root.addComponent(latitudeField, 0, 0); |
|
88 |
root.addComponent(longitudeField, 1, 0); |
|
89 |
root.addComponent(errorRadiusField, 0, 1); |
|
90 |
root.addComponent(referenceSystemField, 1, 1); |
|
91 | 85 |
|
92 | 86 |
map = new LMap(); |
93 | 87 |
map.addBaseLayer(new LOpenStreetMapLayer(), null); |
... | ... | |
97 | 91 |
map.addClickListener(e -> refreshMap(e)); |
98 | 92 |
// map.getZoomControl().addListener(ClickEvent.class, target, method); |
99 | 93 |
|
100 |
root.setColumnExpandRatio(2, 1.0f); |
|
101 |
root.setRowExpandRatio(1, 1.0f); |
|
102 |
|
|
103 |
root.addComponent(map, 2, 1); |
|
104 | 94 |
mapWrapper = new CssLayout(longLatParsed, map); |
105 |
root.addComponent(mapWrapper, 2, 0, 2, 1); |
|
106 | 95 |
mapWrapper.setSizeFull(); |
107 | 96 |
mapWrapper.setStyleName("map-wrapper"); |
108 | 97 |
longLatParsed.setWidthUndefined(); |
... | ... | |
119 | 108 |
|
120 | 109 |
errorRadiusField.addValueChangeListener( e -> updateMap()); |
121 | 110 |
|
122 |
addStyledComponents(longitudeField, latitudeField, errorRadiusField, referenceSystemField, longLatParsed); |
|
111 |
referenceSystemSelect = new ListSelect("Reference system"); |
|
112 |
referenceSystemSelect.setNullSelectionAllowed(false); |
|
113 |
referenceSystemSelect.setRows(1); |
|
114 |
referenceSystemSelect.setWidth(100, Unit.PERCENTAGE); |
|
115 |
|
|
116 |
GridLayout root = new GridLayout(); |
|
117 |
root.setRows(2); |
|
118 |
root.setColumns(3); |
|
119 |
root.setStyleName("wrapper"); |
|
120 |
root.addComponent(latitudeField, 0, 0); |
|
121 |
root.addComponent(longitudeField, 1, 0); |
|
122 |
root.addComponent(errorRadiusField, 0, 1); |
|
123 |
root.addComponent(referenceSystemSelect, 1, 1); |
|
124 |
// root.addComponent(map, 2, 1); |
|
125 |
root.addComponent(mapWrapper, 2, 0, 2, 1); |
|
126 |
root.setColumnExpandRatio(2, 1.0f); |
|
127 |
root.setRowExpandRatio(1, 1.0f); |
|
128 |
|
|
129 |
addStyledComponents(longitudeField, latitudeField, errorRadiusField, referenceSystemSelect, longLatParsed); |
|
123 | 130 |
addSizedComponent(root); |
124 | 131 |
|
125 | 132 |
fieldGroup.bind(longitudeField, "longitude"); |
126 | 133 |
fieldGroup.bind(latitudeField, "latitude"); |
127 | 134 |
fieldGroup.bind(errorRadiusField, "errorRadius"); |
128 |
fieldGroup.bind(referenceSystemField, "referenceSystem");
|
|
135 |
fieldGroup.bind(referenceSystemSelect, "referenceSystem");
|
|
129 | 136 |
|
130 | 137 |
return root; |
131 | 138 |
} |
... | ... | |
184 | 191 |
} |
185 | 192 |
super.setInternalValue(newValue); |
186 | 193 |
fieldGroup.setItemDataSource(new BeanItem<Point>(newValue)); |
187 |
referenceSystemField.setEnabled(false); // disabled since not fully implemented |
|
188 | 194 |
updateMap(); |
189 | 195 |
} |
190 | 196 |
|
... | ... | |
205 | 211 |
return fieldGroup; |
206 | 212 |
} |
207 | 213 |
|
214 |
public ListSelect getReferenceSystemSelect() { |
|
215 |
return referenceSystemSelect; |
|
216 |
} |
|
217 |
|
|
208 | 218 |
|
209 | 219 |
|
210 | 220 |
} |
Also available in: Unified diff
fix #7218 GeoLocationField: reference system select fully functional