]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/EvaluateAll.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.spreadsheet.graph / src / org / simantics / spreadsheet / graph / EvaluateAll.java
1 package org.simantics.spreadsheet.graph;\r
2 \r
3 import org.simantics.spreadsheet.graph.formula.SpreadsheetEvaluationEnvironment;\r
4 \r
5 public class EvaluateAll implements SpreadsheetVisitor {\r
6         \r
7         final SpreadsheetEvaluationEnvironment env;\r
8         \r
9         public EvaluateAll(SpreadsheetBook book) {\r
10                 this.env = SpreadsheetEvaluationEnvironment.getInstance(book);\r
11         }\r
12 \r
13         @Override\r
14         public void visit(SpreadsheetBook book) {\r
15                 for(SpreadsheetEngine engine : book.sheets) engine.accept(this);\r
16         }\r
17 \r
18         @Override\r
19         public void visit(SpreadsheetEngine engine) {\r
20                 engine.lines.accept(this);\r
21         }\r
22 \r
23         @Override\r
24         public void visit(SpreadsheetLines node) {\r
25                 for(SpreadsheetLines child : node.nodes.values()) child.accept(this);\r
26                 for(SpreadsheetLine line : node.lines.values()) line.accept(this);\r
27         }\r
28 \r
29         @Override\r
30         public void visit(SpreadsheetLine line) {\r
31                 for(SpreadsheetCell cell : line.cells) cell.accept(this);\r
32         }\r
33 \r
34         @Override\r
35         public void visit(SpreadsheetCell cell) {\r
36                 try {\r
37                         cell.evaluate(env, null);\r
38                 } catch (Throwable t) {\r
39                         t.printStackTrace();\r
40                 }\r
41         }\r
42 \r
43 }\r