package org.objectstyle.wolips.componenteditor.bindings; import org.eclipse.jdt.core.IType; import org.eclipse.jface.action.IAction; import org.objectstyle.wolips.baseforuiplugins.utils.ErrorUtils; import org.objectstyle.wolips.componenteditor.actions.AbstractTemplateAction; import org.objectstyle.wolips.componenteditor.part.ComponentEditorPart; import org.objectstyle.wolips.templateeditor.TemplateEditor; import org.objectstyle.wolips.wodclipse.core.refactoring.AddKeyDialog; import org.objectstyle.wolips.wodclipse.core.refactoring.AddKeyInfo; import org.objectstyle.wolips.wodclipse.editor.WodEditor; public class AddKeyAction extends AbstractTemplateAction { @Override public void run(IAction action) { try { ComponentEditorPart componentEditorPart = getComponentEditorPart(); if (componentEditorPart != null) { TemplateEditor templateEditor = getTemplateEditor(); WodEditor wodEditor = getWodEditor(); if (templateEditor != null && wodEditor != null) { IType componentType = templateEditor.getParserCache().getComponentType(); AddKeyInfo info = new AddKeyInfo(componentType); AddKeyDialog.open(info, getComponentEditorPart().getSite().getShell()); } } } catch (Exception e) { ErrorUtils.openErrorDialog(getComponentEditorPart().getSite().getShell(), e); } } }