package org.vaadin.viritin.layouts; import java.util.Collection; import org.vaadin.viritin.fluency.ui.FluentGridLayout; import com.vaadin.ui.Alignment; import com.vaadin.ui.Component; import com.vaadin.ui.GridLayout; public class MGridLayout extends GridLayout implements FluentGridLayout<MGridLayout> { private static final long serialVersionUID = -4353934595461037075L; public MGridLayout() { super.setSpacing(true); super.setMargin(true); } public MGridLayout(int columns, int rows) { super(columns, rows); super.setSpacing(true); super.setMargin(true); } public MGridLayout(int columns, int rows, Component... children) { super(columns, rows, children); super.setSpacing(true); super.setMargin(true); } public MGridLayout(Component... components) { this(); addComponents(components); } public MGridLayout with(Component... components) { addComponents(components); return this; } public MGridLayout alignAll(Alignment alignment) { for (Component component : this) { setComponentAlignment(component, alignment); } return this; } public MGridLayout add(Component... component) { return with(component); } public MGridLayout add(Collection<Component> component) { return with(component.toArray(new Component[component.size()])); } public MGridLayout withSizeUndefined() { setSizeUndefined(); return this; } public MGridLayout withWidthUndefined() { setWidthUndefined(); return this; } public MGridLayout withHeightUndefined() { setHeightUndefined(); return this; } }