package oraloganalyzer.editor; import oraloganalyzer.IComponentIdentities; import oraloganalyzer.views.ErrorListView; import org.eclipse.core.runtime.CoreException; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.texteditor.AbstractTextEditor; public class OraLogEditor extends AbstractTextEditor { private ErrorListView errListView; public OraLogEditor() { super(); internal_init(); } /** * Initializes the document provider and source viewer configuration. Called * by the constructor. Subclasses may replace this method. */ protected void internal_init() { configureInsertMode(SMART_INSERT, false); setDocumentProvider(new TextDocumentProvider()); setSourceViewerConfiguration( new OraLogViewerConfiguration()); } @Override protected void doSetInput(IEditorInput input) throws CoreException { //Scanner mit ParserInfos versorgen OraLogViewerConfiguration viewerConfig = (OraLogViewerConfiguration) getSourceViewerConfiguration(); try { OraLogEditorInput oraInput = (OraLogEditorInput) input; OraLogScanner scanner = viewerConfig.getScanner(); scanner.setRules(scanner.createGivenOffsetRules(oraInput.getParsingResult())); } catch (RuntimeException e) { } super.doSetInput(input); } public Object getAdapter(Class required) { if (ErrorListView.class.equals(required)) { if (this.errListView == null) { this.errListView = (ErrorListView) this.getSite() .getWorkbenchWindow().getActivePage().findView( IComponentIdentities.ERRORLIST_VIEW); } errListView.setEditor(this); return errListView; } return super.getAdapter(required); } }