andlabs grid placement still broken

Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
Jeff Carr 2023-05-09 08:25:10 -05:00
parent 15f00451b7
commit 9934f932ca
4 changed files with 39 additions and 26 deletions

View File

@ -14,6 +14,7 @@ func (n *Node) NewButton(name string, custom func()) *Node {
return newNode return newNode
} }
/*
// deprecate this once andlabs is refactored // deprecate this once andlabs is refactored
func callback(i int) bool { func callback(i int) bool {
log(debugError, "callback() for widget id =", i) log(debugError, "callback() for widget id =", i)
@ -27,6 +28,7 @@ func callback(i int) bool {
n.Custom() n.Custom()
return true return true
} }
*/
// find widget by number // find widget by number
func (n *Node) FindId(i int) (*Node) { func (n *Node) FindId(i int) (*Node) {

31
grid.go
View File

@ -27,10 +27,8 @@ func (n *Node) NewGrid(name string, w int, h int) *Node {
log(debugChange, "click() NewGrid not defined =", name) log(debugChange, "click() NewGrid not defined =", name)
}) })
var a toolkit.Action a := newAction(n, toolkit.Add)
a.ActionType = toolkit.Add
a.Name = name
a.Text = name
a.X = w a.X = w
a.Y = h a.Y = h
newNode.X = w newNode.X = w
@ -38,29 +36,20 @@ func (n *Node) NewGrid(name string, w int, h int) *Node {
newNode.NextX = 1 newNode.NextX = 1
newNode.NextY = 1 newNode.NextY = 1
/* sendAction(a, newNode, n)
// fix values here if they are invalid. Index starts at 1
if (where.NextX < 1) {
where.NextX = 1
}
if (where.NextY < 1) {
where.NextY = 1
}
//
a.X = where.NextX
a.Y = where.NextY
*/
newaction(&a, newNode, n) return newNode
}
/* // increments where the next element in the grid should go
func placeGrid(a *toolkit.Action, n *Node, where *Node) {
where.NextY += 1 where.NextY += 1
if (where.NextY > where.Y) { if (where.NextY > where.Y) {
where.NextX += 1 where.NextX += 1
where.NextY = 1 where.NextY = 1
} }
log(logInfo, "Action() END size (X,Y)", where.X, where.Y, "put next thing at (X,Y) =", where.NextX, where.NextY)
*/
return newNode a.X = where.NextX
a.Y = where.NextY
log(logNow, "placeGrid() (X,Y)", where.X, where.Y, " next(X,Y) =", where.NextX, where.NextY)
} }

View File

@ -7,11 +7,10 @@ import (
func (n *Node) NewLabel(text string) *Node { func (n *Node) NewLabel(text string) *Node {
newNode := n.newNode(text, toolkit.Label, nil) newNode := n.newNode(text, toolkit.Label, nil)
var a toolkit.Action n.Name = text
a.ActionType = toolkit.Add n.Text = text
a.Name = text a := newAction(n, toolkit.Add)
a.Text = text sendAction(a, newNode, n)
newaction(&a, newNode, n)
return newNode return newNode
} }

View File

@ -203,6 +203,24 @@ func initToolkit(name string, filename string) *aplug {
return newPlug return newPlug
} }
func newAction(n *Node, atype toolkit.ActionType) *toolkit.Action {
var a toolkit.Action
a.ActionType = atype
if (n == nil) {
return &a
}
a.Name = n.Name
a.Text = n.Text
a.WidgetId = n.id
a.WidgetType = n.WidgetType
return &a
}
func sendAction(a *toolkit.Action, n *Node, where *Node) {
newaction(a, n, where)
}
// 2023/04/06 Queue() is also being used and channels are being used. memcopy() only // 2023/04/06 Queue() is also being used and channels are being used. memcopy() only
func newaction(a *toolkit.Action, n *Node, where *Node) { func newaction(a *toolkit.Action, n *Node, where *Node) {
// remove this // remove this
@ -211,8 +229,12 @@ func newaction(a *toolkit.Action, n *Node, where *Node) {
a.WidgetType = n.WidgetType a.WidgetType = n.WidgetType
a.ActionType = a.ActionType a.ActionType = a.ActionType
} }
// end remove
if (where != nil) { if (where != nil) {
a.ParentId = where.id a.ParentId = where.id
if (where.WidgetType == toolkit.Grid) {
placeGrid(a, n, where)
}
} }
for _, aplug := range allPlugins { for _, aplug := range allPlugins {
@ -224,6 +246,7 @@ func newaction(a *toolkit.Action, n *Node, where *Node) {
} }
log(logInfo, "Action() SEND to pluginChan", aplug.name) log(logInfo, "Action() SEND to pluginChan", aplug.name)
aplug.pluginChan <- *a aplug.pluginChan <- *a
// added during debugging. might be a good idea in general for a tactile experience
sleep(.02) sleep(.02)
} }
} }