package org.xmind.ui.internal.actions;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.xmind.core.ITopic;
import org.xmind.gef.command.ICommandStack;
import org.xmind.gef.ui.actions.ISelectionAction;
import org.xmind.ui.commands.DeleteNotesCommand;
import org.xmind.ui.internal.MindMapMessages;
import org.xmind.ui.internal.notes.SheetNotesViewer;
import org.xmind.ui.mindmap.MindMapUI;
public class DeleteNotesAction extends Action implements ISelectionAction {
private SheetNotesViewer viewer;
private ITopic topic;
public DeleteNotesAction(SheetNotesViewer viewer) {
this.viewer = viewer;
setId("org.xmind.ui.action.deleteNotes"); //$NON-NLS-1$
setText(MindMapMessages.DeleteNotes_text);
setImageDescriptor(MindMapUI.getImages().get("del_notes.gif", true)); //$NON-NLS-1$
setDisabledImageDescriptor(
MindMapUI.getImages().get("del_notes.gif", false)); //$NON-NLS-1$
setToolTipText(MindMapMessages.DeleteNotes_tooltip);
}
public void run() {
if (topic == null || viewer == null) {
return;
}
DeleteNotesCommand cmd = new DeleteNotesCommand(topic);
ICommandStack cs = viewer.getEditor().getCommandStack();
cs.execute(cmd);
}
public void setSelection(ISelection selection) {
if (selection instanceof IStructuredSelection) {
Object obj = ((IStructuredSelection) selection).getFirstElement();
if (obj instanceof ITopic) {
this.topic = (ITopic) obj;
setEnabled(true);
return;
}
}
this.topic = null;
setEnabled(false);
}
}