1 package org.columba.addressbook.gui.action; 19 20 import javax.swing.event.TreeSelectionEvent ; 21 import javax.swing.event.TreeSelectionListener ; 22 import javax.swing.tree.TreePath ; 23 24 import org.columba.addressbook.folder.AddressbookFolder; 25 import org.columba.addressbook.folder.AddressbookTreeNode; 26 import org.columba.addressbook.gui.frame.AddressbookFrameMediator; 27 import org.columba.api.gui.frame.IFrameMediator; 28 import org.columba.core.gui.action.AbstractColumbaAction; 29 30 35 public abstract class DefaultTreeAction extends AbstractColumbaAction implements 36 TreeSelectionListener { 37 private AddressbookTreeNode treeNode; 38 39 43 public DefaultTreeAction(IFrameMediator frameMediator, String name) { 44 super(frameMediator, name); 45 46 ((AddressbookFrameMediator) frameMediator) 48 .addTreeSelectionListener(this); 49 } 50 51 58 public void valueChanged(TreeSelectionEvent e) { 59 TreePath path = e.getNewLeadSelectionPath(); 60 61 if (path != null) { 63 treeNode = (AddressbookTreeNode) path.getLastPathComponent(); 64 } 65 66 if ( (path != null) && ( treeNode instanceof AddressbookFolder ) ){ 68 setEnabled(true); 69 } else { 70 setEnabled(false); 71 } 72 } 73 74 77 public AddressbookTreeNode getTreeNode() { 78 return treeNode; 79 } 80 } | Popular Tags |