summaryrefslogtreecommitdiff
path: root/draw.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-01-31 09:02:35 -0600
committerJeff Carr <[email protected]>2025-01-31 13:47:45 -0600
commit9f38585892d08690dde1b67b9a01006af308a949 (patch)
tree6f1d57dbee43651a85f7104fbfe9b08bb22afab0 /draw.go
parent1a1881aa4e39e256126972c0cbe7f0db93ee20ec (diff)
I'm trying to make this clearer to understand
Diffstat (limited to 'draw.go')
-rw-r--r--draw.go112
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")
-}