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;
@Override
public void cellsChanged(Collection<SpreadsheetCell> 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) {
+ refreshVariable(new SpreadsheetCellContent(cell));
+ Object content = cell.getContent();
+ if(content instanceof SpreadsheetFormula || content instanceof SpreadsheetSCLConstant)
+ refreshVariable(new SpreadsheetCellContentExpression(cell));
+ }
+ }
+ });
}
});
}