summaryrefslogtreecommitdiff
path: root/table.go
diff options
context:
space:
mode:
Diffstat (limited to 'table.go')
-rw-r--r--table.go17
1 files changed, 15 insertions, 2 deletions
diff --git a/table.go b/table.go
index 7fc5322..5d13d5a 100644
--- a/table.go
+++ b/table.go
@@ -15,6 +15,7 @@ import (
"google.golang.org/protobuf/proto"
"google.golang.org/protobuf/types/known/anypb"
"google.golang.org/protobuf/types/known/timestamppb"
+ "google.golang.org/protobuf/types/known/wrapperspb"
)
func (me *TreeInfo) doTable(a widget.Action) {
@@ -264,7 +265,11 @@ func (me *TreeInfo) addTableRow(t *guipb.Table, grid *Node, name string, w int)
me.Add(head)
h += 1
for _, v := range r.Widgets {
- v.Name = fmt.Sprintf("%d", v.Size)
+ vi, err := extractInt64(v.Val)
+ if err != nil {
+ log.Log(TREEWARN, "int error", err)
+ }
+ v.Name = fmt.Sprintf("%d", vi)
// log.Info("tree: Add()ing to grid here", v.Id, v.Name, w, h)
lab := grid.makeGridLabel(v, w, h)
me.Add(lab)
@@ -308,6 +313,14 @@ func (me *TreeInfo) addTableRow(t *guipb.Table, grid *Node, name string, w int)
return false
}
+func extractInt64(anyVal *anypb.Any) (int64, error) {
+ val := &wrapperspb.Int64Value{}
+ if err := anyVal.UnmarshalTo(val); err != nil {
+ return 0, err
+ }
+ return val.Value, nil
+}
+
// returns true if widget is in a table
func (n *Node) InTable() bool {
// log.Info("InTable() parent id =", n.ParentId)
@@ -337,7 +350,7 @@ func dumpTable(t *guipb.Table) {
for i, r := range t.IntRows {
log.Info("got int row:", t.Title, i, r.Header.Name, r.Vals)
for _, v := range r.Widgets {
- log.Info("tree: got int widget:", v.Id, v.Size)
+ log.Info("tree: got int widget:", v.Id, v.Val)
}
}
}