package org.objectstyle.wolips.componenteditor.actions; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.jface.action.IAction; import org.eclipse.jface.text.ITextSelection; import org.eclipse.ui.IEditorPart; import org.objectstyle.wolips.componenteditor.part.ComponentEditorPart; import org.objectstyle.wolips.templateeditor.TemplateEditor; import org.objectstyle.wolips.variables.BuildProperties; import org.objectstyle.wolips.wodclipse.core.completion.WodParserCache; import org.objectstyle.wolips.wodclipse.core.refactoring.ConvertInlineToWodRefactoring; import org.objectstyle.wolips.wodclipse.editor.WodEditor; public class ConvertInlineToWodAction extends AbstractTemplateAction { @Override public void run(IAction action) { try { ComponentEditorPart componentEditorPart = getComponentEditorPart(); if (componentEditorPart != null) { IEditorPart activeEditorPart = componentEditorPart.getActiveEditor(); TemplateEditor templateEditor = getTemplateEditor(); WodEditor wodEditor = getWodEditor(); if (templateEditor != null && wodEditor != null && activeEditorPart == templateEditor) { ITextSelection templateSelection = (ITextSelection) templateEditor.getSourceEditor().getSelectionProvider().getSelection(); int offset = templateSelection.getOffset(); WodParserCache cache = templateEditor.getSourceEditor().getParserCache(); BuildProperties buildProperties = (BuildProperties)cache.getProject().getAdapter(BuildProperties.class); ConvertInlineToWodRefactoring.run(cache, offset, buildProperties, new NullProgressMonitor()); } } } catch (Exception e) { e.printStackTrace(); } } }