package mmrnmhrm.ui.editor; import org.eclipse.jface.text.ITextViewerExtension; import org.eclipse.jface.text.source.ISourceViewer; import org.eclipse.swt.widgets.Composite; import _org.eclipse.dltk.internal.ui.editor.BracketInserter2; import _org.eclipse.dltk.internal.ui.editor.ScriptEditor; /* TODO: bracket inserter. */ public abstract class DeeBaseEditor extends ScriptEditor { protected BracketInserter2 fBracketInserter = new DeeBracketInserter(this); @Override public void createPartControl(Composite parent) { super.createPartControl(parent); boolean closeBrackets = true; boolean closeStrings = true; boolean closeAngularBrackets = false; fBracketInserter.setCloseBracketsEnabled(closeBrackets); fBracketInserter.setCloseStringsEnabled(closeStrings); fBracketInserter.setCloseAngularBracketsEnabled(closeAngularBrackets); ISourceViewer sourceViewer = getSourceViewer(); if (sourceViewer instanceof ITextViewerExtension) { ((ITextViewerExtension) sourceViewer).prependVerifyKeyListener(fBracketInserter); } } @Override public void dispose() { ISourceViewer sourceViewer = getSourceViewer(); if (sourceViewer instanceof ITextViewerExtension) { ((ITextViewerExtension) sourceViewer).removeVerifyKeyListener(fBracketInserter); } super.dispose(); } }