private Placemark[] getSelectedPlacemarks(PlacemarkGroup placemarkGroup) { Figure[] figures = figureEditor.getFigureSelection().getFigures(); ArrayList<Placemark> selectedPlacemarks = new ArrayList<>(figures.length); for (Figure figure : figures) { if (figure instanceof SimpleFeatureFigure) { SimpleFeatureFigure featureFigure = (SimpleFeatureFigure) figure; Placemark placemark = placemarkGroup.getPlacemark(featureFigure.getSimpleFeature()); if (placemark != null) { selectedPlacemarks.add(placemark); } } } return selectedPlacemarks.toArray(new Placemark[selectedPlacemarks.size()]); }
private Placemark getSelectedPlacemark(PlacemarkGroup placemarkGroup) { Figure[] figures = figureEditor.getFigureSelection().getFigures(); for (Figure figure : figures) { if (figure instanceof SimpleFeatureFigure) { SimpleFeatureFigure featureFigure = (SimpleFeatureFigure) figure; Placemark placemark = placemarkGroup.getPlacemark(featureFigure.getSimpleFeature()); if (placemark != null) { return placemark; } } } return null; }
private boolean isPlacemarkSelected(PlacemarkGroup placemarkGroup, Placemark placemark) { Figure[] figures = figureEditor.getFigureSelection().getFigures(); for (Figure figure : figures) { if (figure instanceof SimpleFeatureFigure) { SimpleFeatureFigure featureFigure = (SimpleFeatureFigure) figure; Placemark pin = placemarkGroup.getPlacemark(featureFigure.getSimpleFeature()); if (pin == placemark) { return true; } } } return false; }
public boolean selectPlacemarks(PlacemarkGroup placemarkGroup, Placemark[] placemarks) { VectorDataLayer layer = selectVectorDataLayer(placemarkGroup.getVectorDataNode()); if (layer != null) { FigureCollection figureCollection = layer.getFigureCollection(); Figure[] figures = figureCollection.getFigures(); ArrayList<SimpleFeatureFigure> selectedFigures = new ArrayList<>(figures.length); HashSet<Placemark> placemarkSet = new HashSet<>(Arrays.asList(placemarks)); for (Figure figure : figures) { if (figure instanceof SimpleFeatureFigure) { SimpleFeatureFigure featureFigure = (SimpleFeatureFigure) figure; Placemark placemark = placemarkGroup.getPlacemark(featureFigure.getSimpleFeature()); if (placemarkSet.contains(placemark)) { selectedFigures.add(featureFigure); } } } figureEditor.getFigureSelection().removeAllFigures(); figureEditor.getFigureSelection().addFigures(selectedFigures.toArray(new Figure[selectedFigures.size()])); final int selectionStage = Math.min(selectedFigures.size(), 2); figureEditor.getFigureSelection().setSelectionStage(selectionStage); return true; } return false; }
@Override public void selectionChanged(SelectionChangeEvent event) { Selection selection = event.getSelection(); if (selection.isEmpty()) { if (!firedNoPinSelected) { firePropertyChange(PROPERTY_NAME_SELECTED_PIN, null, null); firedNoPinSelected = true; } } else { Object selectedValue = selection.getSelectedValue(); if (selectedValue instanceof SimpleFeatureFigure) { SimpleFeatureFigure featureFigure = (SimpleFeatureFigure) selectedValue; PlacemarkGroup pinGroup = getProduct().getPinGroup(); Placemark pin = pinGroup.getPlacemark(featureFigure.getSimpleFeature()); if (pin != null) { firePropertyChange(PROPERTY_NAME_SELECTED_PIN, null, pin); firedNoPinSelected = false; } } } } }
if (featureFigure != null) { figureMap.remove(simpleFeature); Placemark placemark = vectorDataNode.getPlacemarkGroup().getPlacemark(simpleFeature); if(placemark != null) { String css = placemark.getStyleCss();
private void setFeatureStyleCss(SimpleFeatureFigure selectedFigure, FigureStyle style) { final VectorDataNode vectorDataNode = getVectorDataNode(); if (vectorDataNode != null) { // Transfer new style to associated placemark. Awful code :-( final Placemark placemark = vectorDataNode.getPlacemarkGroup().getPlacemark(selectedFigure.getSimpleFeature()); if (placemark != null) { placemark.setStyleCss(style.toCssString()); } else { final int index = selectedFigure.getSimpleFeature().getFeatureType().indexOf(Placemark.PROPERTY_NAME_STYLE_CSS); if (index != -1) { selectedFigure.getSimpleFeature().setAttribute(index, style.toCssString()); } } } } }