X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.spreadsheet%2Fsrc%2Forg%2Fsimantics%2Fspreadsheet%2Fsolver%2FSpreadsheetLine.java;fp=bundles%2Forg.simantics.spreadsheet%2Fsrc%2Forg%2Fsimantics%2Fspreadsheet%2Fsolver%2FSpreadsheetLine.java;h=d11fdc6d253d417596948ffe5ce18bbc29df358d;hb=c07a3818f0024e932a27eb85cbfd3f2291475a65;hp=0000000000000000000000000000000000000000;hpb=6c99e980d250fb9201aba93be7dcb1f55564dccd;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.spreadsheet/src/org/simantics/spreadsheet/solver/SpreadsheetLine.java b/bundles/org.simantics.spreadsheet/src/org/simantics/spreadsheet/solver/SpreadsheetLine.java new file mode 100644 index 000000000..d11fdc6d2 --- /dev/null +++ b/bundles/org.simantics.spreadsheet/src/org/simantics/spreadsheet/solver/SpreadsheetLine.java @@ -0,0 +1,123 @@ +package org.simantics.spreadsheet.solver; + +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Optional; + +import org.simantics.spreadsheet.Range; +import org.simantics.spreadsheet.SpreadsheetVisitor; +import org.simantics.spreadsheet.Spreadsheets; + +import it.unimi.dsi.fastutil.objects.ObjectArrayList; + +@SuppressWarnings("rawtypes") +public class SpreadsheetLine implements SpreadsheetElement, SheetNode { + + private static final long serialVersionUID = -304574098117404663L; + + final private SpreadsheetLines parent; + final public int row; + int id; + + public ObjectArrayList cells = new ObjectArrayList<>(); + + public SpreadsheetLine(SpreadsheetLines parent, int row) { + this.parent = parent; + this.row = row; + this.id = getEngine().getBook().getNewId(this); + } + + public int getId() { + return id; + } + + public SpreadsheetEngine getEngine() { + return ((SpreadsheetLines)parent).getEngine(); + } + + @Override + public String getName() { + return "Row"+row; + } + + @Override + public Map getChildren() { + String rowName = ""+row; + Map result = new HashMap<>(); + for(int i=0;i getParent() { + return Optional.of(parent); + } + + @Override + public List getSpreadsheetChildren() { + return cells; + } + + @Override + public void remove(SpreadsheetCell child) { + + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((parent == null) ? 0 : parent.hashCode()); + result = prime * result + row; + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + SpreadsheetLine other = (SpreadsheetLine) obj; + if (parent == null) { + if (other.parent != null) + return false; + } else if (!parent.equals(other.parent)) + return false; + if (row != other.row) + return false; + return true; + } + +}