summaryrefslogtreecommitdiff
path: root/toolkit/gocui/button.go
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/gocui/button.go')
-rw-r--r--toolkit/gocui/button.go37
1 files changed, 22 insertions, 15 deletions
diff --git a/toolkit/gocui/button.go b/toolkit/gocui/button.go
index 8fb6e05..5b41c48 100644
--- a/toolkit/gocui/button.go
+++ b/toolkit/gocui/button.go
@@ -7,42 +7,49 @@ import (
"strings"
"github.com/awesome-gocui/gocui"
+ "git.wit.org/wit/gui/toolkit"
)
-func (w *Widget) AddButton() {
-// func (g greeting) AddButton() {
+func NewButton(parentW *toolkit.Widget, w *toolkit.Widget) {
log.Println("gui.gocui.AddButton()", w.Name)
- addButton2(w.Name, w.Event)
+ addButton(w.Name)
+ // viewWidget[v] = w
+ stringWidget[w.Name] = w
+ listMap()
}
-func addButton2(name string, e func(*Widget) *Widget) {
- addButton(name)
-}
-
-func addButton(name string) error {
+func addButton(name string) *gocui.View {
t := len(name)
+ if (baseGui == nil) {
+ panic("WTF")
+ }
v, err := baseGui.SetView(name, currentX, currentY, currentX+t+3, currentY+2, 0)
if err == nil {
- return err
+ log.Println("wit/gui internal plugin error", err)
+ return nil
}
if !errors.Is(err, gocui.ErrUnknownView) {
- return err
+ log.Println("wit/gui internal plugin error", err)
+ return nil
}
v.Wrap = true
fmt.Fprintln(v, " " + name)
fmt.Fprintln(v, strings.Repeat("foo\n", 2))
- if _, err := baseGui.SetCurrentView(name); err != nil {
- return err
+ currentView, err := baseGui.SetCurrentView(name)
+ if err != nil {
+ log.Println("wit/gui internal plugin error", err)
+ return nil
}
+ log.Println("wit/gui addbutton() current view name =", currentView.Name())
views = append(views, name)
curView = len(views) - 1
idxView += 1
currentY += 3
- if (groupSize < len(views)) {
- groupSize = len(views)
+ if (groupSize < len(name)) {
+ groupSize = len(name)
}
- return nil
+ return currentView
}