summaryrefslogtreecommitdiff
path: root/toolkit/gocui/structs.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2023-04-24 14:17:43 -0500
committerJeff Carr <[email protected]>2023-04-24 14:17:43 -0500
commit7bb10dfb029313a9d1694a68fef2beca10ce858b (patch)
tree60675838284639cfae3255935ac789a463ae4ec9 /toolkit/gocui/structs.go
parentcd998e95c1bae4e5e31ef9dced6d8f3c0095d46e (diff)
gocui: try to make struct defaults work
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'toolkit/gocui/structs.go')
-rw-r--r--toolkit/gocui/structs.go9
1 files changed, 7 insertions, 2 deletions
diff --git a/toolkit/gocui/structs.go b/toolkit/gocui/structs.go
index 4ee74c7..a9ceae9 100644
--- a/toolkit/gocui/structs.go
+++ b/toolkit/gocui/structs.go
@@ -131,6 +131,7 @@ type cuiWidget struct {
tainted bool
v *gocui.View
+ frame bool
// writeMutex protects locks the write process
writeMutex sync.Mutex
@@ -161,6 +162,7 @@ func (w *cuiWidget) Write(p []byte) (n int, err error) {
func Set(ptr interface{}, tag string) error {
if reflect.TypeOf(ptr).Kind() != reflect.Ptr {
+ log("Set() Not a pointer", ptr, "with tag =", tag)
return fmt.Errorf("Not a pointer")
}
@@ -168,9 +170,12 @@ func Set(ptr interface{}, tag string) error {
t := v.Type()
for i := 0; i < t.NumField(); i++ {
+ log("Set() i =", i, t.Field(i))
if defaultVal := t.Field(i).Tag.Get(tag); defaultVal != "-" {
+ log("Set() tried something")
if err := setField(v.Field(i), defaultVal); err != nil {
- return err
+ log("Set() failed", err)
+ // return err
}
}
@@ -181,7 +186,7 @@ func Set(ptr interface{}, tag string) error {
func setField(field reflect.Value, defaultVal string) error {
if !field.CanSet() {
- log("Can't set value\n")
+ log("setField() Can't set value", field, defaultVal)
return fmt.Errorf("Can't set value\n")
}