1 package org.simantics.spreadsheet.graph;
3 import org.simantics.spreadsheet.SpreadsheetVisitor;
4 import org.simantics.spreadsheet.solver.SpreadsheetBook;
5 import org.simantics.spreadsheet.solver.SpreadsheetCell;
6 import org.simantics.spreadsheet.solver.SpreadsheetEngine;
7 import org.simantics.spreadsheet.solver.SpreadsheetLine;
8 import org.simantics.spreadsheet.solver.SpreadsheetLines;
9 import org.simantics.spreadsheet.solver.formula.SpreadsheetEvaluationEnvironment;
11 public class EvaluateAll implements SpreadsheetVisitor {
13 final SpreadsheetEvaluationEnvironment env;
15 public EvaluateAll(SpreadsheetBook book) {
16 this.env = SpreadsheetEvaluationEnvironment.getInstance(book);
20 public void visit(SpreadsheetBook book) {
21 for(SpreadsheetEngine engine : book.sheets) engine.accept(this);
25 public void visit(SpreadsheetEngine engine) {
26 engine.lines.accept(this);
30 public void visit(SpreadsheetLines node) {
31 for(SpreadsheetLines child : node.nodes.values()) child.accept(this);
32 for(SpreadsheetLine line : node.lines.values()) line.accept(this);
36 public void visit(SpreadsheetLine line) {
37 for(SpreadsheetCell cell : line.cells) cell.accept(this);
41 public void visit(SpreadsheetCell cell) {
43 cell.evaluate(env, null);
44 } catch (Throwable t) {