diff options
| -rw-r--r-- | toolkit/gocui/click.go | 35 | ||||
| -rw-r--r-- | toolkit/gocui/debug.go | 1 | ||||
| -rw-r--r-- | toolkit/gocui/help.go | 1 | ||||
| -rw-r--r-- | toolkit/gocui/place.go | 2 |
4 files changed, 29 insertions, 10 deletions
diff --git a/toolkit/gocui/click.go b/toolkit/gocui/click.go index bcc6b85..8e9f2f7 100644 --- a/toolkit/gocui/click.go +++ b/toolkit/gocui/click.go @@ -27,13 +27,14 @@ func (w *cuiWidget) doWidgetClick() { // w.toggleTree() // me.rootNode.redoColor(true) case toolkit.Box: - w.showWidgetPlacement(logNow, "drawTree()") + // w.showWidgetPlacement(logNow, "drawTree()") if (w.horizontal) { log("BOX IS HORIZONTAL", w.nextW, w.nextH, w.name) } else { log("BOX IS VERTICAL", w.nextW, w.nextH, w.name) } - // w.redoBox(true) + w.redoBox(true) + w.toggleTree() default: // w.textResize() // something @@ -116,13 +117,17 @@ func click(g *gocui.Gui, v *gocui.View) error { // display the widgets in the binary tree func ctrlDown(g *gocui.Gui, v *gocui.View) error { + var found *cuiWidget var widgets []*cuiWidget var f func (widget *cuiWidget) w, h := g.MousePosition() + // find buttons that are below where the mouse button click f = func(widget *cuiWidget) { - if ((widget.logicalSize.w0 < w) && (w < widget.logicalSize.w1)) { + // if ((widget.logicalSize.w0 < w) && (w < widget.logicalSize.w1)) { + if ((widget.realSize.w0 < w) && (w < widget.realSize.w1)) { widgets = append(widgets, widget) + found = widget } for _, child := range widget.children { @@ -139,12 +144,26 @@ func ctrlDown(g *gocui.Gui, v *gocui.View) error { t = strings.TrimSpace(t) if (me.ctrlDown == nil) { setupCtrlDownWidget() + me.ctrlDown.text = "ctrlDown" // t + me.ctrlDown.cuiName = "ctrlDown" + me.ctrlDown.parent = me.rootNode + } + if (found == nil) { + found = me.rootNode + } + me.ctrlDown.realSize.w0 = found.logicalSize.w0 + me.ctrlDown.realSize.w1 = found.logicalSize.w1 + me.ctrlDown.realSize.h0 = found.logicalSize.h0 + me.ctrlDown.realSize.h1 = found.logicalSize.h1 + // me.ctrlDown.textResize() + + if (me.ctrlDown.v == nil) { + me.ctrlDown.text = found.text + me.ctrlDown.showWidgetPlacement(logNow, "drawTree()") + me.ctrlDown.drawView() + } else { + me.ctrlDown.deleteView() } - me.ctrlDown.text = t - me.ctrlDown.realSize.w0 = w - me.ctrlDown.realSize.h0 = h - me.ctrlDown.textResize() - me.ctrlDown.drawView() /* v, err := g.SetView("ctrlDown", maxX/2-10, maxY/2, maxX/2+10, maxY/2+2, 0) diff --git a/toolkit/gocui/debug.go b/toolkit/gocui/debug.go index d6ba494..e79b1be 100644 --- a/toolkit/gocui/debug.go +++ b/toolkit/gocui/debug.go @@ -45,7 +45,6 @@ func (w *cuiWidget) showWidgetPlacement(b bool, s string) { log(logError, "showWidgetPlacement() WTF parent == nil", w.id, w.cuiName) log(logError, "showWidgetPlacement() WTF parent == nil", w.id, w.cuiName) log(logError, "showWidgetPlacement() WTF parent == nil", w.id, w.cuiName) - return } log(b, "dump()", s, fmt.Sprintf("(wId,pId)=(%3d,%3d)", w.id, w.parent.id), diff --git a/toolkit/gocui/help.go b/toolkit/gocui/help.go index 8796ad6..656eefa 100644 --- a/toolkit/gocui/help.go +++ b/toolkit/gocui/help.go @@ -35,6 +35,7 @@ func helplayout(g *gocui.Gui) error { fmt.Fprintln(help, "Arrow keys: Move Button") fmt.Fprintln(help, "t: Move Button to the top") fmt.Fprintln(help, "b: Move Button to the button") + fmt.Fprintln(help, "d: show/hide debugging") fmt.Fprintln(help, "h: hide buttons") fmt.Fprintln(help, "s: show buttons") fmt.Fprintln(help, "p: panic()") diff --git a/toolkit/gocui/place.go b/toolkit/gocui/place.go index 9445e40..c51d69f 100644 --- a/toolkit/gocui/place.go +++ b/toolkit/gocui/place.go @@ -5,7 +5,7 @@ import ( "git.wit.org/wit/gui/toolkit" ) -var fakeStartWidth int = 10 +var fakeStartWidth int = 40 var fakeStartHeight int = 3 func (w *cuiWidget) setFake() { if (w.isFake == false) { |
