/** * @see Layout#add(Content) */ @Override public void add(Content content) { add(content, new Point2D.Double(0,0)); }
/** * @see Content#refreshUp() */ @Override public final void refreshUp() { Rectangle2D minimalBounds = getMinimalBounds(); setWidth(minimalBounds.getWidth()); setHeight(minimalBounds.getHeight()); super.refreshUp(); }
/** * @return minimal bounds of this element */ @Override public Rectangle2D getMinimalBounds() { Rectangle2D selfMinimalBounds = super.getMinimalBounds(); double maxX = selfMinimalBounds.getWidth(); double maxY = selfMinimalBounds.getHeight(); for (Content content: getContents()) { Rectangle2D rect = content.getMinimalBounds(); maxX = Math.max(maxX, rect.getMaxX()); maxY = Math.max(maxY, rect.getMaxY()); } return new Rectangle2D.Double(getX(),getY(),maxX,maxY); }
public final boolean setPosition(Content content, Point2D position) { if(null == content) { return false; } RelativeContent relativeContent = null; for (Content c: getContents()) { relativeContent = (RelativeContent)c; if(relativeContent.content.equals(content)) { relativeContent.setPosition(position); return true; } } return false; } }
/** * @see Layout#remove(Content) */ @Override public void remove(Content content) { if(null == content) { return; } RelativeContent relativeContent = null; for (Content c: getContents()) { relativeContent = (RelativeContent)c; if(relativeContent.content.equals(content)) { super.remove(relativeContent); break; } } }