X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.spreadsheet.graph%2Fsrc%2Forg%2Fsimantics%2Fspreadsheet%2Fgraph%2FSpreadsheetNodeManager.java;h=a7bee9d4b5e0daf0af55359e3482cf5616af06f1;hb=e76829647764a2873224849a40532db6bdef6bdc;hp=b86544c0dfed7a7e42328334622a84d21c568dbb;hpb=f56d8b5c5225ef421009dadca4cec0ac56aef019;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/SpreadsheetNodeManager.java b/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/SpreadsheetNodeManager.java index b86544c0d..a7bee9d4b 100644 --- a/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/SpreadsheetNodeManager.java +++ b/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/SpreadsheetNodeManager.java @@ -21,6 +21,7 @@ import org.simantics.spreadsheet.solver.SpreadsheetCellContent; import org.simantics.spreadsheet.solver.SpreadsheetCellContentExpression; import org.simantics.spreadsheet.solver.SpreadsheetCellEditable; import org.simantics.spreadsheet.solver.SpreadsheetFormula; +import org.simantics.spreadsheet.solver.SpreadsheetSCLConstant; import org.simantics.spreadsheet.solver.SpreadsheetTypeNode; import org.simantics.structural.stubs.StructuralResource2; @@ -29,15 +30,23 @@ public class SpreadsheetNodeManager extends StandardVariableNodeManager cells) { - for(SpreadsheetCell cell : cells) { - System.err.println("Modification in cell " + cell); - refreshVariable(new SpreadsheetCellContent(cell)); - refreshVariable(new SpreadsheetCellContentExpression(cell)); - } + realm.asyncExec(new Runnable() { + @Override + public void run() { + for(SpreadsheetCell cell : cells) { + System.err.println("Modification in cell " + cell.getName()); + refreshVariable(new SpreadsheetCellContent(cell)); + Object content = cell.getContent(); + if(content instanceof SpreadsheetFormula || content instanceof SpreadsheetSCLConstant) + refreshVariable(new SpreadsheetCellContentExpression(cell)); + } + } + }); } }); }