libui/redo/alboxplan

36 lines
1.2 KiB
Plaintext

Layout:
0123456789ABCDEF0123456789ABCDEF
[edit0 ]
[button0 ][button1 ]
[button2 ][button3 ]
[checkbox0 ][b][b][b] (4, 5, 6)
[l] (label0)
(stretchy space )+-------+
(stretchy space )| |
(space )[b](space )| area0 | (7)
(stretchy space )| |
(stretchy space )+-------+
The visual layout has to be
H:|[edit0]|
H:|[button0(>=0)][button1(==button0)]|
H:|[button2(>=0)][button3(==button2)]|
H:|[checkbox0(>=0)][button4][button5][button6]|
H:|[label0] (note the lack of trailing |)
H:|->=0-[button7]->=0-[area0]|
V:|[edit0][button0][button2][checkbox0][label0]->=0-[button7]->=0-|
V:|[edit0][button0][button2][checkbox0][label0][area0(>=0)]| (TODO is this one necessary?)
The problem now is that an empty box has to be represented by something. In the above hand-made example (which I have to test; TODO) we worked around the spaces. How do we do the same in code?
The lower part of the box above is itself a single box laid out like so
hbox0: [stretchy vbox0][area0]
vbox0: [stretchy xbox0][hbox2][stretchy xbox1]
hbox2: [stretchy xbox2][button7][stretchy xbox3]
xbox*: [empty box]
Do we need to start representing empty boxes using NSViews?