package nl.utwente.viskell.ui; import java.util.stream.Stream; import javafx.geometry.BoundingBox; import javafx.geometry.Bounds; import javafx.scene.Node; import javafx.scene.layout.Region; import nl.utwente.viskell.ui.components.Block; /** A dummy Block container for deleted blocks */ public final class TrashContainer implements BlockContainer { /** The instance of the TrashContainer */ public static TrashContainer instance = new TrashContainer(); private TrashContainer() { super(); } @Override public Bounds containmentBoundsInScene() { return new BoundingBox(0, 0, 0, 0); } @Override public void attachBlock(Block block) { } @Override public void detachBlock(Block block) { } @Override public Stream<Block> getAttachedBlocks() { return Stream.of(); } @Override public BlockContainer getParentContainer() { return this; } @Override public Node asNode() { return new Region(); } @Override public void expandToFit(Bounds blockBounds) { // everything fits in the trash } }