package com.mxgraph.examples.swing.editor; import javax.swing.JMenu; import javax.swing.JPopupMenu; import javax.swing.TransferHandler; import com.mxgraph.examples.swing.editor.EditorActions.HistoryAction; import com.mxgraph.swing.util.mxGraphActions; import com.mxgraph.util.mxResources; public class EditorPopupMenu extends JPopupMenu { /** * */ private static final long serialVersionUID = -3132749140550242191L; public EditorPopupMenu(BasicGraphEditor editor) { boolean selected = !editor.getGraphComponent().getGraph() .isSelectionEmpty(); add(editor.bind(mxResources.get("undo"), new HistoryAction(true), "/com/mxgraph/examples/swing/images/undo.gif")); addSeparator(); add( editor.bind(mxResources.get("cut"), TransferHandler .getCutAction(), "/com/mxgraph/examples/swing/images/cut.gif")) .setEnabled(selected); add( editor.bind(mxResources.get("copy"), TransferHandler .getCopyAction(), "/com/mxgraph/examples/swing/images/copy.gif")) .setEnabled(selected); add(editor.bind(mxResources.get("paste"), TransferHandler .getPasteAction(), "/com/mxgraph/examples/swing/images/paste.gif")); addSeparator(); add( editor.bind(mxResources.get("delete"), mxGraphActions .getDeleteAction(), "/com/mxgraph/examples/swing/images/delete.gif")) .setEnabled(selected); addSeparator(); // Creates the format menu JMenu menu = (JMenu) add(new JMenu(mxResources.get("format"))); EditorMenuBar.populateFormatMenu(menu, editor); // Creates the shape menu menu = (JMenu) add(new JMenu(mxResources.get("shape"))); EditorMenuBar.populateShapeMenu(menu, editor); addSeparator(); add( editor.bind(mxResources.get("edit"), mxGraphActions .getEditAction())).setEnabled(selected); addSeparator(); add(editor.bind(mxResources.get("selectVertices"), mxGraphActions .getSelectVerticesAction())); add(editor.bind(mxResources.get("selectEdges"), mxGraphActions .getSelectEdgesAction())); addSeparator(); add(editor.bind(mxResources.get("selectAll"), mxGraphActions .getSelectAllAction())); } }