X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.spreadsheet%2Fsrc%2Forg%2Fsimantics%2Fspreadsheet%2Fsolver%2FSpreadsheetEngine.java;h=a562b9d62039b25427d3e9c14d9ee7e2f1c85987;hb=c9a552af1020b5e6d4cf0da0a00bd758de772c2a;hp=9ccbc6d1e709511db07a9e4c2e2e8509831863a9;hpb=526f4a68350df5a272586f7d794603ecb4525132;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.spreadsheet/src/org/simantics/spreadsheet/solver/SpreadsheetEngine.java b/bundles/org.simantics.spreadsheet/src/org/simantics/spreadsheet/solver/SpreadsheetEngine.java index 9ccbc6d1e..a562b9d62 100644 --- a/bundles/org.simantics.spreadsheet/src/org/simantics/spreadsheet/solver/SpreadsheetEngine.java +++ b/bundles/org.simantics.spreadsheet/src/org/simantics/spreadsheet/solver/SpreadsheetEngine.java @@ -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 consumer, int min, int max) { + assert(lines.nodes.size() == 1); + SpreadsheetLines root = lines.nodes.values().iterator().next(); + root.forLines(consumer, min, max); + } + + public List getLines(int min, int max) { + ArrayList result = new ArrayList<>(); + forLines(line -> result.add(line), min, max); + return result; + } + @Override public void accept(SpreadsheetVisitor v) { v.visit(this);