blob: e0a90e1b2875045e422bdc29e3e8d88afd87a1d5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
In the interest of making sure that everything in ui is consistent, here is a glossary of various conflicting terms and what they mean to the library. These are disjunct from the terminology used by each backend's native platform; context should be used to differentiate where appropriate.
Instead of a traditional glossary, let's look at things the way ui does them:
We have
a uiWindow w
which has a T t
a uiControl c
We call
uiWindowSetChild(w, c)
What happens:
w instructs t that c should be the child it keeps track of
t instructs c that it should add its children to the OS object h backing t
t instructs c to lay itself out
We now say
c is really a uiStack
We call
uiStackAppend(c, d, 2)
What happens:
c adds d to h
c asks t to let it lay itself out
t tells c to lay itself out
We call
uiStackDelete(c, 4)
What happens:
c removes its fifth child from h
c instructs t to tell it to lay itself out
t tells c to lay itself out
We do
resize the window
What happens:
w resizes h
the resize of h causes t to trigger a relayout of c
We do
uiWindowSetChild(w, e)
What happens:
w instructs t to stop tracking c and start tracking e
t instructs c to remove its children from h
t instructs e to add its children to h
t instructs e to be laid out
We do
uiWindowDestroy(w)
What happens
w instructs t to tell e to destroy itself
e removes its children from h and destroys them, then destroys itself
t destroys h, then itself
w destroys itself
Therefore, we need a name for T and H
We also need a term for uiStack and uiGrid
The above uses 'children' for their children
|