pass buttons to the plugins
This commit is contained in:
parent
15100aad3e
commit
154c750e02
41
table.go
41
table.go
|
@ -17,12 +17,6 @@ import (
|
||||||
"google.golang.org/protobuf/types/known/timestamppb"
|
"google.golang.org/protobuf/types/known/timestamppb"
|
||||||
)
|
)
|
||||||
|
|
||||||
// repeated string order = 1;
|
|
||||||
//
|
|
||||||
// repeated StringRow StringRows = 2;
|
|
||||||
// repeated IntRow IntRows = 3;
|
|
||||||
// repeated TimeRow TimeRows = 4;
|
|
||||||
// repeated BoolRow BoolRows = 5;
|
|
||||||
func (me *TreeInfo) doTable(a widget.Action) {
|
func (me *TreeInfo) doTable(a widget.Action) {
|
||||||
if a.TablePB == nil {
|
if a.TablePB == nil {
|
||||||
log.Log(TREE, "tree: action didn't have a Table PB")
|
log.Log(TREE, "tree: action didn't have a Table PB")
|
||||||
|
@ -89,6 +83,21 @@ func (grid *Node) makeGridLabel(pb *guipb.Widget, w int, h int) *Node {
|
||||||
return addNode(a)
|
return addNode(a)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (grid *Node) makeGridButton(pb *guipb.Widget, w int, h int) *Node {
|
||||||
|
a := new(widget.Action)
|
||||||
|
a.WidgetType = widget.Button
|
||||||
|
a.WidgetId = int(pb.Id)
|
||||||
|
a.ParentId = grid.WidgetId
|
||||||
|
a.State.Enable = true
|
||||||
|
a.State.Label = pb.Name
|
||||||
|
a.State.AtW = w
|
||||||
|
a.State.AtH = h
|
||||||
|
a.State.GridOffset.X = w
|
||||||
|
a.State.GridOffset.Y = h
|
||||||
|
// log.Info("makeGridLabel()", a.State)
|
||||||
|
return addNode(a)
|
||||||
|
}
|
||||||
|
|
||||||
func (me *TreeInfo) updateTable(t *guipb.Table) {
|
func (me *TreeInfo) updateTable(t *guipb.Table) {
|
||||||
grid := FindWidgetId(int(t.Grid.Id))
|
grid := FindWidgetId(int(t.Grid.Id))
|
||||||
if grid == nil {
|
if grid == nil {
|
||||||
|
@ -114,6 +123,7 @@ func (me *TreeInfo) updateTable(t *guipb.Table) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
func (me *TreeInfo) updateRow(t *guipb.Table, name string) {
|
func (me *TreeInfo) updateRow(t *guipb.Table, name string) {
|
||||||
for _, r := range t.StringRows {
|
for _, r := range t.StringRows {
|
||||||
if name == r.Header.Name {
|
if name == r.Header.Name {
|
||||||
|
@ -175,6 +185,7 @@ func (me *TreeInfo) updateRow(t *guipb.Table, name string) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
func (me *TreeInfo) makeTable(t *guipb.Table) {
|
func (me *TreeInfo) makeTable(t *guipb.Table) {
|
||||||
var grid *Node
|
var grid *Node
|
||||||
|
@ -226,6 +237,24 @@ func (me *TreeInfo) addTableRow(t *guipb.Table, grid *Node, name string, w int)
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for _, r := range t.ButtonRows {
|
||||||
|
if name != r.Header.Name {
|
||||||
|
// log.Info("skip string row:", r.Header.Name, "!=", name)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
// log.Info("tree: Add()ing to grid here", r.Header.Id, r.Header.Name, w, h)
|
||||||
|
head := grid.makeGridLabel(r.Header, w, h)
|
||||||
|
me.Add(head)
|
||||||
|
h += 1
|
||||||
|
for _, v := range r.Widgets {
|
||||||
|
// log.Info("tree: Add()ing to grid here", v.Id, v.Name, w, h)
|
||||||
|
lab := grid.makeGridButton(v, w, h)
|
||||||
|
me.Add(lab)
|
||||||
|
h += 1
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
for _, r := range t.IntRows {
|
for _, r := range t.IntRows {
|
||||||
if name != r.Header.Name {
|
if name != r.Header.Name {
|
||||||
// log.Info("skip sint row:", r.Header.Name, "!=", name)
|
// log.Info("skip sint row:", r.Header.Name, "!=", name)
|
||||||
|
|
Loading…
Reference in New Issue