@Override public void redo() throws CannotRedoException { super.redo(); productNodeGroup.remove(productNode); }
private static void deleteMaskFromGroup(ProductNodeGroup<Mask> group, Mask mask) { if (group.contains(mask)) { group.remove(mask); } }
@Override public void undo() throws CannotUndoException { super.undo(); // todo - close all open document windows group.remove(productNode); }
void removeMask(Mask mask) { getProduct().getMaskGroup().remove(mask); fireTableDataChanged(); }
@Override public void actionPerformed(ActionEvent e) { if (plotAreaSelectionTool != null) { plotAreaSelectionTool.removeAnnotation(); } Product product = pagePanel.getProduct(); if (product != null) { Mask mask = product.getMaskGroup().get(maskName); if (mask != null) { product.getMaskGroup().remove(mask); } } } });
private static <T extends ProductNode> void deleteProductNode(Product product, ProductNodeGroup<T> group, T productNode) { closeDocumentWindow(productNode); final int index = group.indexOf(productNode); group.remove(productNode); UndoRedo.Manager manager = SnapApp.getDefault().getUndoManager(product); if (manager != null) { manager.addEdit(new UndoableProductNodeDeletion<>(group, productNode, index)); } }
private void exchangeVDN(SimpleFeatureType featureType, FeatureStatisticsWriter featureStatisticsWriter) { final VectorDataNode originalVDN = featureType2VDN.get(featureType); final VectorDataNode vectorDataNode = createVectorDataNode(featureStatisticsWriter, originalVDN); final ProductNodeGroup<VectorDataNode> vectorDataNodeGroup = provider.getVectorDataNodeGroup(); vectorDataNodeGroup.remove(originalVDN); originalVDN.dispose(); vectorDataNodeGroup.add(vectorDataNode); //todo solve this one // final JInternalFrame internalFrame = VisatApp.getApp().findInternalFrame(originalVDN); // if (internalFrame != null) { // try { // internalFrame.setClosed(true); // } catch (PropertyVetoException ignored) { // ok // } // } final ProductSceneView sceneView = SnapApp.getDefault().getSelectedProductSceneView(); if (sceneView != null) { sceneView.setLayersVisible(vectorDataNode); } }
void removeSelectedPins() { final List<Placemark> placemarks = getSelectedPlacemarks(); for (Placemark placemark : placemarks) { getPlacemarkGroup(product).remove(placemark); } int selectedRow = placemarkTable.getSelectedRow(); if (selectedRow >= getPlacemarkGroup(product).getNodeCount()) { selectedRow = getPlacemarkGroup(product).getNodeCount() - 1; } if (selectedRow >= 0) { placemarkTable.getSelectionModel().setSelectionInterval(selectedRow, selectedRow); } UndoRedo.Manager undoManager = SnapApp.getDefault().getUndoManager(product); if (undoManager != null) { undoManager.addEdit(UndoablePlacemarkActionFactory.createUndoablePlacemarkRemoval(product, placemarks, placemarkDescriptor)); } updateUIState(); }
if (raster instanceof Mask) { Mask mask = (Mask) raster; product.getMaskGroup().remove(mask); for (Band band : product.getBands()) { deleteMaskFromGroup(band.getOverlayMaskGroup(), mask); if (imageType == Mask.VectorDataType.INSTANCE) { VectorDataNode vectorDataNode = Mask.VectorDataType.getVectorData(mask); product.getVectorDataGroup().remove(vectorDataNode);
public static void deleteVectorDataNode(VectorDataNode vectorDataNode) { Assert.notNull(vectorDataNode); Product product = vectorDataNode.getProduct(); ProductNodeGroup<Mask> maskGroup = product.getMaskGroup(); Mask vectorMask = null; for (int i = 0; i < maskGroup.getNodeCount(); i++) { Mask mask = maskGroup.get(i); if (mask.getImageType() == Mask.VectorDataType.INSTANCE && Mask.VectorDataType.getVectorData(mask) == vectorDataNode) { vectorMask = mask; break; } } String message; if (vectorMask != null) { List<RasterDataNode> virtualBands = getReferencedVirtualBands(vectorMask); List<RasterDataNode> validMaskNodes = getReferencedValidMasks(vectorMask); List<RasterDataNode> masks = getReferencedMasks(vectorMask); VectorDataNode[] nodes = new VectorDataNode[]{vectorDataNode}; message = formatPromptMessage("Geometry", nodes, virtualBands, validMaskNodes, masks); } else { message = MessageFormat.format("Do you really want to delete the geometry ''{0}''?\nThis action cannot be undone.\n\n", vectorDataNode.getName()); } final Dialogs.Answer answer = Dialogs.requestDecision("Delete Vector Data", message, true, null); if (answer == Dialogs.Answer.YES) { product.getVectorDataGroup().remove(vectorDataNode); } }
@Override public void areaSelected(PlotAreaSelectionTool.AreaType areaType, Shape shape) { Product product = pagePanel.getProduct(); final RasterDataNode raster = pagePanel.getRaster(); if (product == null || raster == null) { return; } String expression = createMaskExpression(areaType, shape); Mask mask = product.getMaskGroup().get(maskName); if (mask != null) { if (!mask.getRasterSize().equals(raster.getRasterSize())) { // if sizes are different we need to remove the mask first and add it as new one product.getMaskGroup().remove(mask); mask = addMask(product, raster, expression); } else { mask.getImageConfig().setValue("expression", expression); } } else { mask = addMask(product, raster, expression); } ProductNodeGroup<Mask> overlayMaskGroup = raster.getOverlayMaskGroup(); if (!overlayMaskGroup.contains(mask)) { overlayMaskGroup.add(mask); } }
overlayMaskGroup.remove(mask);
bandGroup.remove(computedBand); bandGroup.add(bandIndex, realBand);