Project

General

Profile

« Previous | Next » 

Revision 9e57a9b3

Added by Andreas Kohlbecker over 5 years ago

fix #7218 GeoLocationField: reference system select fully functional

View differences:

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