X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.spreadsheet.ui%2Fsrc%2Forg%2Fsimantics%2Fspreadsheet%2Fui%2FTextTableCellEditor.java;h=f84e0ef84747e402696c6fa6af2a0000a471231d;hb=504e9350fd22eaf7bd04a71c0bccac7b44b18098;hp=2c84b6ad1d16abc8662e052c67f4bd9f2c394ed6;hpb=dfa52ccefe2e4c36965ad3ccf5e19b778cae0d99;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.spreadsheet.ui/src/org/simantics/spreadsheet/ui/TextTableCellEditor.java b/bundles/org.simantics.spreadsheet.ui/src/org/simantics/spreadsheet/ui/TextTableCellEditor.java index 2c84b6ad1..f84e0ef84 100644 --- a/bundles/org.simantics.spreadsheet.ui/src/org/simantics/spreadsheet/ui/TextTableCellEditor.java +++ b/bundles/org.simantics.spreadsheet.ui/src/org/simantics/spreadsheet/ui/TextTableCellEditor.java @@ -27,6 +27,7 @@ import org.simantics.databoard.Bindings; import org.simantics.databoard.binding.mutable.Variant; import org.simantics.spreadsheet.CellEditor; import org.simantics.spreadsheet.ClientModel; +import org.simantics.spreadsheet.Spreadsheets; import org.simantics.spreadsheet.util.SpreadsheetUtils; class TextTableCellEditor extends DefaultCellEditor implements SpreadsheetCellEditor { @@ -135,8 +136,15 @@ class TextTableCellEditor extends DefaultCellEditor implements SpreadsheetCellEd String str = (String)getCellEditorValue(); - String cellName = SpreadsheetUtils.cellName(row, column); - String expression = clientModel.getPossiblePropertyAt(cellName, ClientModel.CONTENT_EXPRESSION); + String cellName = Spreadsheets.cellName(row, column); + Object expressionO = clientModel.getPossiblePropertyAt(cellName, ClientModel.CONTENT_EXPRESSION); + String expression = null; + if(expressionO instanceof String) { + expression = (String)expressionO; + } else if(expressionO instanceof Variant) { + expression = ((Variant)expressionO).getValue().toString(); + } + if(expression == null) { Variant content = SpreadsheetUtils.getSafeClientVariant(clientModel, cellName, ClientModel.CONTENT); if(content != null) @@ -151,11 +159,11 @@ class TextTableCellEditor extends DefaultCellEditor implements SpreadsheetCellEd return; if (str.startsWith("=")) { - editor.edit(null, SpreadsheetUtils.cellName(row, column), ClientModel.CONTENT_EXPRESSION, str, Bindings.STRING, null); + editor.edit(null, Spreadsheets.cellName(row, column), ClientModel.CONTENT_EXPRESSION, str, Bindings.STRING, null); //Update cell expression clientModel.setProperty(cellName, ClientModel.CONTENT_EXPRESSION, str); } else { - editor.edit(null, SpreadsheetUtils.cellName(row, column), Variant.ofInstance(str), null); + editor.edit(null, Spreadsheets.cellName(row, column), Variant.ofInstance(str), null); //Update cell expression clientModel.setProperty(cellName, ClientModel.CONTENT_EXPRESSION, null); //If not an expression, then the expression property is null }