package org.infoobject.magicmap.node.ui.action;
import net.sf.magicmap.client.gui.MainGUI;
import net.sf.magicmap.client.model.node.Node;
import org.infoobject.magicmap.infoobject.ui.dialog.DeleteInformationObjectDialog;
import org.infoobject.magicmap.node.ui.ObjectLinkSelectionView;
import org.infoobject.magicmap.node.application.InformationNodeManager;
import org.infoobject.magicmap.node.model.InformationObjectNode;
import javax.swing.*;
import java.awt.event.ActionEvent;
/**
* <p>
* Class ShowDeleteInformationObjectAction ZUSAMMENFASSUNG
* </p>
* <p>
* DETAILS
* </p>
*
* @author Jan Friderici
* Date: 16.08.2008
* Time: 18:00:01
*/
public class ShowDeleteInformationObjectAction extends AbstractNodeAction{
private final ObjectLinkSelectionView objectLinkView;
private final Action deleteAction;
public ShowDeleteInformationObjectAction(InformationNodeManager nodeManager, ObjectLinkSelectionView objectLinkView, Action deleteAction) {
super("Information l�schen", nodeManager);
this.objectLinkView = objectLinkView;
this.deleteAction = deleteAction;
}
protected boolean checkSelection() {
return getSelectedNode() != null && Node.EMPTY_NODE != getSelectedNode();
}
public void actionPerformed(ActionEvent event) {
if (getSelectedNode() instanceof InformationObjectNode){
objectLinkView.enableNodeSelection(true);
objectLinkView.enableInformationSelection(false);
objectLinkView.setSelectedNode(null);
objectLinkView.setSelectedInformationObject(((InformationObjectNode)getSelectedNode()).getInformationObject());
} else {
objectLinkView.enableNodeSelection(false);
objectLinkView.enableInformationSelection(true);
objectLinkView.setSelectedNode(getSelectedNode());
objectLinkView.setSelectedInformationObject(null);
}
final DeleteInformationObjectDialog dlg = new DeleteInformationObjectDialog(MainGUI.getInstance().getMainFrame(),
objectLinkView,
deleteAction,
null);
dlg.pack();
dlg.setVisible(true);
}
}