// $Id: ConstraintPopupMenu.java,v 1.5 2010/08/23 07:34:12 olga Exp $ package agg.gui.popupmenu; import javax.swing.JCheckBoxMenuItem; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.TreePath; import agg.editor.impl.EdConstraint; import agg.gui.treeview.GraGraTreeView; import agg.gui.treeview.nodedata.GraGraTreeNodeData; @SuppressWarnings("serial") public class ConstraintPopupMenu extends JPopupMenu { public ConstraintPopupMenu(GraGraTreeView tree) { super("Constraint"); this.treeView = tree; JMenuItem mi; mi = add(new JMenuItem("Select Rule Layer")); mi.setActionCommand("setConstraintLayer"); mi.addActionListener(this.treeView.getActionAdapter()); // mi.setMnemonic('L'); addSeparator(); mi = add(new JMenuItem("Select Rule Priority")); mi.setActionCommand("setConstraintPriority"); mi.addActionListener(this.treeView.getActionAdapter()); // mi.setMnemonic('P'); addSeparator(); this.checkGraph = add(new JMenuItem("Check Graph")); this.checkGraph.setActionCommand("checkOneConstraint"); this.checkGraph.addActionListener(this.treeView.getActionAdapter()); // this.checkGraph.setMnemonic('G'); addSeparator(); mi = add(new JMenuItem("Edit")); mi.setActionCommand("editConstraint"); mi.addActionListener(this.treeView.getActionAdapter()); // mi.setMnemonic('E'); mi = add(new JMenuItem("Delete Delete")); mi.setActionCommand("deleteConstraint"); mi.addActionListener(this.treeView.getActionAdapter()); // mi.setMnemonic('D'); addSeparator(); this.disable = new JCheckBoxMenuItem("disabled"); this.disable.setActionCommand("disableConstraint"); this.disable.addActionListener(this.treeView.getActionAdapter()); add(this.disable); addSeparator(); mi = add(new JMenuItem("Textual Comments")); // mi = new JMenuItem("Textual Comments"); mi.setActionCommand("commentConstraint"); mi.addActionListener(this.treeView.getActionAdapter()); // mi.setMnemonic('T'); pack(); setBorderPainted(true); } public boolean invoked(int x, int y) { if (this.treeView == null) { return false; } if (this.treeView.getTree().getRowForLocation(x, y) != -1) { TreePath path = this.treeView.getTree().getPathForLocation(x, y); if (path.getPath().length == 3) { DefaultMutableTreeNode aNode = (DefaultMutableTreeNode) path .getLastPathComponent(); GraGraTreeNodeData sd = (GraGraTreeNodeData) aNode .getUserObject(); if (sd != null && sd.isConstraint()) { EdConstraint constr = sd.getConstraint(); if (!constr.getBasisConstraint().isEnabled()) { this.disable.setSelected(true); this.checkGraph.setEnabled(false); } else { this.disable.setSelected(false); this.checkGraph.setEnabled(true); } return true; } } } return false; } private GraGraTreeView treeView; private JMenuItem disable, checkGraph; }