-package org.simantics.spreadsheet.ui.editor;\r
-\r
-import java.util.ArrayList;\r
-import java.util.Collection;\r
-import java.util.Collections;\r
-import java.util.Iterator;\r
-\r
-import org.simantics.db.ReadGraph;\r
-import org.simantics.db.Resource;\r
-import org.simantics.db.layer0.variable.Variable;\r
-import org.simantics.db.layer0.variable.Variables;\r
-import org.simantics.selectionview.ComparableTabContributor;\r
-import org.simantics.selectionview.SelectionProcessor;\r
-import org.simantics.spreadsheet.resource.SpreadsheetResource;\r
-import org.simantics.spreadsheet.ui.TableSelection;\r
-import org.simantics.spreadsheet.ui.editor.NoCellTab.NoCellInput;\r
-import org.simantics.spreadsheet.util.SpreadsheetUtils;\r
-\r
-/**\r
- * @author Tuukka Lehtonen\r
- */\r
-public class SpreadsheetSelectionProcessor implements SelectionProcessor<Collection<?>, ReadGraph> {\r
-\r
- @Override\r
- public Collection<?> process(Collection<?> selection, ReadGraph graph) {\r
- try {\r
- if(selection == null) return Collections.emptyList();\r
- if(selection.size() != 3) return Collections.emptyList();\r
- Iterator<?> it = selection.iterator();\r
- final Variable variable = (Variable)it.next();\r
- it.next();\r
- final TableSelection sel = (TableSelection)it.next();\r
- int row = sel.getRows()[0];\r
- int column = sel.getColumns()[0];\r
- String location = SpreadsheetUtils.cellName(row, column);\r
- ArrayList<ComparableTabContributor> result = new ArrayList<ComparableTabContributor>(); \r
- final Variable cell = variable.getPossibleChild(graph, location);\r
- if(cell != null) {\r
- SpreadsheetResource sr = SpreadsheetResource.getInstance(graph);\r
- //result.add(new ComparableTabContributor(new SheetTab(), 2, variable, "Sheet"));\r
- final Resource type = cell.getPossiblePropertyValue(graph, Variables.TYPE);\r
- if(sr.TextCell.equals(type)) {\r
- result.add(new ComparableTabContributor(new TextCellTab(), 3, cell, "Configuration"));\r
-// if(sr.ExpressionRealization.equals(type)) {\r
-// Variable expression = cell.getPossibleProperty(graph, "Expression");\r
-// if(expression != null) {\r
-// result.add(new ComparableTabContributor(new ExpressionCellTab(), 3, cell, "Configuration"));\r
-// } else {\r
-// \r
-// }\r
-// } else if(sr.CommandRealization.equals(type)) {\r
-// result.add(new ComparableTabContributor(new CommandCellTab(), 3, cell, "Configuration"));\r
-// } else if(sr.TextRealization.equals(type)) {\r
-// result.add(new ComparableTabContributor(new TextCellTab(), 3, cell, "Configuration"));\r
-// } else if(sr.MatrixRealization.equals(type)) {\r
-// result.add(new ComparableTabContributor(new MatrixCellTab(), 3, cell, "Configuration"));\r
-// }\r
-// System.out.println("cell type = " + type);\r
-// final String content = cell.getPossiblePropertyValue(graph, "Content");\r
-// if(content != null) {\r
-// final Variable contentVariable = Variables.getVariable(graph, content);\r
-// if(variable == null) return Collections.emptyList();\r
-// return Collections.singleton(new ComparableTabContributor(new SpreadsheetTab(), 3, contentVariable, "Configuration"));\r
- } else {\r
- return Collections.emptyList();\r
- }\r
- } else {\r
- result.add(new ComparableTabContributor(new NoCellTab(), 3, new NoCellInput(variable, location), "Configuration"));\r
- }\r
- return result;\r
- } catch (Throwable t) {\r
- t.printStackTrace();\r
- return Collections.emptyList();\r
- }\r
- }\r
-\r
+package org.simantics.spreadsheet.ui.editor;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Iterator;
+
+import org.simantics.db.ReadGraph;
+import org.simantics.db.Resource;
+import org.simantics.db.layer0.variable.Variable;
+import org.simantics.db.layer0.variable.Variables;
+import org.simantics.selectionview.ComparableTabContributor;
+import org.simantics.selectionview.SelectionProcessor;
+import org.simantics.spreadsheet.Spreadsheets;
+import org.simantics.spreadsheet.resource.SpreadsheetResource;
+import org.simantics.spreadsheet.ui.TableSelection;
+import org.simantics.spreadsheet.ui.editor.NoCellTab.NoCellInput;
+
+/**
+ * @author Tuukka Lehtonen
+ */
+public class SpreadsheetSelectionProcessor implements SelectionProcessor<Collection<?>, ReadGraph> {
+
+ @Override
+ public Collection<?> process(Collection<?> selection, ReadGraph graph) {
+ try {
+ if(selection == null) return Collections.emptyList();
+ if(selection.size() != 3) return Collections.emptyList();
+ Iterator<?> it = selection.iterator();
+ final Variable variable = (Variable)it.next();
+ it.next();
+ final TableSelection sel = (TableSelection)it.next();
+ int row = sel.getRows()[0];
+ int column = sel.getColumns()[0];
+ String location = Spreadsheets.cellName(row, column);
+ ArrayList<ComparableTabContributor> result = new ArrayList<ComparableTabContributor>();
+ final Variable cell = variable.getPossibleChild(graph, location);
+ if(cell != null) {
+ SpreadsheetResource sr = SpreadsheetResource.getInstance(graph);
+ //result.add(new ComparableTabContributor(new SheetTab(), 2, variable, "Sheet"));
+ final Resource type = cell.getPossiblePropertyValue(graph, Variables.TYPE);
+ if(sr.TextCell.equals(type)) {
+ result.add(new ComparableTabContributor(new TextCellTab(), 3, cell, "Configuration"));
+// if(sr.ExpressionRealization.equals(type)) {
+// Variable expression = cell.getPossibleProperty(graph, "Expression");
+// if(expression != null) {
+// result.add(new ComparableTabContributor(new ExpressionCellTab(), 3, cell, "Configuration"));
+// } else {
+//
+// }
+// } else if(sr.CommandRealization.equals(type)) {
+// result.add(new ComparableTabContributor(new CommandCellTab(), 3, cell, "Configuration"));
+// } else if(sr.TextRealization.equals(type)) {
+// result.add(new ComparableTabContributor(new TextCellTab(), 3, cell, "Configuration"));
+// } else if(sr.MatrixRealization.equals(type)) {
+// result.add(new ComparableTabContributor(new MatrixCellTab(), 3, cell, "Configuration"));
+// }
+// System.out.println("cell type = " + type);
+// final String content = cell.getPossiblePropertyValue(graph, "Content");
+// if(content != null) {
+// final Variable contentVariable = Variables.getVariable(graph, content);
+// if(variable == null) return Collections.emptyList();
+// return Collections.singleton(new ComparableTabContributor(new SpreadsheetTab(), 3, contentVariable, "Configuration"));
+ } else {
+ return Collections.emptyList();
+ }
+ } else {
+ result.add(new ComparableTabContributor(new NoCellTab(), 3, new NoCellInput(variable, location), "Configuration"));
+ }
+ return result;
+ } catch (Throwable t) {
+ t.printStackTrace();
+ return Collections.emptyList();
+ }
+ }
+