diff options
| author | Jeff Carr <[email protected]> | 2025-01-31 09:02:35 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-01-31 13:47:45 -0600 |
| commit | 9f38585892d08690dde1b67b9a01006af308a949 (patch) | |
| tree | 6f1d57dbee43651a85f7104fbfe9b08bb22afab0 /draw.go | |
| parent | 1a1881aa4e39e256126972c0cbe7f0db93ee20ec (diff) | |
I'm trying to make this clearer to understand
Diffstat (limited to 'draw.go')
| -rw-r--r-- | draw.go | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/draw.go b/draw.go deleted file mode 100644 index 5b92d9e..0000000 --- a/draw.go +++ /dev/null @@ -1,112 +0,0 @@ -package main - -import ( - "errors" - "fmt" - "strconv" - - "github.com/awesome-gocui/gocui" - log "go.wit.com/log" -) - -var toggle bool = true - -func (w *guiWidget) DrawAt(offsetW, offsetH int) { - w.setColor(&colorActiveW) - w.placeWidgets(offsetW, offsetH) // compute the sizes & places for each widget - w.active = false - w.showWidgets() -} - -func (w *guiWidget) toggleTree() { - if toggle { - w.drawTree(toggle) - toggle = false - } else { - w.hideWidgets() - toggle = true - } -} - -// display the widgets in the binary tree -func (w *guiWidget) drawTree(draw bool) { - if w == nil { - return - } - w.showWidgetPlacement("drawTree()") - if draw { - // w.textResize() - w.Show() - } else { - w.Hide() - } - - for _, child := range w.children { - child.drawTree(draw) - } -} - -// display's the text of the widget in gocui -// deletes the old view if it exists and recreates it -func (w *guiWidget) drawView() { - var err error - log.Log(INFO, "drawView() START", w.WidgetType, w.String()) - if me.baseGui == nil { - log.Log(ERROR, "drawView() ERROR: me.baseGui == nil", w) - return - } - - if w.cuiName == "" { - log.Log(ERROR, "drawView() w.cuiName was not set for widget", w) - w.cuiName = strconv.Itoa(w.node.WidgetId) + " TK" - } - log.Log(INFO, "drawView() labelN =", w.labelN) - - // this deletes the button from gocui - me.baseGui.DeleteView(w.cuiName) - w.v = nil - - w.textResize() - a := w.gocuiSize.w0 - b := w.gocuiSize.h0 - c := w.gocuiSize.w1 - d := w.gocuiSize.h1 - - w.v, err = me.baseGui.SetView(w.cuiName, a, b, c, d, 0) - if err == nil { - w.showWidgetPlacement("drawView()") - log.Log(ERROR, "drawView() internal plugin error err = nil") - return - } - if !errors.Is(err, gocui.ErrUnknownView) { - w.showWidgetPlacement("drawView()") - log.Log(ERROR, "drawView() internal plugin error error.IS()", err) - return - } - - // this sets up the keybinding for the name of the window - // does this really need to be done? I think we probably already - // know everything about where all the widgets are so we could bypass - // the gocui package and just handle all the mouse events internally here (?) - // for now, the w.v.Name is a string "1", "2", "3", etc from the widgetId - - // set the binding for this gocui view now that it has been created - // gocui handles overlaps of views so it will run on the view that is clicked on - me.baseGui.SetKeybinding(w.v.Name(), gocui.MouseLeft, gocui.ModNone, click) - - // this actually sends the text to display to gocui - w.v.Wrap = true - w.v.Frame = w.frame - w.v.Clear() - fmt.Fprint(w.v, w.labelN) - - // if you don't do this here, it will be black & white only - if w.color != nil { - w.v.FrameColor = w.color.frame - w.v.FgColor = w.color.fg - w.v.BgColor = w.color.bg - w.v.SelFgColor = w.color.selFg - w.v.SelBgColor = w.color.selBg - } - log.Log(INFO, "drawView() END") -} |
