]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/componentTypeEditor/ProceduralComponentTypeCodeEditor.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.modeling.ui / src / org / simantics / modeling / ui / componentTypeEditor / ProceduralComponentTypeCodeEditor.java
1 /*******************************************************************************\r
2  * Copyright (c) 2013, 2015 Association for Decentralized Information Management in\r
3  * Industry THTH ry.\r
4  * All rights reserved. This program and the accompanying materials\r
5  * are made available under the terms of the Eclipse Public License v1.0\r
6  * which accompanies this distribution, and is available at\r
7  * http://www.eclipse.org/legal/epl-v10.html\r
8  *\r
9  * Contributors:\r
10  *     VTT Technical Research Centre of Finland - initial API and implementation\r
11  *     Semantum Oy - adaption to SCLModuleEditor/TextEditor\r
12  *******************************************************************************/\r
13 package org.simantics.modeling.ui.componentTypeEditor;\r
14 \r
15 import org.eclipse.swt.widgets.Display;\r
16 import org.eclipse.ui.PlatformUI;\r
17 import org.simantics.db.common.request.ParametrizedRead;\r
18 import org.simantics.db.layer0.request.combinations.Combinators;\r
19 import org.simantics.layer0.Layer0;\r
20 import org.simantics.scl.ui.editor.SCLSourceViewerConfigurationNew;\r
21 import org.simantics.scl.ui.editor.SharedTextColorsNew;\r
22 import org.simantics.ui.workbench.IResourceEditorInput;\r
23 import org.simantics.ui.workbench.editor.input.InputValidationCombinators;\r
24 \r
25 /**\r
26  * @author Hannu Niemistö\r
27  * @author Tuukka Lehtonen (extended from SCLModuleEditor)\r
28  */\r
29 public class ProceduralComponentTypeCodeEditor extends SCLModuleEditor {\r
30 \r
31     private ParametrizedRead<IResourceEditorInput, Boolean> INPUT_VALIDATOR =\r
32             Combinators.compose(\r
33                     InputValidationCombinators.hasURI(),\r
34                     Combinators.compose(\r
35                             InputValidationCombinators.partialFunction(Layer0.URIs.PropertyOf),\r
36                             InputValidationCombinators.extractInputResource()\r
37                     )\r
38             );\r
39 \r
40     public ProceduralComponentTypeCodeEditor() {\r
41         super();\r
42     }\r
43 \r
44     @Override\r
45     protected void preInitialize() {\r
46         //showOverviewRuler();\r
47         Display display = PlatformUI.getWorkbench().getDisplay();\r
48         SCLSourceViewerConfigurationNew sourceViewerConfiguration = new SCLSourceViewerConfigurationNew(resourceManager);\r
49         setDocumentProvider(new ProceduralComponentTypeCodeDocumentProvider(sourceViewerConfiguration, display, this));\r
50         setSourceViewerConfiguration(sourceViewerConfiguration);\r
51         \r
52     }\r
53 \r
54     protected ParametrizedRead<IResourceEditorInput, Boolean> getInputValidator() {\r
55         return INPUT_VALIDATOR;\r
56     }\r
57 \r
58 }