package com.baselet.element.old.activity;
import java.util.ArrayList;
public class Row {
private ArrayList<Element> elements;
public Row() {
elements = new ArrayList<Element>();
}
public void exchangeElementOrInsert(Element old_element, Element new_element) {
if (elements.contains(old_element)) {
elements.set(elements.indexOf(old_element), new_element);
}
else {
addElement(new_element);
}
new_element.setRow(this);
}
public boolean isLeft(Element e) {
if (e.equals(elements.get(0))) {
return true;
}
return false;
}
public boolean isRight(Element e) {
if (e.equals(elements.get(elements.size() - 1))) {
return true;
}
return false;
}
public ArrayList<Row> makeExclusiveLeft(Element e, ArrayList<Row> rows) {
Row new_row = new Row();
int index = elements.indexOf(e);
for (int i = 0; i < index; i++) {
new_row.addElement(elements.get(0));
elements.remove(0);
}
rows.add(rows.indexOf(this) + 1, new_row);
return rows;
}
public ArrayList<Row> makeExclusiveRight(Element e, ArrayList<Row> rows) {
Row new_row = new Row();
int index = elements.indexOf(e);
int size = elements.size();
for (int i = index + 1; i < size; i++) {
new_row.addElement(elements.get(index + 1));
elements.remove(index + 1);
}
rows.add(rows.indexOf(this) + 1, new_row);
return rows;
}
public void addElement(Element e) {
elements.add(e);
e.setRow(this);
}
public int setElementYPosition(int offset) {
int h = getHeight();
int y = offset + h / 2;
for (Element e : elements) {
e.setY(y);
}
return offset + h;
}
public int getHeight() {
int height = 0;
for (Element e : elements) {
int h = e.getHeight() + e.getPadding() * 2;
if (h > height) {
height = h;
}
}
return height;
}
}