summaryrefslogtreecommitdiff
path: root/button.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2021-10-31 05:19:51 -0500
committerJeff Carr <[email protected]>2021-10-31 05:19:51 -0500
commitfe6a625b30caec96a1be12009da7c9dbd5f8d3ff (patch)
tree80a3c00ab313cfd807890c88f12c3dd6b68c7c7b /button.go
parentdac31511e9abc416c6b056c2d3579f38d70299ef (diff)
NODE: switch more around
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'button.go')
-rw-r--r--button.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/button.go b/button.go
index e1d141c..8ad0a3b 100644
--- a/button.go
+++ b/button.go
@@ -1,10 +1,12 @@
package gui
import "log"
+import "reflect"
import "github.com/andlabs/ui"
import _ "github.com/andlabs/ui/winmanifest"
// import "github.com/davecgh/go-spew/spew"
+
// This is the default mouse click handler
// Every mouse click that hasn't been assigned to
// something specific will fall into this routine
@@ -50,6 +52,30 @@ func guiButtonClick(button *GuiButton) {
}
}
+func (n *Node) AddButton(name string, custom func(*Node)) *Node {
+ if (n.uiBox == nil) {
+ log.Println("gui.Node.AppendButton() filed node.UiBox == nil")
+ return n
+ }
+ button := ui.NewButton(name)
+ log.Println("reflect.TypeOF(uiBox) =", reflect.TypeOf(n.uiBox))
+ log.Println("reflect.TypeOF(uiButton) =", reflect.TypeOf(button))
+ n.uiBox.Append(button, false)
+ n.uiButton = button
+
+ newNode := n.makeNode(name, 888, 888 + Config.counter)
+ newNode.uiButton = button
+ newNode.custom = custom
+
+ button.OnClicked(func(*ui.Button) {
+ log.Println("gui.AppendButton() Button Clicked. Running custom()")
+ custom(newNode)
+ })
+ // panic("AppendButton")
+ // time.Sleep(3 * time.Second)
+ return newNode
+}
+
func (n *Node) CreateButton(custom func(*GuiButton), name string, values interface {}) *Node {
newNode := n.AddBox(Xaxis, "test CreateButton")
box := newNode.FindBox()
@@ -79,6 +105,7 @@ func (n *Node) CreateButton(custom func(*GuiButton), name string, values interfa
box.Append(newB.B, false)
return newNode
}
+
func CreateButton(box *GuiBox, custom func(*GuiButton), name string, values interface {}) *GuiButton {
newUiB := ui.NewButton(name)
newUiB.OnClicked(defaultButtonClick)