package com.baselet.element.old.activity; import java.awt.Graphics2D; import java.util.ArrayList; public class Column { private ArrayList<Element> elements; private Graphics2D graphics; public Column(Graphics2D graphics) { elements = new ArrayList<Element>(); this.graphics = graphics; } public boolean isEmpty() { return elements.isEmpty(); } public Element getFirstElement() { if (!elements.isEmpty()) { return elements.get(0); } return null; } public Element getLastElement() { if (!elements.isEmpty()) { return elements.get(elements.size() - 1); } return null; } public void addElement(Element e) { elements.add(e); } public int getHeight() { int height = 0; for (Element e : elements) { height += e.getHeight() + e.getPadding() * 2; } return height; } public int getLeftWidth() { int width = 0; for (Element e : elements) { int w = e.getLeftWidth(); if (w > width) { width = w; } } return width; } public int getRightWidth() { int width = 0; for (Element e : elements) { int w = e.getRightWidth(); if (w > width) { width = w; } } return width; } public int getWidth() { return getLeftWidth() + getRightWidth(); } public void setX(int x) { for (Element e : elements) { e.setX(x); } } public void paint() { Element current = null; for (Element e : elements) { if (current != null) { new Connector(graphics, current, e).paint(); } e.paint(); current = e; } } public void printData(String prefix) { for (Element e : elements) { e.printData(prefix); } } }