gocui: preliminary log() output window
Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
parent
74bdf03b76
commit
2fec7356ea
|
@ -1,7 +1,9 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os"
|
||||
"strings"
|
||||
witlog "git.wit.org/wit/gui/log"
|
||||
)
|
||||
|
||||
|
@ -12,9 +14,24 @@ var logWarn bool = false
|
|||
var logInfo bool = false
|
||||
var logVerbose bool = false
|
||||
|
||||
var outputS []string
|
||||
|
||||
func log(a ...any) {
|
||||
witlog.Where = "wit/gocui"
|
||||
witlog.Log(a...)
|
||||
s := fmt.Sprint(a...)
|
||||
tmp := strings.Split(s, "\n")
|
||||
outputS = append(outputS, tmp...)
|
||||
if (len(outputS) > 50) {
|
||||
outputS = outputS[10:]
|
||||
}
|
||||
if (me.baseGui != nil) {
|
||||
v, _ := me.baseGui.View("msg")
|
||||
if (v != nil) {
|
||||
v.Clear()
|
||||
fmt.Fprintln(v, strings.Join(outputS, "\n"))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func sleep(a ...any) {
|
||||
|
|
|
@ -11,12 +11,15 @@ import (
|
|||
"github.com/awesome-gocui/gocui"
|
||||
)
|
||||
|
||||
var outputW int = 80
|
||||
var outputH int = 24
|
||||
|
||||
func moveMsg(g *gocui.Gui) {
|
||||
mx, my := g.MousePosition()
|
||||
if !movingMsg && (mx != initialMouseX || my != initialMouseY) {
|
||||
movingMsg = true
|
||||
}
|
||||
g.SetView("msg", mx-xOffset, my-yOffset, mx-xOffset+20, my-yOffset+7, 0)
|
||||
g.SetView("msg", mx-xOffset, my-yOffset, mx-xOffset+outputW, my-yOffset+outputH, 0)
|
||||
}
|
||||
|
||||
func showMsg(g *gocui.Gui, v *gocui.View) error {
|
||||
|
@ -31,14 +34,16 @@ func showMsg(g *gocui.Gui, v *gocui.View) error {
|
|||
if l, err = v.Line(cy); err != nil {
|
||||
l = ""
|
||||
}
|
||||
// setOutput(me.rootNode)
|
||||
|
||||
maxX, maxY := g.Size()
|
||||
if v, err := g.SetView("msg", maxX/2-10, maxY/2, maxX/2+10, maxY/2+7, 0); err == nil || errors.Is(err, gocui.ErrUnknownView) {
|
||||
if v, err := g.SetView("msg", maxX/2, maxY/2, maxX/2+outputW, maxY/2+outputH, 0); err == nil || errors.Is(err, gocui.ErrUnknownView) {
|
||||
v.Clear()
|
||||
v.SelBgColor = gocui.ColorCyan
|
||||
v.SelFgColor = gocui.ColorBlack
|
||||
l += "foo\n" + "bar\n"
|
||||
fmt.Fprintln(v, l)
|
||||
}
|
||||
g.SetViewOnTop("msg")
|
||||
return nil
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue