/** * Adds a product tree listener to VISAT. Product tree listeners are notified each time a product node is selected * or double-clicked within VISAT's product tree browser. Product nodes comprise a product itself, its bands, * tie-point grids or metadata elements. * * @param listener the listener to be added */ public void addProductTreeListener(final ProductTreeListener listener) { if (productsToolView == null) { throw new IllegalStateException("productsToolView == null"); } productsToolView.getProductTree().addProductTreeListener(listener); }
@Override public JPopupMenu createPopupMenu(MouseEvent event) { TreePath selPath = getPathForLocation(event.getX(), event.getY()); if (selPath != null) { setSelectionPath(selPath); AbstractTN node = (AbstractTN) getLastSelectedPathComponent(); if (node != null) { Object context = node.getContent(); if (context != null) { return createPopup(context); } } } return null; }
@Override public void propertyChange(PropertyChangeEvent evt) { final Layer oldLayer = (Layer) evt.getOldValue(); final Layer newLayer = (Layer) evt.getNewValue(); if (oldLayer instanceof VectorDataLayer) { productTree.deregisterActiveProductNodes(((VectorDataLayer) oldLayer).getVectorDataNode()); } if (newLayer instanceof VectorDataLayer) { productTree.registerActiveProductNodes(((VectorDataLayer) newLayer).getVectorDataNode()); } } }
private void updateUi() { tree.invalidate(); tree.doLayout(); tree.updateUI(); }
getSelectionModel().setSelectionMode(multipleSelect ? TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION : TreeSelectionModel.SINGLE_TREE_SELECTION); addTreeSelectionListener(new PTSelectionListener()); addMouseListener(new PTMouseListener()); setCellRenderer(new PTCellRenderer()); setRootVisible(false); setShowsRootHandles(true); setDragEnabled(true); setTransferHandler(new TreeTransferHandler()); setToggleClickCount(2); setAutoscrolls(true); putClientProperty("JTree.lineStyle", "Angled"); ToolTipManager.sharedInstance().registerComponent(this); addMouseListener(popupMenuHandler); addKeyListener(popupMenuHandler); activeProductNodes = new HashSet<>(); openedProductNodes = new HashMap<>(); this.setDropTarget(new DropTarget(this, DnDConstants.ACTION_COPY_OR_MOVE, new ProductTreeDropTarget()));
private void initProductTree() { productTree = new ProductTree(); productTree.setModel(new ProductTreeModel(visatApp.getProductManager())); productTree.addProductTreeListener(new VisatPTL()); productTree.setCommandManager(visatApp.getCommandManager()); productTree.setCommandUIFactory(visatApp.getCommandUIFactory()); visatApp.getProductManager().addListener(new ProductManagerL()); visatApp.addInternalFrameListener(new SceneViewListener()); selectionContext = new ProductTreeSelectionContext(productTree); }
@Override public void internalFrameClosed(InternalFrameEvent e) { final ProductSceneView sceneView = getView(e); if (sceneView != null) { sceneView.removePropertyChangeListener(ProductSceneView.PROPERTY_NAME_SELECTED_LAYER, selectedLayerPCL); productTree.deregisterOpenedProductNodes(sceneView.getRasters()); productTree.deregisterActiveProductNodes(sceneView.getRasters()); deregisterActiveVectorDataNode(sceneView); } }
private void deregisterActiveVectorDataNode(ProductSceneView sceneView) { VectorDataNode vectorDataNode = getSelectedVectorDataNode(sceneView); if (vectorDataNode != null) { productTree.deregisterActiveProductNodes(vectorDataNode); } }
commandUIFactory.addContextDependentMenuItems("metadataNode", popup); addSeparatorIfAnyComponentsAdded(popup, componentCountBefore); commandUIFactory.addContextDependentMenuItems("virtualBand", popup); addSeparatorIfAnyComponentsAdded(popup, componentCountBefore);
@Override public void internalFrameDeactivated(InternalFrameEvent e) { final ProductSceneView sceneView = getView(e); if (sceneView != null) { productTree.deregisterActiveProductNodes(sceneView.getRasters()); deregisterActiveVectorDataNode(sceneView); } } }
visatApp.getProductTree().addProductTreeListener(new ProductSelectionListener());
@Override public void componentShown() { final ProductTree productTree = VisatApp.getApp().getProductTree(); productTree.addProductTreeListener(pagePanelPTL); VisatApp.getApp().addInternalFrameListener(pagePanelIFL); final JInternalFrame[] internalFrames = VisatApp.getApp().getAllInternalFrames(); for (JInternalFrame internalFrame : internalFrames) { final Container contentPane = internalFrame.getContentPane(); if (contentPane instanceof ProductSceneView) { final ProductSceneView view = (ProductSceneView) contentPane; addViewListener(view); } } setCurrentSelection(); transferProductNodeListener(null, product); }
@Override protected void initComponents() { VisatApp.getApp().getProductTree().addProductTreeListener(new ProductTreeListenerAdapter() { @Override public void productRemoved(Product product) { model.removeStxFromProduct(product); } @Override public void productSelected(Product product, int clickCount) { handleMasklessProduct(product); } }); model = new HistogramPanelModel(); xAxisRangeControl = new AxisRangeControl("X-Axis"); histogramPlotConfig = new HistogramPlotConfig(); bindingContext = new BindingContext(PropertyContainer.createObjectBacked(histogramPlotConfig)); configChangeListener = new ConfigChangeListener(); bindingContext.addPropertyChangeListener(configChangeListener); createUI(); updateComponents(); }