X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scl.ui%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fui%2Feditor2%2FSCLModuleEditor2.java;h=9aa1f0dddc628a9c05f63934e7311d7158724c76;hb=HEAD;hp=b7ab0f170ab92ae8c6572733c04a7d0c956e14d9;hpb=2dcf28e9007b2b3cc8e17ea731116b320846d223;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/editor2/SCLModuleEditor2.java b/bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/editor2/SCLModuleEditor2.java index b7ab0f170..9aa1f0ddd 100644 --- a/bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/editor2/SCLModuleEditor2.java +++ b/bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/editor2/SCLModuleEditor2.java @@ -26,10 +26,12 @@ import org.eclipse.ui.texteditor.ITextEditorActionDefinitionIds; 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; @@ -37,21 +39,24 @@ public class SCLModuleEditor2 extends TextEditor { private static final char[] CHARS = new char[] { '(', ')', '{', '}', '[', ']', '<', '>' }; - private static final String MATCHING_BRACKETS = "matchingBrackets"; - private static final String MATCHING_BRACKETS_COLOR = "matchingBracketsColor"; - private static final String HIGHLIGHT_BRACKET_AT_CARET_LOCATION = "highlightBracketAtCaretLocation"; - private static final String ENCLOSING_BRACKETS = "enclosingBrackets"; + private static final String MATCHING_BRACKETS = "matchingBrackets"; //$NON-NLS-1$ + private static final String MATCHING_BRACKETS_COLOR = "matchingBracketsColor"; //$NON-NLS-1$ + private static final String HIGHLIGHT_BRACKET_AT_CARET_LOCATION = "highlightBracketAtCaretLocation"; //$NON-NLS-1$ + private static final String ENCLOSING_BRACKETS = "enclosingBrackets"; //$NON-NLS-1$ private boolean disposed = false; 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 @@ -64,7 +69,7 @@ public class SCLModuleEditor2 extends TextEditor { throws PartInitException { super.init(site, input); getPreferenceStore().setValue(MATCHING_BRACKETS, true); - getPreferenceStore().setValue(MATCHING_BRACKETS_COLOR, "192,192,192"); + getPreferenceStore().setValue(MATCHING_BRACKETS_COLOR, "192,192,192"); //$NON-NLS-1$ getPreferenceStore().setValue(HIGHLIGHT_BRACKET_AT_CARET_LOCATION, true); getPreferenceStore().setValue(ENCLOSING_BRACKETS, true); } @@ -72,7 +77,7 @@ public class SCLModuleEditor2 extends TextEditor { @Override public void createPartControl(Composite parent) { super.createPartControl(parent); - getEditorSite().getService(IContextService.class).activateContext("org.simantics.scl.ui.editor"); + getEditorSite().getService(IContextService.class).activateContext("org.simantics.scl.ui.editor"); //$NON-NLS-1$ updatePartName(); } @@ -136,7 +141,16 @@ public class SCLModuleEditor2 extends TextEditor { public IDocument getDocument() { return getSourceViewer().getDocument(); } - + + @SuppressWarnings("unchecked") + @Override + public T getAdapter(Class adapter) { + if (IContentOutlinePage.class.equals(adapter)) { + return (T) outline; + } + return super.getAdapter(adapter); + } + /** * Text navigation action to navigate to the next sub-word. *