Okay, I have no idea what I'm going to do
This commit is contained in:
parent
8803080975
commit
d4d0aef8cb
161
GLOSSARY
161
GLOSSARY
|
@ -1,161 +0,0 @@
|
|||
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
|
||||
which has a uiControl
|
||||
and an H h, which is an OS resource
|
||||
a uiControl c
|
||||
We call
|
||||
uiWindowSetChild(w, c)
|
||||
What happens:
|
||||
w instructs t that c should be the child it keeps track of
|
||||
t.SetControl(c)
|
||||
t instructs c that it should add its children to the OS object h backing t
|
||||
c.SetTHING(t)
|
||||
t instructs c to lay itself out
|
||||
c.Resize()
|
||||
We now say
|
||||
c is really a uiStack
|
||||
We call
|
||||
uiStackAppend(c, d, 2)
|
||||
What happens:
|
||||
c asks t to add d to h
|
||||
t.Host(d)
|
||||
t gives d h to add itself too
|
||||
d.SetHost(h)
|
||||
c asks t to let it lay itself out
|
||||
t.Update()
|
||||
t tells c to lay itself out
|
||||
c.Resize()
|
||||
We call
|
||||
uiStackDelete(c, 4)
|
||||
What happens:
|
||||
c asks t to remove its fifth child from h
|
||||
t.Unhost(c.children[4])
|
||||
t tells c's fifth child to unhost itself
|
||||
c.children[4].UnsetHost()
|
||||
c instructs t to tell it to lay itself out
|
||||
t.Update()
|
||||
t tells c to lay itself out
|
||||
c.Resize()
|
||||
We do
|
||||
resize the window
|
||||
What happens:
|
||||
w resizes t, which resizes h
|
||||
t.Resize()
|
||||
resizing h triggers a relayout of c
|
||||
c.Resize()
|
||||
We do
|
||||
uiWindowSetChild(w, e)
|
||||
What happens:
|
||||
w instructs t to stop tracking c
|
||||
t.UnsetControl(c)
|
||||
t instructs c to remove its children from h
|
||||
c.UnsetTHING()
|
||||
t.Unhost(d)
|
||||
d.Unhost()
|
||||
w instrcuts t to start tracking e
|
||||
t.SetControl(e)
|
||||
t instructs e to add its children to h
|
||||
e.SetTHING(t)
|
||||
t instructs e to be laid out
|
||||
e.Resize()
|
||||
We do
|
||||
uiWindowDestroy(w)
|
||||
What happens
|
||||
w instructs t to tell e to destroy itself
|
||||
t.Destroy()
|
||||
t tells e to unhook itself
|
||||
e.UnsetTHING()
|
||||
t tells e to destroy itself
|
||||
e.Destroy()
|
||||
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
|
||||
|
||||
CURRENT PLAN
|
||||
T/THING will be called a 'host'
|
||||
H will be called an 'OS parent'
|
||||
a host has an OS parent; it gives it to the individual children of its control as needed
|
||||
uiStack and uiGrid, etc. will be called 'containers'
|
||||
|
||||
let's rewrite the above with the new terminology:
|
||||
|
||||
We have
|
||||
a uiWindow w
|
||||
which has a Host h
|
||||
which has a uiControl control
|
||||
and an OSParent p
|
||||
a uiControl c
|
||||
We call
|
||||
uiWindowSetChild(w, c)
|
||||
What happens:
|
||||
w instructs h that c should be the control it keeps track of
|
||||
h.SetControl(c)
|
||||
h tells c that it is its host
|
||||
c.SetHost(h)
|
||||
t instructs c to lay itself out
|
||||
c.Resize()
|
||||
We now say
|
||||
c is really a uiStack
|
||||
We call
|
||||
uiStackAppend(c, d, 2)
|
||||
What happens:
|
||||
c asks h to add d to p
|
||||
h.Host(d)
|
||||
h gives d p to add itself too
|
||||
d.SetOSParent(p)
|
||||
c asks h to let it lay itself out
|
||||
h.Update()
|
||||
h tells c to lay itself out
|
||||
c.Resize()
|
||||
We call
|
||||
uiStackDelete(c, 4)
|
||||
What happens:
|
||||
c asks h to remove its fifth child from p
|
||||
h.Unhost(c.children[4])
|
||||
h tells c's fifth child to unhost itself
|
||||
c.children[4].UnsetOSParent()
|
||||
c instructs h to tell it to lay itself out
|
||||
h.Update()
|
||||
h tells c to lay itself out
|
||||
c.Resize()
|
||||
We do
|
||||
resize the window
|
||||
What happens:
|
||||
w resizes h, which resizes p
|
||||
h.Resize()
|
||||
resizing p triggers a relayout of c
|
||||
c.Resize()
|
||||
We do
|
||||
uiWindowSetChild(w, e)
|
||||
What happens:
|
||||
w instructs t to stop tracking c
|
||||
t.UnsetControl(c)
|
||||
t instructs c to remove its children from h
|
||||
c.UnsetHost()
|
||||
t.Unhost(d)
|
||||
d.UnsetOSParent()
|
||||
w instrcuts t to start tracking e
|
||||
t.SetControl(e)
|
||||
t instructs e to add its children to h
|
||||
e.SetHost(t)
|
||||
t instructs e to be laid out
|
||||
e.Resize()
|
||||
We do
|
||||
uiWindowDestroy(w)
|
||||
What happens
|
||||
w instructs h to tell e to destroy itself
|
||||
h.Destroy()
|
||||
h tells e to unhook itself
|
||||
e.UnsetHost()
|
||||
h tells e to destroy itself
|
||||
e.Destroy()
|
||||
h destroys p, then itself
|
||||
w destroys itself
|
Loading…
Reference in New Issue