diff options
| author | Jeff Carr <[email protected]> | 2025-04-22 18:49:16 -0500 | 
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-04-22 18:49:16 -0500 | 
| commit | 4efbfa7a1dbbd3425f1ccf1a4ebeaf95305a3e57 (patch) | |
| tree | 3c5b25ae2ea9688b6cd270d30a9d021af18fe171 | |
| parent | 9669a63c5d7a2ed5727b2c6b47095308edd002d5 (diff) | |
fixing textboxes
| -rw-r--r-- | eventMouseClick.go | 3 | ||||
| -rw-r--r-- | eventMouseDrag.go | 10 | ||||
| -rw-r--r-- | textbox.go | 29 | 
3 files changed, 27 insertions, 15 deletions
diff --git a/eventMouseClick.go b/eventMouseClick.go index 0d46216..91b7465 100644 --- a/eventMouseClick.go +++ b/eventMouseClick.go @@ -27,7 +27,7 @@ func doMouseClick(w int, h int) {  		// can't drag or do anything when dropdown or textbox are visible  		for _, tk := range findByXY(w, h) {  			if tk.WidgetId() == me.dropdown.wId { -				log.Info("got dropdwon click", w, h, tk.cuiName) +				log.Info("got dropdown click", w, h, tk.cuiName)  				tk.dropdownClicked(w, h)  				return  			} @@ -107,6 +107,7 @@ func doMouseClick(w int, h int) {  			tk.showDropdown()  			return  		case widget.Textbox: +			log.Log(WARN, "TODO: textbox click")  			tk.prepTextbox()  			return  		case widget.Label: diff --git a/eventMouseDrag.go b/eventMouseDrag.go index 62aa916..00e0e57 100644 --- a/eventMouseDrag.go +++ b/eventMouseDrag.go @@ -111,15 +111,7 @@ func (tk *guiWidget) moveNew() {  		tk.makeWindowActive()  		return  	} -	/* -		if tk.WidgetType() == widget.Flag { -			me.baseGui.SetView(tk.cuiName, w-3, h-3, w+20, h+20, 0) -			// tk.verifyRect() -			s := fmt.Sprintf("move(%dx%d) %s ###", w, h, tk.cuiName) -			tk.dumpWidget(s) -			return -		} -	*/ +  	if tk.WidgetType() == widget.Stdout {  		if me.mouse.resize {  			newW := w - me.stdout.lastW @@ -40,7 +40,7 @@ func initTextbox() {  func (callertk *guiWidget) prepTextbox() {  	initTextbox()  	if me.textbox.tk == nil { -		log.Log(GOCUI, "prepTextbox() Is Broken") +		log.Log(WARN, "prepTextbox() Is Broken")  		return  	} @@ -51,21 +51,39 @@ func (callertk *guiWidget) prepTextbox() {  	r.w1 = r.w0 + 24  	r.h1 = r.h0 + 2  	me.textbox.tk.forceSizes(r) -	// me.textbox.tk.dumpWidget("after sizes") +	me.textbox.tk.dumpWidget("after sizes")  	me.textbox.callerTK = callertk -	// showTextbox(callertk.String()) +	/* +		if me.textbox.tk.v != nil { +			log.Log(WARN, "WARNING textbox DeleteView()") +			log.Log(WARN, "WARNING textbox DeleteView()") +			log.Log(WARN, "WARNING textbox DeleteView()") +			me.baseGui.DeleteView(me.textbox.tk.cuiName) +			time.Sleep(time.Second) +		} +	*/ + +	var err error +	me.textbox.tk.v, err = me.baseGui.SetView(me.textbox.tk.cuiName, r.w0, r.h0, r.w1, r.h1, 0) +	if err != nil { +		log.Log(WARN, "textbox SetView() failed", err, "view name =", me.textbox.tk.cuiName) +		return +	} +	// me.textbox.tk.Show() // actually makes the gocui view. TODO: redo this? +	showTextbox(callertk.String())  }  func showTextbox(callers string) {  	// tk := me.textbox.tk  	// me.textbox.tk.dumpWidget("after sizes") +	log.Log(WARN, "showTextbox() caller string =", callers)  	//	me.textbox.tk.Show() // actually makes the gocui view. TODO: redo this  	if me.textbox.tk.v == nil { -		log.Info("wtf went wrong") +		log.Log(WARN, "textbox.tk.v == nil showTextbox() is broken")  		return  	} @@ -87,7 +105,8 @@ func showTextbox(callers string) {  	me.textbox.active = true -	// me.textbox.dumpWidget("showTextbox()") +	me.baseGui.SetViewOnTop(me.textbox.tk.v.Name()) +	me.textbox.tk.dumpWidget("showTextbox()")  }  func theCloseTheTextbox(g *gocui.Gui, v *gocui.View) error {  | 
