more work on the text entry

This commit is contained in:
Jeff Carr 2025-02-08 16:15:38 -06:00
parent 12d0e185cc
commit 419f4aef6a
1 changed files with 14 additions and 9 deletions

View File

@ -164,14 +164,13 @@ func (callertk *guiWidget) showTextbox() {
tk := me.textbox.tk
r := new(rectType)
// startW, startH := tk.Position()
r.w0 = 50
r.h0 = 20
r.w0 = callertk.gocuiSize.w0 + 4
r.h0 = callertk.gocuiSize.h0 + 3
r.w1 = r.w0 + 24
r.h1 = r.h0 + 2
me.textbox.tk.forceSizes(r)
me.textbox.tk.dumpWidget("after sizes")
me.textbox.tk.labelN = "holy cow"
me.textbox.tk.Show() // actually makes the gocui view. TODO: redo this
if me.textbox.tk.v == nil {
@ -196,19 +195,25 @@ func (callertk *guiWidget) showTextbox() {
// updates the text and sends an event back to the application
func (tk *guiWidget) textboxClosed() {
// get the text the user entered
newname := "testing"
newtext := "testing"
if me.textbox.tk.v == nil {
newname = "wtf"
newtext = ""
} else {
newname = me.textbox.tk.v.ViewBuffer()
newtext = me.textbox.tk.v.ViewBuffer()
}
newtext = strings.TrimSpace(newtext)
me.textbox.active = false
tk.Hide()
log.Info("textbox closed", newname)
log.Info("textbox closed", newtext)
if me.clock.tk.v != nil {
me.baseGui.SetCurrentView("help")
} else {
me.baseGui.SetCurrentView("msg")
}
// change the text of the caller widget
me.textbox.callerTK.SetText(newname)
me.textbox.callerTK.node.SetCurrentS(newname)
me.textbox.callerTK.SetText(newtext)
me.textbox.callerTK.node.SetCurrentS(newtext)
// send an event from the plugin with the new string
me.myTree.SendUserEvent(me.textbox.callerTK.node)