summaryrefslogtreecommitdiff
path: root/andlabs/place.go
diff options
context:
space:
mode:
Diffstat (limited to 'andlabs/place.go')
-rw-r--r--andlabs/place.go87
1 files changed, 53 insertions, 34 deletions
diff --git a/andlabs/place.go b/andlabs/place.go
index 94a16b2..25672e7 100644
--- a/andlabs/place.go
+++ b/andlabs/place.go
@@ -1,12 +1,15 @@
package main
import (
+ // "os"
"go.wit.com/dev/andlabs/ui"
_ "go.wit.com/dev/andlabs/ui/winmanifest"
"go.wit.com/log"
"go.wit.com/gui/widget"
+
+ "go.wit.com/gui/toolkits/tree"
)
// This routine is very specific to this toolkit
@@ -33,62 +36,78 @@ import (
// -- (0,0) -- (1,0) -- (1,0) --
// -- (0,1) -- (1,1) -- (1,1) --
// -----------------------------
-func (p *node) place(n *node) bool {
- log.Log(INFO, "place() START", n.WidgetType, n.progname)
- if (p.tk == nil) {
- log.Log(ERROR, "p.tk == nil", p.progname, p.ParentId, p.WidgetType, p.tk)
- log.Log(ERROR, "n = ", n.progname, n.ParentId, n.WidgetType, n.tk)
- panic("p.tk == nil")
+func place(p *tree.Node, n *tree.Node) bool {
+ log.Warn("SPEEDY newplace() 1 START", n.WidgetId, n.GetProgName(), n.GetLabel(), n.String())
+ log.Warn("SPEEDY newplace() n.State.Strings =", n.State.Strings)
+ log.Log(INFO, "place() 1 START", n.WidgetType, n.GetProgName(), n.GetLabel())
+ if ! ready(n) {
+ log.Warn("place() 1 START not ready()")
+ return false
+ }
+ log.Log(INFO, "place() 1 START ready()")
+ var tk, ptk *guiWidget
+ tk = n.TK.(*guiWidget)
+ ptk = p.TK.(*guiWidget)
+ log.Warn("SPEEDY newplace() 2 START", n.WidgetId, n.GetProgName(), n.GetLabel())
+
+ if (ptk == nil) {
+ log.Log(ERROR, "ptk == nil", p.GetProgName(), p.ParentId, p.WidgetType, ptk)
+ log.Log(ERROR, "n = ", n.GetProgName(), n.ParentId, n.WidgetType, tk)
+ log.Warn("SPEEDY ptk == nil", n.WidgetId, n.GetProgName())
+ log.Sleep(1)
+ panic("ptk == nil")
}
log.Log(INFO, "place() switch", p.WidgetType)
+ log.Warn("SPEEDY newplace() before switch", n.WidgetId, n.GetProgName())
switch p.WidgetType {
case widget.Grid:
- log.Log(INFO, "place() Grid try at Parent X,Y =", n.X, n.Y)
- n.tk.gridX = n.AtW - 1
- n.tk.gridY = n.AtH - 1
- log.Log(INFO, "place() Grid try at gridX,gridY", n.tk.gridX, n.tk.gridY)
- // at the very end, subtract 1 from X & Y since andlabs/ui starts counting at zero
- p.tk.uiGrid.Append(n.tk.uiControl,
- n.tk.gridX, n.tk.gridY, 1, 1,
+ tk.gridX = n.State.GridOffset.X - 1
+ tk.gridY = n.State.GridOffset.Y - 1
+ log.Warn("place() on Grid at gridX,gridY", tk.gridX, tk.gridY)
+ ptk.uiGrid.Append(tk.uiControl,
+ tk.gridX, tk.gridY, 1, 1,
false, ui.AlignFill, false, ui.AlignFill)
return true
case widget.Group:
- if (p.tk.uiBox == nil) {
- log.Log(WARN, "place() andlabs hack group to use add a box", n.progname, n.WidgetType)
- p.tk.uiBox = n.rawBox()
- p.tk.uiGroup.SetChild(p.tk.uiBox)
+ if (ptk.uiBox == nil) {
+ log.Log(WARN, "place() andlabs hack group to use add a box", n.GetProgName(), n.WidgetType)
+ ptk.uiBox = rawBox(n)
+ ptk.uiGroup.SetChild(ptk.uiBox)
}
- p.tk.uiBox.Append(n.tk.uiControl, stretchy)
+ ptk.uiBox.Append(tk.uiControl, stretchy)
return true
case widget.Tab:
- if (p.tk.uiTab == nil) {
- log.Log(ERROR, "p.tk.uiTab == nil for n.WidgetId =", n.WidgetId, "p.tk =", p.tk)
- panic("p.tk.uiTab == nil")
+ if (ptk.uiTab == nil) {
+ log.Log(ERROR, "ptk.uiTab == nil for n.WidgetId =", n.WidgetId, "ptk =", ptk)
+ panic("ptk.uiTab == nil")
}
- if (n.tk.uiControl == nil) {
- log.Log(ERROR, "n.tk.uiControl == nil for n.WidgetId =", n.WidgetId, "n.tk =", n.tk)
- panic("n.tk.uiControl == nil")
+ if (tk.uiControl == nil) {
+ log.Log(ERROR, "tk.uiControl == nil for n.WidgetId =", n.WidgetId, "tk =", tk)
+ panic("tk.uiControl == nil")
}
log.Log(ERROR, "CHECK LOGIC ON THIS. APPENDING directly into a window without a tab")
- // log.Log(ERROR, "THIS SHOULD NEVER HAPPEN ??????? trying to place() node=", n.WidgetId, n.progname, n.Text, n.WidgetType)
- // log.Log(ERROR, "THIS SHOULD NEVER HAPPEN ??????? trying to place() on parent=", p.WidgetId, p.progname, p.Text, p.WidgetType)
- // panic("n.tk.uiControl == nil")
- p.tk.uiTab.Append(widget.GetString(n.value), n.tk.uiControl)
- p.tk.boxC += 1
+ // log.Log(ERROR, "THIS SHOULD NEVER HAPPEN ??????? trying to place() node=", n.WidgetId, n.GetProgName(), n.Text, n.WidgetType)
+ // log.Log(ERROR, "THIS SHOULD NEVER HAPPEN ??????? trying to place() on parent=", p.WidgetId, p.GetProgName(), p.Text, p.WidgetType)
+ // panic("tk.uiControl == nil")
+ ptk.uiTab.Append(widget.GetString(n.State.Value), tk.uiControl)
+ ptk.boxC += 1
return true
case widget.Box:
- log.Log(INFO, "place() uiBox =", p.tk.uiBox)
- log.Log(INFO, "place() uiControl =", n.tk.uiControl)
- p.tk.uiBox.Append(n.tk.uiControl, stretchy)
- p.tk.boxC += 1
+ log.Warn("SPEEDY Add Something to Box", n.WidgetId, n.GetProgName())
+ log.Log(INFO, "place() uiBox =", ptk.uiBox)
+ log.Log(INFO, "place() uiControl =", tk.uiControl)
+ ptk.uiBox.Append(tk.uiControl, stretchy)
+ ptk.boxC += 1
return true
case widget.Window:
- p.tk.uiWindow.SetChild(n.tk.uiControl)
+ log.Warn("SPEEDY Add Something to Window", n.WidgetId, n.GetProgName())
+ ptk.uiWindow.SetChild(tk.uiControl)
return true
default:
log.Log(ERROR, "place() how? Parent =", p.WidgetId, p.WidgetType)
}
+ log.Warn("SPEEDY newplace() return", n.WidgetId, n.GetProgName())
return false
}