private void updateGeometriesOnMap() { // make list of geometries from search items List<Geometry> searchGeoms = new ArrayList<Geometry>(); for (ListGridRecord record : searchItems.getRecords()) { SearchListRecord slr = (SearchListRecord) record; if (slr.getCritter() instanceof GeometryCriterion) { Geometry geometry = GeometryConverter.toGwt(((GeometryCriterion) slr.getCritter()).getGeometry()); searchGeoms.add(geometry); } } // (re)draw the geometries for (int i = 0; i < searchGeoms.size(); i++) { GfxGeometry worldPaintable = null; if (i < geometries.size()) { worldPaintable = geometries.get(i); mapWidget.unregisterWorldPaintable(worldPaintable); } else { worldPaintable = new GfxGeometry(GEOMETRY_IDENTIFIER + "_" + (i + 1)); worldPaintable.setStyle(selectionStyle); geometries.add(worldPaintable); } worldPaintable.setGeometry(searchGeoms.get(i)); mapWidget.registerWorldPaintable(worldPaintable); } // unregister superfluous geometries for (int i = searchGeoms.size(); i < geometries.size(); i++) { mapWidget.unregisterWorldPaintable(geometries.get(i)); } }
private void setGeometryOfCurrentGroup(Geometry geometryOfCurrentGroup) { territoryMap.unregisterWorldPaintable(groupGeometry); this.geometryOfCurrentGroup = geometryOfCurrentGroup; groupGeometry.setGeometry(GeometryConverter.toGwt(geometryOfCurrentGroup)); updateEditingButtonEnabled(); territoryMap.registerWorldPaintable(groupGeometry); }
private void updateGeometryOnMap() { if (worldPaintable == null) { worldPaintable = new GfxGeometry(GeometricSearchCreator.IDENTIFIER + "_SELECTION_GEOMETRY"); worldPaintable.setStyle(selectionStyle); } else { mapWidget.unregisterWorldPaintable(worldPaintable); } if (searchGeometry != null) { worldPaintable.setGeometry(searchGeometry); mapWidget.registerWorldPaintable(worldPaintable); } } }