package org.infoobject.magicmap.node.ui.action; import net.sf.magicmap.client.gui.utils.MagicAction; import net.sf.magicmap.client.model.node.INodeModelSelectionListener; import net.sf.magicmap.client.model.node.NodeModelSelectionEvent; import net.sf.magicmap.client.model.node.Node; import org.infoobject.magicmap.node.application.InformationNodeManager; /** * <p> * Class AbstractNodeAction ZUSAMMENFASSUNG * </p> * <p> * DETAILS * </p> * * @author Jan Friderici * Date: 09.08.2008 * Time: 20:20:10 */ public abstract class AbstractNodeAction extends MagicAction implements INodeModelSelectionListener { private Node selectedNode; private final InformationNodeManager nodeManager; public AbstractNodeAction(String s, InformationNodeManager nodeManager) { super(s); this.nodeManager = nodeManager; } public AbstractNodeAction(String s, String s1,InformationNodeManager nodeManager) { super(s, s1); this.nodeManager = nodeManager; } public AbstractNodeAction(String s, String s1, String s2, InformationNodeManager nodeManager) { super(s, s1, s2); this.nodeManager = nodeManager; } public void selectionChanged(NodeModelSelectionEvent event) { this.selectedNode = event.getSelectedNode(); setEnabled(checkSelection()); } protected abstract boolean checkSelection(); protected InformationNodeManager getNodeManager() { return nodeManager; } protected Node getSelectedNode() { return selectedNode; } }