@Override protected boolean createKeys(List<Product> list) { list.addAll(Arrays.asList(productManager.getProducts())); return true; }
static List<File> getOpenedProductFiles() { return Arrays.stream(SnapApp.getDefault().getProductManager().getProducts()) .map(Product::getFileLocation) .filter(file -> file != null) .collect(Collectors.toList()); }
private Product[] filterProducts() { List<Product> currentlyOpenedProducts = Arrays.asList(listModel.getSourceProducts()); List<Product> productManagerProducts = Arrays.asList(appContext.getProductManager().getProducts()); ArrayList<Product> result = new ArrayList<>(); for (Product product : productManagerProducts) { if (!currentlyOpenedProducts.contains(product) && productFilter.accept(product)) { result.add(product); } } return result.toArray(new Product[result.size()]); }
/** * Executes the action command. * * @return {@code Boolean.TRUE} on success, {@code Boolean.FALSE} on failure, or {@code null} on cancellation. */ public Boolean execute() { Set<Product> collect = Stream.of(SnapApp.getDefault().getProductManager().getProducts()).collect(Collectors.toSet()); return CloseProductAction.closeProducts(collect); }
@Override public void actionPerformed(final ActionEvent event) { final ProductNode productNode = lkp.lookup(ProductNode.class); products = SnapApp.getDefault().getProductManager().getProducts(); // final Product selectedProduct = productNode.getProduct(); List<Product> selectedProduct = (List<Product>) selectedProductList.stream().collect(Collectors.toList()); final Set<Product> productsToClose = new HashSet<>(); for (Product product : products) { if (!selectedProduct.contains(product)) { productsToClose.add(product); } } CloseProductAction.closeProducts(productsToClose); setEnableState(); }
private static Session createSession(File sessionFile) { ArrayList<ProductNodeView> nodeViews = new ArrayList<ProductNodeView>(); // ######### 06.07.2015 ######## // Comment out by Muhammad until view persistence is solved for NetBeans platform // // final JInternalFrame[] internalFrames = app.getAllInternalFrames(); // for (JInternalFrame internalFrame : internalFrames) { // final Container contentPane = internalFrame.getContentPane(); // if (contentPane instanceof ProductNodeView) { // nodeViews.add((ProductNodeView) contentPane); // } // } return new Session(sessionFile.getParentFile().toURI(), SnapApp.getDefault().getProductManager().getProducts(), nodeViews.toArray(new ProductNodeView[nodeViews.size()])); } private class SaveSessionListener implements ProductManager.Listener {
private static Product[] createAvailableProductList() { return SnapApp.getDefault().getProductManager().getProducts(); }
private void setEnableState() { products = SnapApp.getDefault().getProductManager().getProducts(); ProductNode productNode = lkp.lookup(ProductNode.class); setEnabled(productNode != null && products.length > 1); }
protected Product getProductFromProductManager(final File file) { final SnapApp app = SnapApp.getDefault(); if(app != null) { final Product[] products = app.getProductManager().getProducts(); for(Product p : products) { if(file.equals(p.getFileLocation())) { return p; } } } return null; } }
private static String[] getCompatibleProducts(final Product destProduct) { final List<String> prodList = new ArrayList<>(); final Product[] products = SnapApp.getDefault().getProductManager().getProducts(); for (Product p : products) { if (p != destProduct && p.getSceneRasterWidth() == destProduct.getSceneRasterWidth() && p.getSceneRasterHeight() == destProduct.getSceneRasterHeight()) { prodList.add(p.getDisplayName()); } } return prodList.toArray(new String[prodList.size()]); }
private void addProducts() { final Product[] products = SnapApp.getDefault().getProductManager().getProducts(); for(Product product : products) { addProduct(product); } }
private void disposeProducts() { Product[] products = getProductManager().getProducts(); getProductManager().removeAllProducts(); for (Product product : products) { product.dispose(); } }
@Override public void actionPerformed(ActionEvent actionEvent) { final ProductNodeList<Product> products = new ProductNodeList<>(); Product[] openedProducts = SnapApp.getDefault().getProductManager().getProducts(); for (Product prod : openedProducts) { products.add(prod); } Product product = SnapApp.getDefault().getSelectedProduct(EXPLORER); if (product == null) { product = products.getAt(0); } Collection<? extends RasterDataNode> selectedRasters = Utilities.actionsGlobalContext().lookupAll(RasterDataNode.class); String expression = selectedRasters.stream().map(ProductNode::getName).collect(Collectors.joining(" + ")); BandMathsDialog bandMathsDialog = new BandMathsDialog(product, products, expression, HELP_ID); bandMathsDialog.show(); }
public RestoredSession restore(AppContext appContext, URI rootURI, ProgressMonitor pm, ProblemSolver problemSolver) throws CanceledException { try { pm.beginTask("Restoring session", 100); ArrayList<Exception> problems = new ArrayList<Exception>(); ProductManager productManager = restoreProducts(rootURI, SubProgressMonitor.create(pm, 80), problemSolver, problems); // Note: ProductManager is used for the SessionDomConverter ProductNodeView[] views = restoreViews(productManager, appContext.getPreferences(), SubProgressMonitor.create(pm, 20), problems ); return new RestoredSession(productManager.getProducts(), views, problems.toArray(new Exception[problems.size()])); } finally { pm.done(); } }
@Override public void productAdded(ProductManager.Event event) { final Product product = event.getProduct(); wwView.setProducts(SnapApp.getDefault().getProductManager().getProducts()); wwView.setSelectedProduct(product); }
public synchronized void initProducts() { productListModel.removeAllElements(); if (enableEmptySelection) { productListModel.addElement(null); } for (Product product : appContext.getProductManager().getProducts()) { addProduct(product); } Product selectedProduct = appContext.getSelectedProduct(); final ProductNode productNode = Utilities.actionsGlobalContext().lookup(ProductNode.class); if (productNode != null) { // user would want to apply operation to the selected productNode rather than the productSceneView selectedProduct = productNode.getProduct(); } if (enableEmptySelection) { productListModel.setSelectedItem(null); } else if (selectedProduct != null && productFilter.accept(selectedProduct)) { productListModel.setSelectedItem(selectedProduct); } appContext.getProductManager().addListener(productManagerListener); }
private static void addAllOpenProducts(final FileTableModel tableModel) { final ProgressHandleMonitor pm = ProgressHandleMonitor.create("Populating table"); Runnable operation = () -> { final Product[] products = SnapApp.getDefault().getProductManager().getProducts(); pm.beginTask("Populating table...", products.length); for (Product prod : products) { final File file = prod.getFileLocation(); if (file != null && file.exists()) { tableModel.addFile(file); } pm.worked(1); } pm.done(); }; ProgressUtils.runOffEventThreadWithProgressDialog(operation, "Adding Products", pm.getProgressHandle(), true, 50, 1000); }
@Override public void actionPerformed(ActionEvent e) { Window window = getWindow(e); final Product sourcProduct = getMaskForm().getProduct(); Mask[] selectedMasks = getMaskForm().getSelectedMasks(); Product[] allProducts = SnapApp.getDefault().getProductManager().getProducts(); final TransferMaskDialog dialog = new TransferMaskDialog(window, sourcProduct, allProducts, selectedMasks); if (dialog.show() == AbstractDialog.ID_OK) { Product[] maskPixelTargetProducts = dialog.getMaskPixelTargets(); copyMaskPixel(selectedMasks, sourcProduct, maskPixelTargetProducts); Product[] maskDefinitionTargetProducts = dialog.getMaskDefinitionTargets(); copyMaskDefinition(selectedMasks, maskDefinitionTargetProducts); } }
public void openProductSceneViewRGB(Product rgbProduct, final String helpId) { final Product[] openedProducts = SnapApp.getDefault().getProductManager().getProducts(); final int[] defaultBandIndices = getDefaultBandIndices(rgbProduct); final RGBImageProfilePane profilePane = new RGBImageProfilePane(SnapApp.getDefault().getPreferencesPropertyMap(), rgbProduct, openedProducts, defaultBandIndices); final String title = "Select RGB-Image Channels"; final boolean ok = profilePane.showDialog(SnapApp.getDefault().getMainFrame(), title, helpId); if (!ok) { return; } final String[] rgbaExpressions = profilePane.getRgbaExpressions(); if (profilePane.getStoreProfileInProduct()) { RGBImageProfile.storeRgbaExpressions(rgbProduct, rgbaExpressions); } final String sceneName = createSceneName(rgbProduct, profilePane.getSelectedProfile(), "RGB"); openProductSceneViewRGB(sceneName, rgbProduct, rgbaExpressions); }
public void openProductSceneViewHSV(Product hsvProduct, final String helpId) { final Product[] openedProducts = SnapApp.getDefault().getProductManager().getProducts(); final int[] defaultBandIndices = OpenRGBImageViewAction.getDefaultBandIndices(hsvProduct); final HSVImageProfilePane profilePane = new HSVImageProfilePane(SnapApp.getDefault().getPreferencesPropertyMap(), hsvProduct, openedProducts, defaultBandIndices); final String title = "Select HSV-Image Channels"; final boolean ok = profilePane.showDialog(SnapApp.getDefault().getMainFrame(), title, helpId); if (!ok) { return; } final String[] hsvExpressions = profilePane.getRgbaExpressions(); nomalizeHSVExpressions(hsvProduct, hsvExpressions); if (profilePane.getStoreProfileInProduct()) { RGBImageProfile.storeRgbaExpressions(hsvProduct, hsvExpressions, HSVImageProfilePane.HSV_COMP_NAMES); } final String sceneName = OpenRGBImageViewAction.createSceneName(hsvProduct, profilePane.getSelectedProfile(), "HSV"); openProductSceneViewHSV(sceneName, hsvProduct, hsvExpressions); }