import org.eclipse.ui.texteditor.IUpdate;
import org.eclipse.ui.texteditor.SourceViewerDecorationSupport;
import org.eclipse.ui.texteditor.TextNavigationAction;
+import org.eclipse.ui.views.contentoutline.IContentOutlinePage;
import org.simantics.scl.ui.editor.SCLSourceViewerConfigurationNew;
import org.simantics.scl.ui.editor.completion.SCLTextEditorEnvironment;
import org.simantics.scl.ui.editor2.iterator.DocumentCharacterIterator;
import org.simantics.scl.ui.editor2.iterator.JavaWordIterator;
+import org.simantics.scl.ui.outline.SCLModuleOutlinePage;
import com.ibm.icu.text.BreakIterator;
protected ResourceManager resourceManager;
private DefaultCharacterPairMatcher matcher;
+ private SCLModuleOutlinePage outline;
+
public SCLModuleEditor2() {
super();
resourceManager = new LocalResourceManager(JFaceResources.getResources());
SCLSourceViewerConfigurationNew sourceViewerConfiguration = new SCLSourceViewerConfigurationNew(resourceManager);
setDocumentProvider(new SCLModuleEditor2DocumentProvider(sourceViewerConfiguration));
setSourceViewerConfiguration(sourceViewerConfiguration);
+ outline = new SCLModuleOutlinePage(this);
}
@Override
public IDocument getDocument() {
return getSourceViewer().getDocument();
}
-
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public <T> T getAdapter(Class<T> adapter) {
+ if (IContentOutlinePage.class.equals(adapter)) {
+ return (T) outline;
+ }
+ return super.getAdapter(adapter);
+ }
+
/**
* Text navigation action to navigate to the next sub-word.
*