From b257b05f7bd4e431f3fa8a1eeec30c73f6eac865 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Wed, 19 Feb 2025 02:48:20 -0600 Subject: string rows --- table.go | 72 +++++++++++++++++++++++++++++++++++++++++++++----------------- textbox.go | 1 - 2 files changed, 53 insertions(+), 20 deletions(-) diff --git a/table.go b/table.go index 35d64c9..35d490a 100644 --- a/table.go +++ b/table.go @@ -74,16 +74,12 @@ type NodeTable struct { // pb *guipb.Table } -func (t *NodeTable) ShowTable(pb *guipb.Table) { - log.Info("gui.ShowTable") +func ShowTable(pb *guipb.Table) { // make a new action and populate the current node state - a := getNewAction(t.n, widget.Show) - /* - if t.pb == nil { - log.Info("error: TablePB == nil") - return - } - */ + a := getNewAction(me.rootNode, widget.Show) + + makeTableWidgets(pb) + nt := guipb.NewTables() nt.Append(pb) a.TablePB, err = nt.Marshal() @@ -91,17 +87,55 @@ func (t *NodeTable) ShowTable(pb *guipb.Table) { log.Info("unmarshal error", err) return } - log.Info("send action to plugin", t.n.label, "pb len =", len(a.TablePB)) + log.Info("send action to plugin", "pb len =", len(a.TablePB)) sendActionToPlugin(a) - /* - newNode := parent.newNode(name, widget.Button) - newNode.Custom = custom - newNode.label = name - newNode.progname = name +} - // inform the toolkits - sendAction(newNode, widget.Add) - */ - // return newNode +func makeTableWidgets(pb *guipb.Table) { + if pb == nil { + log.Info("pb was nil") + return + } + if me.rootNode == nil { + log.Info("me.rootNode was nil") + return + } + win := addNode() + pb.Window = new(guipb.Widget) + pb.Window.Id = int64(win.id) + pb.Window.Name = pb.Title + + grid := addNode() + pb.Grid = new(guipb.Widget) + pb.Grid.Id = int64(grid.id) + for i, r := range pb.StringRows { + log.Info("gui: got string row:", pb.Title, i, r.Header, r.Vals) + for _, v := range r.Vals { + label := addNode() + pbwidget := new(guipb.Widget) + pbwidget.Id = int64(label.id) + pbwidget.Name = v + r.WidgetS = append(r.WidgetS, pbwidget) + log.Info("gui: added new WidgetS", pbwidget) + } + } + for i, r := range pb.IntRows { + log.Info("gui: got int row:", i, r.Header, r.Vals) + } } + +/* +func (t *NodeTable) ShowTable(pb *guipb.Table) { + log.Info("gui.ShowTable") + // make a new action and populate the current node state + a := getNewAction(t.n, widget.Show) + a.TablePB, err = nt.Marshal() + if err != nil { + log.Info("unmarshal error", err) + return + } + log.Info("send action to plugin", t.n.label, "pb len =", len(a.TablePB)) + sendActionToPlugin(a) +} +*/ diff --git a/textbox.go b/textbox.go index 2b28fae..48557b4 100644 --- a/textbox.go +++ b/textbox.go @@ -2,7 +2,6 @@ package gui import ( "go.wit.com/log" - "go.wit.com/widget" ) -- cgit v1.2.3