-/*******************************************************************************\r
- * Copyright (c) 2007, 2010 Association for Decentralized Information Management\r
- * in Industry THTH ry.\r
- * All rights reserved. This program and the accompanying materials\r
- * are made available under the terms of the Eclipse Public License v1.0\r
- * which accompanies this distribution, and is available at\r
- * http://www.eclipse.org/legal/epl-v10.html\r
- *\r
- * Contributors:\r
- * VTT Technical Research Centre of Finland - initial API and implementation\r
- *******************************************************************************/\r
-package org.simantics.spreadsheet.ui.editor;\r
-\r
-import java.util.Collections;\r
-\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.layout.GridData;\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.eclipse.ui.contexts.IContextService;\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.exception.DatabaseException;\r
-import org.simantics.db.layer0.variable.Variable;\r
-import org.simantics.db.request.Read;\r
-import org.simantics.selectionview.StandardPropertyPage;\r
-import org.simantics.spreadsheet.graph.GraphUI;\r
-import org.simantics.spreadsheet.resource.SpreadsheetResource;\r
-import org.simantics.spreadsheet.ui.Spreadsheet;\r
-import org.simantics.ui.workbench.IPropertyPage;\r
-import org.simantics.ui.workbench.ResourceEditorPart2;\r
-import org.simantics.utils.ui.LayoutUtils;\r
-import org.simantics.utils.ui.jface.ActiveSelectionProvider;\r
-\r
-public class SpreadsheetEditor extends ResourceEditorPart2 {\r
-\r
- public static final boolean EXCEL = true;\r
- public static final String EDITOR_ID = "org.simantics.spreadsheet.ui.editor";\r
-\r
- private Spreadsheet spreadsheet;\r
-// private SimpleContainerTableModel tableModel;\r
- private final ActiveSelectionProvider selectionProvider = new ActiveSelectionProvider();\r
- //private ExcelLink excelLink;\r
- private GraphUI ui;\r
-\r
- public Spreadsheet getSpreadsheet() {\r
- return spreadsheet;\r
- }\r
-\r
- @Override\r
- public void createPartControl(Composite parent) {\r
-\r
- // Create UI\r
- parent.setLayout(LayoutUtils.createNoBorderGridLayout(1));\r
- parent.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));\r
-\r
- ui = new GraphUI(getSession());\r
-\r
- try {\r
-\r
- Variable variable = getSession().syncRequest(new Read<Variable>() {\r
-\r
- @Override\r
- public Variable perform(ReadGraph graph) throws DatabaseException {\r
- \r
-// String modelURI = getResourceInput2().getModelURI();\r
-// String rvi = getResourceInput2().getRVI();\r
-// Resource model = graph.getResource(modelURI);\r
-// Resource config = getInputResource();\r
-//// String configName = URIStringUtils.escape((String)graph.getPossibleRelatedValue(config, b.HasName, Bindings.STRING));\r
-//// Resource model = StructuralVariables.getModel(graph, config);\r
-// Resource realization = graph.getPossibleObject(model, b.HasBaseRealization);\r
-// Variable base = graph.adapt(realization, Variable.class);\r
-// return base.browse(graph, rvi);\r
- return null;\r
- \r
- }\r
-\r
- });\r
-\r
- spreadsheet = new Spreadsheet(parent, SWT.NONE, ui, selectionProvider);\r
- spreadsheet.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));\r
-\r
- ui.load(variable, spreadsheet.getClientInterface());\r
- } catch (DatabaseException e) {\r
- e.printStackTrace();\r
- }\r
-\r
- spreadsheet.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));\r
- spreadsheet.defaultInitializeUI();\r
-\r
- getSite().setSelectionProvider(selectionProvider);\r
-\r
- IContextService contexts = (IContextService)getSite().getService(IContextService.class);\r
- contexts.activateContext("org.simantics.spreadsheet.ui.context");\r
-\r
- }\r
-\r
- @Override\r
- public void setFocus() {\r
- if (spreadsheet != null)\r
- spreadsheet.setFocus();\r
- }\r
-\r
- @Override\r
- public Object getAdapter(Class adapter) {\r
- if (adapter == IPropertyPage.class)\r
- return new StandardPropertyPage(getSite(), Collections.singleton(SpreadsheetResource.URIs.BrowseContext));\r
- if (adapter == GraphUI.class)\r
- return ui;\r
- if (adapter == Spreadsheet.class)\r
- return getSpreadsheet();\r
- return null;\r
- }\r
-\r
- @Override\r
- public void dispose() {\r
-\r
-// if(EXCEL)\r
-// excelLink.dispose();\r
- \r
-// backend.dispose();\r
-\r
-// tableModel.dispose();\r
-\r
- super.dispose();\r
-\r
- }\r
-\r
-}\r
+/*******************************************************************************
+ * Copyright (c) 2007, 2010 Association for Decentralized Information Management
+ * in Industry THTH ry.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * VTT Technical Research Centre of Finland - initial API and implementation
+ *******************************************************************************/
+package org.simantics.spreadsheet.ui.editor;
+
+import java.util.Collections;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.contexts.IContextService;
+import org.simantics.db.ReadGraph;
+import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.layer0.variable.Variable;
+import org.simantics.db.request.Read;
+import org.simantics.selectionview.StandardPropertyPage;
+import org.simantics.spreadsheet.graph.GraphUI;
+import org.simantics.spreadsheet.resource.SpreadsheetResource;
+import org.simantics.spreadsheet.ui.Spreadsheet;
+import org.simantics.ui.workbench.IPropertyPage;
+import org.simantics.ui.workbench.ResourceEditorPart2;
+import org.simantics.utils.ui.LayoutUtils;
+import org.simantics.utils.ui.jface.ActiveSelectionProvider;
+
+public class SpreadsheetEditor extends ResourceEditorPart2 {
+
+ public static final boolean EXCEL = true;
+ public static final String EDITOR_ID = "org.simantics.spreadsheet.ui.editor";
+
+ private Spreadsheet spreadsheet;
+// private SimpleContainerTableModel tableModel;
+ private final ActiveSelectionProvider selectionProvider = new ActiveSelectionProvider();
+ //private ExcelLink excelLink;
+ private GraphUI ui;
+
+ public Spreadsheet getSpreadsheet() {
+ return spreadsheet;
+ }
+
+ @Override
+ public void createPartControl(Composite parent) {
+
+ // Create UI
+ parent.setLayout(LayoutUtils.createNoBorderGridLayout(1));
+ parent.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
+
+ ui = new GraphUI(getSession());
+
+ try {
+
+ Variable variable = getSession().syncRequest(new Read<Variable>() {
+
+ @Override
+ public Variable perform(ReadGraph graph) throws DatabaseException {
+
+// String modelURI = getResourceInput2().getModelURI();
+// String rvi = getResourceInput2().getRVI();
+// Resource model = graph.getResource(modelURI);
+// Resource config = getInputResource();
+//// String configName = URIStringUtils.escape((String)graph.getPossibleRelatedValue(config, b.HasName, Bindings.STRING));
+//// Resource model = StructuralVariables.getModel(graph, config);
+// Resource realization = graph.getPossibleObject(model, b.HasBaseRealization);
+// Variable base = graph.adapt(realization, Variable.class);
+// return base.browse(graph, rvi);
+ return null;
+
+ }
+
+ });
+
+ spreadsheet = new Spreadsheet(parent, SWT.NONE, ui, selectionProvider);
+ spreadsheet.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
+
+ ui.load(variable, spreadsheet.getClientInterface());
+ } catch (DatabaseException e) {
+ e.printStackTrace();
+ }
+
+ spreadsheet.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
+ spreadsheet.defaultInitializeUI();
+
+ getSite().setSelectionProvider(selectionProvider);
+
+ IContextService contexts = (IContextService)getSite().getService(IContextService.class);
+ contexts.activateContext("org.simantics.spreadsheet.ui.context");
+
+ }
+
+ @Override
+ public void setFocus() {
+ if (spreadsheet != null)
+ spreadsheet.setFocus();
+ }
+
+ @Override
+ public Object getAdapter(Class adapter) {
+ if (adapter == IPropertyPage.class)
+ return new StandardPropertyPage(getSite(), Collections.singleton(SpreadsheetResource.URIs.BrowseContext));
+ if (adapter == GraphUI.class)
+ return ui;
+ if (adapter == Spreadsheet.class)
+ return getSpreadsheet();
+ return null;
+ }
+
+ @Override
+ public void dispose() {
+
+// if(EXCEL)
+// excelLink.dispose();
+
+// backend.dispose();
+
+// tableModel.dispose();
+
+ super.dispose();
+
+ }
+
+}