As a GUI Designer I'd like to layout my graphical interfaces at will, therefore we need a versatile layout implementation.
[ ] GridLayout should take the space which is made available from the parent Component and should divide it corresponding to the column and row settings, as well as the needs of its children Components
[ ] has padding attributes to manage distance between this layout and its parent Component
[ ] has convenience builder patterns for row (1 column, n rows), column (n column, 1 row) and formular layouts (2 columns, n rows)
[ ] reacts to resize events
[ ] recalculate the space when a Component is added or removed from the layout or when a Component is hidden
As a GUI Designer I'd like to layout my graphical interfaces at will, therefore we need a versatile layout implementation.