]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/InvalidateAll.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.spreadsheet.graph / src / org / simantics / spreadsheet / graph / InvalidateAll.java
diff --git a/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/InvalidateAll.java b/bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/InvalidateAll.java
new file mode 100644 (file)
index 0000000..b57006b
--- /dev/null
@@ -0,0 +1,34 @@
+package org.simantics.spreadsheet.graph;\r
+\r
+public class InvalidateAll implements SpreadsheetVisitor {\r
+       \r
+       public InvalidateAll() {\r
+       }\r
+\r
+       @Override\r
+       public void visit(SpreadsheetBook book) {\r
+               for(SpreadsheetEngine engine : book.sheets) engine.accept(this);\r
+       }\r
+\r
+       @Override\r
+       public void visit(SpreadsheetEngine engine) {\r
+               engine.lines.accept(this);\r
+       }\r
+\r
+       @Override\r
+       public void visit(SpreadsheetLines node) {\r
+               for(SpreadsheetLines child : node.nodes.values()) child.accept(this);\r
+               for(SpreadsheetLine line : node.lines.values()) line.accept(this);\r
+       }\r
+\r
+       @Override\r
+       public void visit(SpreadsheetLine line) {\r
+               for(SpreadsheetCell cell : line.cells) cell.accept(this);\r
+       }\r
+\r
+       @Override\r
+       public void visit(SpreadsheetCell cell) {\r
+               cell.invalidate();\r
+       }\r
+\r
+}\r