package rtt.ui.editors; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.Status; import org.eclipse.jface.dialogs.ErrorDialog; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IEditorSite; import org.eclipse.ui.PartInitException; import org.eclipse.ui.forms.editor.FormEditor; import rtt.ui.RttPluginUI; import rtt.ui.editors.input.OutputDataEditorInput; public class ReferenceEditor extends FormEditor { public static final String ID = "rtt.ui.editors.reference"; public static final String OUTPUT_PAGE_ID = "rtt.ui.editors.parser"; private OutputDataEditorInput outputData; @Override protected void addPages() { ReferenceEditorPage outputPage = new ReferenceEditorPage( this, outputData.getType(), OUTPUT_PAGE_ID, "Output"); outputPage.setResource(outputData.getResource(OutputDataEditorInput.PARSER_URI)); try { addPage(outputPage); setActivePage(OUTPUT_PAGE_ID); } catch (Exception e) { ErrorDialog.openError(getSite().getShell(), "Error", "Could not open editor", new Status(Status.ERROR, RttPluginUI.PLUGIN_ID, e.getMessage(), e)); } } @Override public void init(IEditorSite site, IEditorInput input) throws PartInitException { super.init(site, input); super.setPartName(input.getName()); if (input instanceof OutputDataEditorInput) { outputData = (OutputDataEditorInput) input; } else { throw new PartInitException(new Status(Status.ERROR, RttPluginUI.PLUGIN_ID, "The given data is not a correct rtt output: " + input)); } } @Override public void doSave(IProgressMonitor monitor) { // TODO Auto-generated method stub } @Override public void doSaveAs() { // TODO Auto-generated method stub } @Override public boolean isSaveAsAllowed() { // TODO Auto-generated method stub return false; } }