package com.tibco.as.spacebar.ui.editor.action;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.widgets.Event;
import com.tibco.as.spacebar.ui.SpaceBarPlugin;
import com.tibco.as.spacebar.ui.Image;
import com.tibco.as.spacebar.ui.editor.AbstractBrowser;
public abstract class SpaceEditorAction extends Action {
private AbstractBrowser<?> editor;
public SpaceEditorAction(String text, String toolTip, Image image) {
this(text, toolTip, SpaceBarPlugin.getDefault().getImageDescriptor(image));
}
public SpaceEditorAction(String text, String toolTip,
ImageDescriptor imageDescriptor) {
super(text);
setToolTipText(toolTip);
setImageDescriptor(imageDescriptor);
setHoverImageDescriptor(imageDescriptor);
}
public void setEditor(AbstractBrowser<?> editor) {
this.editor = editor;
}
public AbstractBrowser<?> getEditor() {
return editor;
}
@Override
public void runWithEvent(Event event) {
runWithEvent(event, editor);
}
protected abstract void runWithEvent(Event event, AbstractBrowser<?> editor);
public void dispose() {
editor = null;
}
}