summaryrefslogtreecommitdiff
path: root/debugWindow.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2023-03-12 08:47:16 -0500
committerJeff Carr <[email protected]>2023-03-12 08:47:16 -0500
commit20f13a4b5be1a986e1085214f492a0afe6db322f (patch)
tree35d633c45a36798126520269e13ae70dd70b5b20 /debugWindow.go
parent49202eeafdad8e5780fefdad3d2f87fd4354725e (diff)
Squashed commit of the following:
commit 448abc843e2241bab6c399f7a836dccba1defc18 Author: Jeff Carr <[email protected]> Date: Sun Mar 12 08:35:28 2023 -0500 this should probably be a new release now Signed-off-by: Jeff Carr <[email protected]> commit a4064f7a6c5ac67437768aa2bc67c75dafc91c4c Author: Jeff Carr <[email protected]> Date: Sat Mar 11 03:18:23 2023 -0600 able to work on add 'Box' and play with 'Image' Signed-off-by: Jeff Carr <[email protected]> commit 6e59573d85e82ecb005805f50711dddc2df50480 Author: Jeff Carr <[email protected]> Date: Sat Mar 11 03:04:34 2023 -0600 rearrange widget debugging Signed-off-by: Jeff Carr <[email protected]> commit e0570de75c6eb1b4f49e541d9ef5d83ae4434d3d Author: Jeff Carr <[email protected]> Date: Sat Mar 11 02:29:20 2023 -0600 debugging is lots smarter Signed-off-by: Jeff Carr <[email protected]> commit ece32a1e43d91cd197d0a8497ad2f034c46126e1 Author: Jeff Carr <[email protected]> Date: Fri Mar 10 21:38:23 2023 -0600 first pass on a node delete Signed-off-by: Jeff Carr <[email protected]> commit c91cb0eddb0f73f8dea9b21a16cd76c7e2c19a33 Author: Jeff Carr <[email protected]> Date: Fri Mar 10 21:06:29 2023 -0600 can recreate window list Signed-off-by: Jeff Carr <[email protected]> commit 470f9dc26aefd3626b319264fe151aa48d4d5377 Author: Jeff Carr <[email protected]> Date: Fri Mar 10 12:07:34 2023 -0600 attempt to ressurect mouse in the console plugin Signed-off-by: Jeff Carr <[email protected]> commit 747bb53e06dda458cc8cd77b665f4d9d07f5e925 Author: Jeff Carr <[email protected]> Date: Fri Mar 10 10:47:14 2023 -0600 jesus. gocui actually builds and works again as a plugin it didn't take too much to change it Signed-off-by: Jeff Carr <[email protected]> commit 9283c65c8e9b8d2630b251ad952b6b52caddb307 Author: Jeff Carr <[email protected]> Date: Fri Mar 10 07:26:53 2023 -0600 show/hide/etc for window widgets Signed-off-by: Jeff Carr <[email protected]> commit 5724cd7ffd8595ae049a7c9c21cb2f1a993c4b76 Author: Jeff Carr <[email protected]> Date: Fri Mar 10 06:40:36 2023 -0600 compiles and runs Signed-off-by: Jeff Carr <[email protected]> commit 44a5e69ce17cb506adfe24ca72cc86caa9ebcc70 Author: Jeff Carr <[email protected]> Date: Fri Mar 10 05:57:15 2023 -0600 more debugging improvements Signed-off-by: Jeff Carr <[email protected]> commit b86f145f0252e7545b2e7fa78e1d5960cacb7bad Author: Jeff Carr <[email protected]> Date: Fri Mar 10 03:42:32 2023 -0600 set margin on tab's works Signed-off-by: Jeff Carr <[email protected]> commit d2218c08cf44acd5f017a8faa1439ee6d2fd46d5 Author: Jeff Carr <[email protected]> Date: Thu Mar 9 16:26:21 2023 -0600 ignore all *.so files Signed-off-by: Jeff Carr <[email protected]> commit e21934fff3cfea30b04df01bf0714f6927aa78f4 Author: Jeff Carr <[email protected]> Date: Thu Mar 9 16:25:15 2023 -0600 can't embed the toolkit/*.so files here Signed-off-by: Jeff Carr <[email protected]> commit f1e6c5fc9c8ca36db3ad6109d64612b6850fa856 Author: Jeff Carr <[email protected]> Date: Thu Mar 9 16:21:14 2023 -0600 andlabs group widget has Show() and Hide() Signed-off-by: Jeff Carr <[email protected]> commit e8487504aa76ca99c4891b777585a428fda0ef62 Author: Jeff Carr <[email protected]> Date: Thu Mar 9 16:07:56 2023 -0600 pass the node id into the plugin to use in channels Signed-off-by: Jeff Carr <[email protected]> commit 3667940a77af4e3855facb9247771d595477302f Author: Jeff Carr <[email protected]> Date: Thu Mar 9 14:20:21 2023 -0600 fix SetText() on Label Signed-off-by: Jeff Carr <[email protected]> commit 311d6be66db84b63fb7124df64e2e9be0f0b76a4 Author: Jeff Carr <[email protected]> Date: Thu Mar 9 14:06:46 2023 -0600 still compiles and runs Signed-off-by: Jeff Carr <[email protected]> commit ee4e9b21ef59a97f902c6dae2a57ac7b3063fe3b Author: Jeff Carr <[email protected]> Date: Thu Mar 9 11:02:34 2023 -0600 compiles Signed-off-by: Jeff Carr <[email protected]> Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'debugWindow.go')
-rw-r--r--debugWindow.go180
1 files changed, 97 insertions, 83 deletions
diff --git a/debugWindow.go b/debugWindow.go
index a831869..8b1caa7 100644
--- a/debugWindow.go
+++ b/debugWindow.go
@@ -1,7 +1,19 @@
package gui
+import (
+ "git.wit.org/wit/gui/toolkit"
+)
+
+// TODO: move all this shit into somewhere not global
+
+// main debugging window
var bugWin *Node
+// if there should be new windows or just tabs
+var makeTabs bool = true
+
var mapWindows map[string]*Node
+var checkd, checkdn, checkdt, checkdtk, lb1, lb2 *Node
+var myButton *Node
/*
Creates a window helpful for debugging this package
@@ -15,120 +27,122 @@ func DebugWindow() {
bugWin.DebugTab("Debug Tab")
}
-var checkd, checkdn, checkdt, checkdtk, lb1, lb2 *Node
-var myButton *Node
-
func (n *Node) DebugTab(title string) *Node {
- var newN, gog, g1, g2, g3, dd *Node
+ var newN, gog, g1 *Node
// time.Sleep(1 * time.Second)
newN = n.NewTab(title)
newN.Dump()
//////////////////////// main debug things //////////////////////////////////
- gog = newN.NewGroup("Debugging")
+ gog = newN.NewGroup("Debugging Windows:")
+
+ // generally useful debugging
+ cb := gog.NewCheckbox("Seperate windows")
+ cb.Custom = func() {
+ makeTabs = cb.widget.B
+ log(debugGui, "Custom() n.widget =", cb.widget.Name, cb.widget.B)
+ }
+ makeTabs = false
+ cb.Set(false)
gog.NewButton("Debug Flags", func () {
- newN.debugFlags(false)
+ newN.DebugFlags(makeTabs)
})
gog.NewButton("Debug Widgets", func () {
- newN.debugWidgets(false)
+ DebugWidgetWindow(newN)
})
gog.NewButton("GO Language Internals", func () {
- newN.debugGolangWindow(false)
+ newN.DebugGolangWindow(makeTabs)
})
gog.NewButton("GO Channels debug", func () {
- newN.debugGoChannels(false)
+ newN.DebugGoChannels(makeTabs)
})
-//////////////////////// window debugging things //////////////////////////////////
- g1 = newN.NewGroup("Current Windows")
- dd = g1.NewDropdown("Window Dropdown")
- dd.Custom = func() {
- name := dd.widget.S
- bugWin = mapWindows[name]
- log("The Window was set to", name)
- }
- log(debugGui, "dd =", dd)
+ gog.NewLabel("Force Quit:")
- // initialize the windows map if it hasn't been
- if (mapWindows == nil) {
- mapWindows = make(map[string]*Node)
- }
+ gog.NewButton("os.Exit()", func () {
+ exit()
+ })
- var dump = false
- var last = ""
- for _, child := range Config.master.children {
- log(debugGui, "\t\t", child.id, child.Width, child.Height, child.Name)
- if (child.parent != nil) {
- log(debugGui, "\t\t\tparent =",child.parent.id)
- } else {
- log(debugGui, "\t\t\tno parent")
- panic("no parent")
- }
- if (dump == true) {
- child.Dump()
- }
- dd.AddDropdownName(child.Name)
- last = child.Name
- mapWindows[child.Name] = child
- }
- dd.SetDropdownName(last)
+//////////////////////// window debugging things //////////////////////////////////
+ g1 = newN.NewGroup("list things")
- g2 = newN.NewGroup("Debug Window")
- g2.NewButton("SetMargined(tab)", func () {
- log(debugChange, "START SetMargined(tab)", g2.Name)
- // name := dd.GetText()
- name := dd.widget.S
- log(true, "name =", name)
- log(debugChange, "name =", name)
- log(debugChange, "mapWindows[name] =", mapWindows[name])
- /*
- for s, n := range mapWindows {
- log(debugChange, "\tname =", name)
- log(debugChange, "\tmapWindows s =", s)
- log(debugChange, "\tmapWindows[s] =", n)
- }
- */
- bugWin = mapWindows[name]
- log(debugChange, "END dd.widget.S =", dd.widget.S)
- // gw.UiTab.SetMargined(*gw.TabNumber, true)
- })
- g2.NewButton("Hide(tab)", func () {
- log(debugChange, "\tclick() START", g2.Name)
- // gw.UiTab.Hide()
+ g1.NewButton("List Windows", func () {
+ dropdownWindow(g1)
})
- g2.NewButton("Show(tab)", func () {
- // gw.UiTab.Show()
- })
- g2.NewButton("Delete(tab)", func () {
- // gw.UiTab.Delete(*gw.TabNumber)
- })
- g2.NewButton("change Title", func () {
- // mainWindow.SetText("hello world")
- })
- g2.NewButton("Quit", func () {
- exit()
+ g1.NewButton("List Window Widgets", func () {
+ dropdownWindowWidgets(g1)
})
- /////////////////////////////////////////////////////
- g3 = newN.NewGroup("Node Debug")
+ g2 := newN.NewGroup("node things")
- g3.NewButton("Node.Dump()", func () {
- debugGui = true
- debugDump = true
- bugWin.Dump()
+ g2.NewButton("Actions Window", func () {
+ DebugWidgetWindow(activeWidget)
})
- g3.NewButton("Node.ListChildren(false)", func () {
+ g2.NewButton("Node.ListChildren(false)", func () {
+ g := debugGui
+ d := debugDump
debugGui = true
debugDump = true
- bugWin.ListChildren(false)
+ activeWidget.ListChildren(false, nil, nil)
+ debugGui = g
+ debugDump = d
})
- g3.NewButton("Node.ListChildren(true)", func () {
+ g2.NewButton("Node.ListChildren(true)", func () {
+ g := debugGui
+ d := debugDump
debugGui = true
debugDump = true
- bugWin.ListChildren(true)
+ activeWidget.ListChildren(true, nil, nil)
+ debugGui = g
+ debugDump = d
})
return newN
}
+
+func dropdownWindow(p *Node) {
+ var mapWindows map[string]*Node
+ mapWindows = make(map[string]*Node)
+
+ dd := p.NewDropdown("Window Dropdown")
+ dd.Custom = func() {
+ name := dd.widget.S
+ activeWidget = mapWindows[name]
+ setActiveWidget(activeWidget)
+ log("The Window was set to", name)
+ }
+ log(debugGui, "dd =", dd)
+
+ // var last = ""
+ for _, child := range Config.master.children {
+ log(debugGui, "\t\t", child.id, child.Width, child.Height, child.Name)
+ // skip the fake "Flag" node
+ if (child.widget.Type == toolkit.Flag) {
+ continue
+ }
+ dd.AddDropdownName(child.Name)
+ // last = child.Name
+ mapWindows[child.Name] = child
+ if (activeWidget == nil) {
+ activeWidget = child
+ }
+ }
+ // dd.SetDropdownName(last)
+}
+
+func dropdownWindowWidgets(p *Node) {
+ var mapWindows map[string]*Node
+ mapWindows = make(map[string]*Node)
+
+ dd := p.NewDropdown("Window Widgets Dropdown")
+ dd.Custom = func() {
+ name := dd.widget.S
+ activeWidget = mapWindows[name]
+ setActiveWidget(activeWidget)
+ }
+ log(debugGui, "dd =", dd)
+
+ activeWidget.ListChildren(true, dd, mapWindows)
+}