@Override public void actionPerformed(ActionEvent e) { Mask mask = getMaskForm().getSelectedMask(); ImageType imageType = mask.getImageType(); ProductSceneView productSceneView = topComponent.getSelectedProductSceneView(); if (productSceneView != null) { Rectangle2D modelBounds; if (imageType == Mask.VectorDataType.INSTANCE) { modelBounds = handleVectorMask(mask); } else { modelBounds = handleImageMask(mask, productSceneView.getBaseImageLayer().getImageToModelTransform()); } if (modelBounds != null) { Viewport viewport = productSceneView.getViewport(); final AffineTransform m2vTransform = viewport.getModelToViewTransform(); final AffineTransform v2mTransform = viewport.getViewToModelTransform(); final Rectangle2D viewBounds = m2vTransform.createTransformedShape(modelBounds).getBounds2D(); viewBounds.setFrameFromDiagonal(viewBounds.getMinX() - 10, viewBounds.getMinY() - 10, viewBounds.getMaxX() + 10, viewBounds.getMaxY() + 10); final Shape transformedModelBounds = v2mTransform.createTransformedShape(viewBounds); viewport.zoom(transformedModelBounds.getBounds2D()); } else { Dialogs.showMessage("Zoom to Mask", "The selected mask is empty.", JOptionPane.INFORMATION_MESSAGE, null); } } }
@Override public void actionPerformed(ActionEvent e) { Mask selectedMask = getMaskForm().getSelectedMask(); final Mask mask = createNewMask(selectedMask.getImageType()); mask.setName("Copy_of_" + selectedMask.getName()); mask.setDescription(selectedMask.getDescription()); PropertyContainer selectedConfig = selectedMask.getImageConfig(); Property[] models = selectedConfig.getProperties(); for (Property model : models) { mask.getImageConfig().setValue(model.getDescriptor().getName(), model.getValue()); } getMaskForm().addMask(mask); }
public void initUI() { setLayout(new BorderLayout()); maskForm = createMaskForm(this, e -> { final ProductSceneView sceneView = getSelectedProductSceneView(); if (sceneView != null) { Mask selectedMask = maskForm.getSelectedMask(); if (selectedMask != null) { VectorDataNode vectorDataNode = Mask.VectorDataType.getVectorData(selectedMask); if (vectorDataNode != null) { sceneView.selectVectorDataLayer(vectorDataNode); } } } }); AbstractButton helpButton = maskForm.getHelpButton(); if (helpButton != null) { helpButton.addActionListener(e -> getHelpCtx().display()); helpButton.setName("helpButton"); } updateMaskForm(getSelectedProductSceneView()); SnapApp.getDefault().getProductManager().addListener(new MaskPTL()); SnapApp.getDefault().getSelectionSupport(Product.class).addHandler((oldValue, newValue) -> updateMaskForm(getSelectedProductSceneView())); maskForm.updateState(); setDisplayName(getTitle()); add(maskForm.createContentPanel(), BorderLayout.CENTER); }
@Override public void actionPerformed(ActionEvent e) { Window window = getWindow(e); Mask selectedMask = getMaskForm().getSelectedMask(); PropertyContainer selectedMaskConfig = selectedMask.getImageConfig(); ImageType type = selectedMask.getImageType();