package damp.ekeko.snippets.gui;
import java.util.LinkedList;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.IStatusLineManager;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.part.EditorActionBarContributor;
import damp.ekeko.snippets.EkekoSnippetsPlugin;
public class TemplateEditorActionBarContributor extends EditorActionBarContributor {
TemplateEditor activeTemplateEditor;
private LinkedList<Action> actions;
private Action matchTemplateAction;
private Action inspectQueryAction;
@Override
public void setActiveEditor(IEditorPart targetEditor) {
super.setActiveEditor(targetEditor);
if(targetEditor instanceof TemplateEditor)
activeTemplateEditor = (TemplateEditor) targetEditor;
}
public TemplateEditorActionBarContributor() {
createActions();
}
protected void createActions() {
actions = new LinkedList<Action>();
matchTemplateAction = new Action("Match template") {
public void run() {
if(activeTemplateEditor != null)
activeTemplateEditor.runQuery();
}
};
matchTemplateAction.setImageDescriptor(ImageDescriptor.createFromImage(EkekoSnippetsPlugin.IMG_TEMPLATE_MATCH));
matchTemplateAction.setToolTipText("Match template");
actions.add(matchTemplateAction);
/*
inspectQueryAction = new Action("Inspect corresponding query") {
public void run() {
if(activeTemplateEditor != null)
activeTemplateEditor.viewQuery();
}
};
inspectQueryAction.setImageDescriptor(ImageDescriptor.createFromImage(EkekoSnippetsPlugin.IMG_TEMPLATE_INSPECT));
inspectQueryAction.setToolTipText("Inspect corresponding query");
actions.add(inspectQueryAction);
*/
}
@Override
public void contributeToToolBar(IToolBarManager toolBarManager) {
super.contributeToToolBar(toolBarManager);
for(Action action : actions) {
toolBarManager.add(action);
}
}
@Override
public void contributeToMenu(IMenuManager menuManager) {
super.contributeToMenu(menuManager);
}
@Override
public void contributeToStatusLine(IStatusLineManager statusLineManager) {
super.contributeToStatusLine(statusLineManager);
}
}