]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.spreadsheet/src/org/simantics/spreadsheet/solver/SpreadsheetEngine.java
SCL API for direct access to SpreadsheetBooks
[simantics/platform.git] / bundles / org.simantics.spreadsheet / src / org / simantics / spreadsheet / solver / SpreadsheetEngine.java
index 9ccbc6d1e709511db07a9e4c2e2e8509831863a9..a562b9d62039b25427d3e9c14d9ee7e2f1c85987 100644 (file)
@@ -1,10 +1,12 @@
 package org.simantics.spreadsheet.solver;
 
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
+import java.util.function.Consumer;
 
 import org.simantics.spreadsheet.Range;
 import org.simantics.spreadsheet.SpreadsheetVisitor;
@@ -96,6 +98,18 @@ public class SpreadsheetEngine implements SpreadsheetElement, SheetNode {
         return root.getLine(row);
     }
 
+    public void forLines(Consumer<SpreadsheetLine> consumer, int min, int max) {
+        assert(lines.nodes.size() == 1);
+        SpreadsheetLines root = lines.nodes.values().iterator().next();
+        root.forLines(consumer, min, max);
+    }
+    
+    public List<SpreadsheetLine> getLines(int min, int max) {
+        ArrayList<SpreadsheetLine> result = new ArrayList<>();
+        forLines(line -> result.add(line), min, max);
+        return result;
+    }
+
     @Override
     public void accept(SpreadsheetVisitor v) {
         v.visit(this);