diff options
| author | Jeff Carr <[email protected]> | 2023-03-12 08:47:16 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2023-03-12 08:47:16 -0500 |
| commit | 20f13a4b5be1a986e1085214f492a0afe6db322f (patch) | |
| tree | 35d633c45a36798126520269e13ae70dd70b5b20 /debugWindow.go | |
| parent | 49202eeafdad8e5780fefdad3d2f87fd4354725e (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.go | 180 |
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) +} |
