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 /debugWidget.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 'debugWidget.go')
| -rw-r--r-- | debugWidget.go | 339 |
1 files changed, 216 insertions, 123 deletions
diff --git a/debugWidget.go b/debugWidget.go index d76b554..031f76d 100644 --- a/debugWidget.go +++ b/debugWidget.go @@ -2,179 +2,272 @@ package gui import ( "strconv" + "git.wit.org/wit/gui/toolkit" ) + +// global var for checking to see if this +// window/tab for debugging a widget exists +// check the binary tree instead (?) for a window called "Widgets" (bad idea) +var bugWidget *Node + +// the widget all these actions are run against +var activeWidget *Node +// the label where the user can see which widget is active +var activeLabel *Node +var activeLabelType *Node + +// tmp junk var debugGrid *Node +var debugGridLabel *Node +var debugWidgetBut1, debugWidgetBut2 *Node + +func setActiveWidget(w *Node) { + if (activeLabel == nil) { + // the debug window doesn't exist yet + // TODO: make a fake binary tree for this(?) + return + } + if (w == nil) { + log(debugError, "setActiveWidget() was sent nil !!!") + return + } + activeWidget = w + log(true, "The Widget is set to", w.id, w.Name) + title := "ID =" + strconv.Itoa(w.id) + " " + w.widget.Name + activeLabel.SetText(title) + activeLabelType.SetText("widget.Type = " + w.widget.Type.String()) + + // temporary stuff + if (w.widget.Type == toolkit.Window) { + debugWidgetBut1.widget.Action = "Enable" + send(debugWidgetBut1.parent, debugWidgetBut1) + debugWidgetBut2.widget.Action = "Enable" + send(debugWidgetBut2.parent, debugWidgetBut2) + } else { + debugWidgetBut1.widget.Action = "Disable" + send(debugWidgetBut1.parent, debugWidgetBut1) + debugWidgetBut2.widget.Action = "Disable" + send(debugWidgetBut2.parent, debugWidgetBut2) + } + return +} -func (n *Node) debugWidgets(makeWindow bool) { - var w, gList, gShow *Node +func DebugWidgetWindow(w *Node) { + if (bugWidget != nil) { + // this window was already created. Just change the widget we are working against + setActiveWidget(w) + return + } // Either: // make a new window // make a new tab in the existing window - if (makeWindow) { - Config.Title = "Debug Widgets" + if (makeTabs) { + Config.Title = "Widgets" Config.Width = 300 Config.Height = 400 - w = NewWindow() - w.Custom = w.StandardClose + bugWidget = NewWindow() + bugWidget.Custom = bugWidget.StandardClose } else { - w = n.NewTab("Widgets") + bugWidget = bugWin.NewTab("Widgets") } - w.Dump() - gList = w.NewGroup("Pick a widget to debug") - gShow = w.NewGroup("Added Widgets go here") + g := bugWidget.NewGroup("widget:") + + activeLabel = g.NewLabel("undef") + activeLabelType = g.NewLabel("undef") + + // common things that should work against each widget + g = bugWidget.NewGroup("common things") + g.NewButton("Disable()", func () { + activeWidget.widget.Action = "Disable" + send(activeWidget.parent, activeWidget) + }) + g.NewButton("Enable()", func () { + activeWidget.widget.Action = "Enable" + send(activeWidget.parent, activeWidget) + }) + g.NewButton("Show()", func () { + activeWidget.widget.Action = "Show" + send(activeWidget.parent, activeWidget) + }) + g.NewButton("Hide()", func () { + activeWidget.widget.Action = "Hide" + send(activeWidget.parent, activeWidget) + }) + g.NewButton("Delete()", func () { + Delete(activeWidget) + }) + g.NewButton("Dump()", func () { + g := debugGui + d := debugDump + debugGui = true + debugDump = true + activeWidget.Dump() + debugGui = g + debugDump = d + }) + + newG := bugWidget.NewGroup("add things") + newG.debugAddWidgetButtons() + + g = bugWidget.NewGroup("change things") + g.NewButton("SetMargin(true)", func () { + activeWidget.widget.Action = "SetMargin" + activeWidget.widget.B = true + send(activeWidget.parent, activeWidget) + }) + g.NewButton("SetMargin(false)", func () { + activeWidget.widget.Action = "SetMargin" + activeWidget.widget.B = false + send(activeWidget.parent, activeWidget) + }) + g.NewButton("Value()", func () { + log("activeWidget.B =", activeWidget.widget.B) + log("activeWidget.I =", activeWidget.widget.I) + log("activeWidget.S =", activeWidget.widget.S) + }) + g.NewButton("Set(true)", func () { + activeWidget.widget.Action = "Set" + activeWidget.widget.B = true + send(activeWidget.parent, activeWidget) + }) + g.NewButton("Set(false)", func () { + activeWidget.widget.Action = "Set" + activeWidget.widget.B = false + send(activeWidget.parent, activeWidget) + }) + g.NewButton("Set(20)", func () { + activeWidget.widget.Action = "Set" + activeWidget.widget.B = true + activeWidget.widget.I = 20 + activeWidget.widget.S = "20" + send(activeWidget.parent, activeWidget) + }) + g.NewButton("SetText('foo')", func () { + activeWidget.widget.Action = "Set" + activeWidget.widget.S = "foo" + send(activeWidget.parent, activeWidget) + }) + g.NewButton("Delete()", func () { + activeWidget.widget.Action = "Delete" + send(activeWidget.parent, activeWidget) + }) + debugWidgetBut1 = g.NewButton("SetRaw(true)", func () { + activeWidget.widget.Action = "SetRaw" + activeWidget.widget.B = true + send(activeWidget.parent, activeWidget) + }) + debugWidgetBut2 = g.NewButton("SetRaw(false)", func () { + activeWidget.widget.Action = "SetRaw" + activeWidget.widget.B = false + send(activeWidget.parent, activeWidget) + }) - gList.NewButton("Button", func () { - SetDebug(true) - a := gShow.NewButton("myButton", func () { - log("this code is more better") - }) - SetDebug(false) - DebugWidgetWindow(a) + g = bugWidget.NewGroup("not working?") + g.NewButton("Add('foo')", func () { + activeWidget.widget.Action = "Add" + activeWidget.widget.S = "foo" + send(activeWidget.parent, activeWidget) }) - gList.NewButton("Checkbox", func () { - a := gShow.NewCheckbox("myCheckbox") + g.NewButton("Add button to (1,1)", func () { + activeWidget.widget.Action = "AddGrid" + activeWidget.widget.B = false + send(activeWidget, debugGridLabel) + // debugGrid = gShoactiveWidget.NewGrid("tmp grid", 2, 3) + }) + + setActiveWidget(g) +} + +func (n *Node) debugAddWidgetButtons() { + n.NewButton("Button", func () { + a := activeWidget.NewButton("myButton", nil) a.Custom = func () { - log("custom checkox func a =", a.widget.B, a.id) + log("this code is more better", a.widget.B, "id=", a.id) } - DebugWidgetWindow(a) }) - gList.NewButton("Label", func () { - a := gShow.NewLabel("mylabel") - DebugWidgetWindow(a) + n.NewButton("Checkbox", func () { + a := activeWidget.NewCheckbox("myCheckbox") + a.Custom = func () { + log("custom checkox func a=", a.widget.B, "id=", a.id) + } + }) + n.NewButton("Label", func () { + activeWidget.NewLabel("mylabel") }) - gList.NewButton("Textbox", func () { - a := gShow.NewTextbox("mytext") + n.NewButton("Textbox", func () { + a := activeWidget.NewTextbox("mytext") a.Custom = func () { - log("custom TextBox() a =", a.widget.S, a.id) + log("custom TextBox() a =", a.widget.S, "id=", a.id) } - DebugWidgetWindow(a) }) - gList.NewButton("Slider", func () { - a := gShow.NewSlider("tmp slider", 10, 55) + n.NewButton("Slider", func () { + a := activeWidget.NewSlider("tmp slider", 10, 55) a.Custom = func () { - log("custom slider() a =", a.widget.I, a.id) + log("custom slider() a =", a.widget.I, "id=", a.id) } - DebugWidgetWindow(a) }) - gList.NewButton("Spinner", func () { - a := gShow.NewSpinner("tmp spinner", 6, 32) + n.NewButton("Spinner", func () { + a := activeWidget.NewSpinner("tmp spinner", 6, 32) a.Custom = func () { - log("custom spinner() a =", a.widget.I, a.id) + log("custom spinner() a =", a.widget.I, "id=", a.id) } - DebugWidgetWindow(a) }) - gList.NewButton("Dropdown", func () { - a := gShow.NewDropdown("tmp dropdown") + n.NewButton("Dropdown", func () { + a := activeWidget.NewDropdown("tmp dropdown") a.AddDropdownName("this is better than tcl/tk") a.AddDropdownName("make something for tim") a.AddDropdownName("for qflow") a.Add("and for riscv") a.Custom = func () { - log("custom dropdown() a =", a.widget.Name, a.widget.S) + log("custom dropdown() a =", a.widget.Name, a.widget.S, "id=", a.id) } - DebugWidgetWindow(a) }) - gList.NewButton("Combobox", func () { - a := gShow.NewCombobox("tmp combobox") + n.NewButton("Combobox", func () { + a := activeWidget.NewCombobox("tmp combobox") a.Add("mirrors.wit.com") a.Add("go.wit.org") a.Custom = func () { - log("custom combobox() a =", a.widget.Name, a.widget.S) + log("custom combobox() a =", a.widget.Name, a.widget.S, "id=", a.id) } - DebugWidgetWindow(a) }) - gList.NewButton("Grid", func () { + n.NewButton("Grid", func () { // Grid numbering by (X,Y) // ----------------------------- // -- (1,1) -- (2,1) -- (3,1) -- // -- (1,2) -- (2,1) -- (3,1) -- // ----------------------------- - SetDebug(true) - debugGrid = gShow.NewGrid("tmp grid", 2, 3) - debugGrid.NewLabel("mirrors.wit.com") - SetDebug(false) - DebugWidgetWindow(debugGrid) - }) - gList.NewButton("Image", func () { - a := gShow.NewTextbox("image") - DebugWidgetWindow(a) - }) -} - -func DebugWidgetWindow(w *Node) { - var win, g *Node - - title := "ID =" + strconv.Itoa(w.id) + " " + w.widget.Name - - Config.Title = title - Config.Width = 300 - Config.Height = 400 - win = NewWindow() - win.Custom = w.StandardClose - g = win.NewGroup("Actions") - - g.NewLabel(title) - g.NewButton("Dump()", func () { - w.Dump() - }) - g.NewButton("Disable()", func () { - w.widget.Action = "Disable" - send(w.parent, w) - }) - g.NewButton("Enable()", func () { - w.widget.Action = "Enable" - send(w.parent, w) - }) - g.NewButton("Show()", func () { - w.widget.Action = "Show" - send(w.parent, w) - }) - g.NewButton("Hide()", func () { - w.widget.Action = "Hide" - send(w.parent, w) - }) - g.NewButton("Value()", func () { - log("w.B =", w.widget.B) - log("w.I =", w.widget.I) - log("w.S =", w.widget.S) + // SetDebug(true) + debugGrid = activeWidget.NewGrid("tmp grid", 2, 3) + debugGridLabel = debugGrid.NewLabel("mirrors.wit.com") + // SetDebug(false) + DebugWidgetWindow(debugGrid) }) - g.NewButton("Set Value(20)", func () { - w.widget.Action = "Set" - w.widget.B = true - w.widget.I = 20 - w.widget.S = "Set Value(20)" - send(w.parent, w) + n.NewButton("Image", func () { + activeWidget.NewImage("image") }) - g.NewButton("Add('foo')", func () { - w.widget.Action = "Add" - w.widget.S = "foo" - send(w.parent, w) + n.NewButton("Tab", func () { + activeWidget.NewTab("myTab") }) - g.NewButton("Delete('foo')", func () { - w.widget.Action = "Delete" - w.widget.S = "foo" - send(w.parent, w) - }) - g.NewButton("SetMargin(true)", func () { - w.widget.Action = "SetMargin" - w.widget.B = true - send(w.parent, w) - }) - g.NewButton("SetMargin(false)", func () { - w.widget.Action = "SetMargin" - w.widget.B = false - send(w.parent, w) + n.NewButton("Group", func () { + a := activeWidget.NewGroup("myGroup") + a.Custom = func () { + log("this code is more better", a.widget.B, "id=", a.id) + } }) - g.NewButton("Add button to (1,1)", func () { - w.widget.Action = "AddGrid" - w.widget.B = false - send(w.parent, w) + n.NewButton("Box(horizontal)", func () { + a := activeWidget.NewBox("hBox", true) + a.Custom = func () { + log("this code is more better", a.widget.B, "id=", a.id) + } }) - g.NewButton("Delete()", func () { - Delete(w) + n.NewButton("Box(vertical)", func () { + a := activeWidget.NewBox("vBox", true) + a.Custom = func () { + log("this code is more better", a.widget.B, "id=", a.id) + } }) } |
