1 package org.simantics.scl.ui.editor2;
3 import org.eclipse.jface.resource.JFaceResources;
4 import org.eclipse.jface.resource.LocalResourceManager;
5 import org.eclipse.jface.resource.ResourceManager;
6 import org.eclipse.jface.text.IDocument;
7 import org.eclipse.swt.widgets.Composite;
8 import org.eclipse.ui.IEditorInput;
9 import org.eclipse.ui.IEditorSite;
10 import org.eclipse.ui.PartInitException;
11 import org.eclipse.ui.contexts.IContextService;
12 import org.eclipse.ui.editors.text.TextEditor;
13 import org.eclipse.ui.texteditor.ITextEditorActionConstants;
14 import org.eclipse.ui.texteditor.StatusLineContributionItem;
15 import org.simantics.scl.ui.editor.SCLSourceViewerConfigurationNew;
16 import org.simantics.scl.ui.editor.completion.SCLTextEditorEnvironment;
18 public class SCLModuleEditor2 extends TextEditor {
19 private boolean disposed = false;
20 ResourceManager resourceManager;
22 public SCLModuleEditor2() {
24 resourceManager = new LocalResourceManager(JFaceResources.getResources());
25 SCLSourceViewerConfigurationNew sourceViewerConfiguration = new SCLSourceViewerConfigurationNew(resourceManager);
26 setDocumentProvider(new SCLModuleEditor2DocumentProvider(sourceViewerConfiguration));
27 setSourceViewerConfiguration(sourceViewerConfiguration);
31 public boolean isTabsToSpacesConversionEnabled() {
36 public void init(IEditorSite site, IEditorInput input)
37 throws PartInitException {
38 super.init(site, input);
42 public void createPartControl(Composite parent) {
43 super.createPartControl(parent);
44 StatusLineContributionItem statusLineContribution = new StatusLineContributionItem(
45 ITextEditorActionConstants.STATUS_CATEGORY_INPUT_POSITION,
47 setStatusField(statusLineContribution,
48 ITextEditorActionConstants.STATUS_CATEGORY_INPUT_POSITION);
49 getEditorSite().getActionBars().getStatusLineManager().add(statusLineContribution);
50 getEditorSite().getActionBars().updateActionBars();
51 getEditorSite().getService(IContextService.class).activateContext("org.simantics.scl.ui.editor");
55 protected void updatePartName() {
56 setPartName(getEditorInput().getName());
60 public void dispose() {
63 resourceManager.dispose();
66 public boolean isDisposed() {
70 public SCLTextEditorEnvironment getSCLTextEditorEnvironment() {
71 return ((SCLSourceViewerConfigurationNew)getSourceViewerConfiguration())
72 .getSclTextEditorEnvironment();
75 public IDocument getDocument() {
76 return getSourceViewer().getDocument();