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.attribute.impl.CondMember;
import agg.editor.impl.EdRule;
import agg.gui.treeview.GraGraTreeView;
import agg.gui.treeview.nodedata.GraGraTreeNodeData;
import agg.util.Pair;
@SuppressWarnings("serial")
public class AttrConditionPopupMenu extends JPopupMenu {
public AttrConditionPopupMenu(GraGraTreeView tree) {
super("AttributeCondition");
this.treeView = tree;
// JMenuItem mi = (JMenuItem) add(new JMenuItem("Delete "));
// mi.setEnabled(false);
// mi.setActionCommand("deleteAttrCondition");
// mi.addActionListener(this.treeView.getActionAdapter());
// mi.setMnemonic('D');
this.disable = new JCheckBoxMenuItem("disabled");
this.disable.setActionCommand("disableAttrCondition");
this.disable.addActionListener(this.treeView.getActionAdapter());
add(this.disable);
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 == 4) {
// this.treeView.selectPath(x,y);
DefaultMutableTreeNode aNode = (DefaultMutableTreeNode) path
.getLastPathComponent();
GraGraTreeNodeData sd = (GraGraTreeNodeData) aNode
.getUserObject();
if (sd != null && sd.isAttrCondition()) {
Pair<CondMember, EdRule> p = sd.getAttrCondition();
CondMember cm = p.first;
if (!cm.isEnabled())
this.disable.setSelected(true);
else
this.disable.setSelected(false);
return true;
}
}
}
return false;
}
private GraGraTreeView treeView;
private JMenuItem disable;
}