]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.ui/src/org/simantics/scl/ui/editor2/SCLModuleEditor2.java
Fixed all line endings of the repository
[simantics/platform.git] / bundles / org.simantics.scl.ui / src / org / simantics / scl / ui / editor2 / SCLModuleEditor2.java
1 package org.simantics.scl.ui.editor2;
2
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;
17
18 public class SCLModuleEditor2 extends TextEditor {
19     private boolean disposed = false;
20     ResourceManager resourceManager;
21
22     public SCLModuleEditor2() {
23         super();
24         resourceManager = new LocalResourceManager(JFaceResources.getResources());
25         SCLSourceViewerConfigurationNew sourceViewerConfiguration = new SCLSourceViewerConfigurationNew(resourceManager);
26         setDocumentProvider(new SCLModuleEditor2DocumentProvider(sourceViewerConfiguration));
27         setSourceViewerConfiguration(sourceViewerConfiguration);
28     }
29     
30     @Override
31     public boolean isTabsToSpacesConversionEnabled() {
32         return true;
33     }
34     
35     @Override
36     public void init(IEditorSite site, IEditorInput input)
37             throws PartInitException {
38         super.init(site, input);
39     }
40
41     @Override
42     public void createPartControl(Composite parent) {
43         super.createPartControl(parent);
44         StatusLineContributionItem statusLineContribution = new StatusLineContributionItem(
45                 ITextEditorActionConstants.STATUS_CATEGORY_INPUT_POSITION,
46                 true, 14);
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");
52         updatePartName();
53     }
54
55     protected void updatePartName() {
56         setPartName(getEditorInput().getName());
57     }
58     
59     @Override
60     public void dispose() {
61         disposed = true;
62         super.dispose();
63         resourceManager.dispose();
64     }
65
66     public boolean isDisposed() {
67         return disposed;
68     }
69     
70     public SCLTextEditorEnvironment getSCLTextEditorEnvironment() {
71         return ((SCLSourceViewerConfigurationNew)getSourceViewerConfiguration())
72                 .getSclTextEditorEnvironment();
73     }
74
75     public IDocument getDocument() {
76         return getSourceViewer().getDocument();
77     }
78 }