@Override public int getRowCount() { return vectorDataNode.getPlacemarkGroup().getNodeCount(); }
@Override public Object getValueAt(int rowIndex, int columnIndex) { return vectorDataNode.getPlacemarkGroup().get(rowIndex).getFeature().getAttribute(columnIndex); } }
private void onNodeChange(ProductNodeEvent event) { ProductNode sourceNode = event.getSourceNode(); if (sourceNode == vectorDataNode) { updateTable(); } else if (sourceNode.getOwner() == vectorDataNode.getPlacemarkGroup()) { updateTable(); } }
if (getVectorDataNode().getPlacemarkGroup().contains(sourceNode)) if (event.getPropertyName().equals(Placemark.PROPERTY_NAME_STYLE_CSS)) { updateFigureCollection();
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()); } } } } }
public static VectorDataNode createDefaultVectorDataNode(Product product, String name, String description) { CoordinateReferenceSystem modelCrs = product.getSceneCRS(); SimpleFeatureType type = PlainFeatureFactory.createDefaultFeatureType(modelCrs); VectorDataNode vectorDataNode = new VectorDataNode(name, type); vectorDataNode.setDescription(description); product.getVectorDataGroup().add(vectorDataNode); vectorDataNode.getPlacemarkGroup(); String oldLayerId = selectVectorDataLayer(vectorDataNode); UndoRedo.Manager undoManager = SnapApp.getDefault().getUndoManager(product); if (undoManager != null) { undoManager.addEdit(new UndoableVectorDataNodeInsertion(product, vectorDataNode, oldLayerId)); } return vectorDataNode; }