]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.spreadsheet.ui/src/org/simantics/spreadsheet/ui/SelectionListener.java
Spreadsheet updates cell values properly
[simantics/platform.git] / bundles / org.simantics.spreadsheet.ui / src / org / simantics / spreadsheet / ui / SelectionListener.java
index d2eece5bd2b6275927f5980c0d30841d5c7c5219..8a8da732b3e121c082dd8ac3aab4cd22d65ba31c 100644 (file)
@@ -62,7 +62,16 @@ public class SelectionListener implements ListSelectionListener {
 
                        final Object cell = table.getValueAt(selectedRows[0], selectedColumns[0]);
                        if(cell != null) {
-                               String expression = clientModel.getPossiblePropertyAt(SpreadsheetUtils.cellName(selectedRows[0], selectedColumns[0]), ClientModel.CONTENT_EXPRESSION);
+
+                               String expression = "";
+
+                               Object expressionO = clientModel.getPossiblePropertyAt(SpreadsheetUtils.cellName(selectedRows[0], selectedColumns[0]), ClientModel.CONTENT_EXPRESSION);
+                               if(expressionO instanceof String) {
+                                       expression = (String)expressionO;
+                               } else if(expressionO instanceof Variant) {
+                                       expression = ((Variant)expressionO).toString();
+                               }
+
                                if(expression == null) {
                                        Variant content = SpreadsheetUtils.getSafeClientVariant(clientModel, SpreadsheetUtils.cellName(selectedRows[0], selectedColumns[0]), ClientModel.CONTENT);
                                        if(content != null)