Component Vision draft
Split Set - layout component which should consist of set of resizable and collapsible panels inside.
Every panel could be resizable within another panels. Every panel could have header with additional info and controls which could expand or collapse the panel.
The component should contain of container panel and set of child panels aligned horizontally or vertically.
Every child panel could have vertically or horizontally aligned header element.
SplitSets could be nested in order to provide complex markup definitions.
The component should be represented with next tags on the pages:
Should define the container for split panels and their general properties (sizes, styles etc..)
Should define the child panel and its properties (resize options, header controls, sizes and etc..)
Split component usage should be analogous to HTML frameset usage.
Cells number and positioning must be defined via "columns" or"rows" attribute of the splitSet component. The only of them can be set for the concrete panel (So panel just divides itself to vertical or horizontal aligned zones).
Cells defined inside panel must be rendered one by one in chosen direction (left to right or top to bottom) and with the width/ height defined in "columns" or "rows" attributes in order of definition of the cells in the end developer code.
Example of markup using such definition:
<splitSet rows="50%, 50%"> //Two rows inside a panel. One of them is a nested split set <splitPanel> //Content </splitPanel> <splitSet columns="35%, 65%"> ///Columns inside one of the row. <splitPanel> //Content </splitPanel> <splitPanel> //Content </splitPanel> </splitSet> <splitSet>
Would a BorderLayout be better? With facets of "north", "south", "east", "west", "center". Where center grows to the remaining available space.
The dojo toolkit started with a split pane, but deprecated that in favor a border layout.
I don't know what it might take to implement either of these, but thought I should mention the possibility.