/** * Find relevant actions and call the factory to create a popup. */ private JPopupMenu createPopup(Point p) { int[] selRows = outline.getSelectedRows(); ArrayList<Node> al = new ArrayList<Node> (selRows.length); for (int i = 0; i < selRows.length; i++) { Node n = getNodeFromRow(selRows[i]); if (n != null) { al.add(n); } } Node[] arr = al.toArray (new Node[al.size ()]); if (arr.length == 0) { if (manager.getRootContext() != null) { // display the context menu of the root node JPopupMenu popup = manager.getRootContext().getContextMenu(); if (popup != null && popup.getSubElements().length > 0) { popupFactory.addNoFilterItem(outline, popup); return popup; } } // we'll have an empty popup } p = SwingUtilities.convertPoint(this, p, outline); int column = outline.columnAtPoint(p); int row = outline.rowAtPoint(p); return popupFactory.createPopupMenu(row, column, arr, outline); }
void createExtendedPopup(int xpos, int ypos, JMenu newMenu) { Node[] ns = manager.getSelectedNodes (); JPopupMenu popup = null; if (ns.length > 0) { // if any nodes are selected --> find theirs actions Action[] actions = NodeOp.findActions (ns); popup = Utilities.actionsToPopup (actions, this); } else { // if none node is selected --> get context actions from view's root if (manager.getRootContext () != null) { popup = manager.getRootContext ().getContextMenu (); } } int cnt = 0; if ( popup == null ) { popup = SystemAction.createPopupMenu( new SystemAction[] {} ); } popup.add( newMenu ); createPopup ( xpos, ypos, popup ); }
void createExtendedPopup(int xpos, int ypos, JMenu newMenu) { Node[] ns = manager.getSelectedNodes(); JPopupMenu popup = null; if (ns.length > 0) { // if any nodes are selected --> find theirs actions Action[] actions = NodeOp.findActions(ns); popup = Utilities.actionsToPopup(actions, this); } else { // if none node is selected --> get context actions from view's root if (manager.getRootContext() != null) { popup = manager.getRootContext().getContextMenu(); } } int cnt = 0; if (popup == null) { popup = SystemAction.createPopupMenu(new SystemAction[] { }); } popup.add(newMenu); createPopup(xpos, ypos, popup); }
void createExtendedPopup(int xpos, int ypos, JMenu newMenu) { Node[] ns = manager.getSelectedNodes (); JPopupMenu popup = null; if (ns.length > 0) { // if any nodes are selected --> find theirs actions Action[] actions = NodeOp.findActions (ns); popup = Utilities.actionsToPopup (actions, this); } else { // if none node is selected --> get context actions from view's root if (manager.getRootContext () != null) { popup = manager.getRootContext ().getContextMenu (); } } int cnt = 0; if ( popup == null ) { popup = SystemAction.createPopupMenu( new SystemAction[] {} ); } popup.add( newMenu ); createPopup ( xpos, ypos, popup ); }
void createPopup(int xpos, int ypos) { // bugfix #23932, don't create if it's disabled if (isPopupAllowed()) { Node[] selNodes = manager.getSelectedNodes(); if (selNodes.length > 0) { Action[] actions = NodeOp.findActions(selNodes); if (actions.length > 0) { createPopup(xpos, ypos, Utilities.actionsToPopup(actions, this)); } } else if (manager.getRootContext() != null) { JPopupMenu popup = manager.getRootContext().getContextMenu(); if (popup != null) { createPopup(xpos, ypos, popup); } } } }