Closed
Description
We need a layouts not just "view" components. Layout would also be a view but having more dedicated role to layout views it knows about into its own bounding box.
GridView would be a port from https://github.com/rivo/tview/blob/master/grid.go as it has some nice ideas without making implementation too complex while still providing enough features.
Every "box" in a grid is a view which allows user to build these type of views by composing a layout.
┌─────────────────────────────────────────────────────────────┐
│ Header │
│ │
├────────────────┬─────────────────────────┬──────────────────┤
│ Menu │ Main content │ Side Bar │
│ │ │ │
│ │ │ │
│ │ │ │
├────────────────┴─────────────────────────┴──────────────────┤
│ Footer │
│ │
└─────────────────────────────────────────────────────────────┘
- Can add items
- Can set column sizes
- Can set row sizes
- Can set minimum sizes for rows and columns