table v1
This commit is contained in:
parent
e0775877c8
commit
a52e81354a
100
table.go
100
table.go
|
@ -5,6 +5,8 @@
|
|||
package tree
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"go.wit.com/lib/protobuf/guipb"
|
||||
"go.wit.com/log"
|
||||
"go.wit.com/widget"
|
||||
|
@ -26,15 +28,15 @@ func (me *TreeInfo) doTable(a widget.Action) {
|
|||
log.Info("unmarshal error", err, "data len =", len(a.TablePB))
|
||||
return
|
||||
}
|
||||
log.Info("dumpTables:")
|
||||
log.Info("tree.doTables() start. # of tables:", len(pb.Tables))
|
||||
all := pb.All()
|
||||
for all.Scan() {
|
||||
t := all.Next()
|
||||
for i, o := range t.Order {
|
||||
log.Info("got order:", t.Title, i, o)
|
||||
}
|
||||
dumpTable(t)
|
||||
me.ShowTable(t)
|
||||
// for i, o := range t.Order {
|
||||
// log.Info("got order:", t.Title, i, o)
|
||||
// }
|
||||
// dumpTable(t)
|
||||
// me.ShowTable(t)
|
||||
me.makeTable(t)
|
||||
}
|
||||
}
|
||||
|
@ -59,19 +61,91 @@ func (win *Node) makeWindowGrid(pb *guipb.Widget) *Node {
|
|||
return AddNode(a)
|
||||
}
|
||||
|
||||
func (grid *Node) makeGridLabel(pb *guipb.Widget, w int, h int) *Node {
|
||||
a := new(widget.Action)
|
||||
a.WidgetType = widget.Label
|
||||
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
|
||||
|
||||
return AddNode(a)
|
||||
}
|
||||
|
||||
func (me *TreeInfo) makeTable(t *guipb.Table) {
|
||||
win := makeTableWindow(t.Window)
|
||||
grid := win.makeWindowGrid(t.Grid)
|
||||
me.Add(win)
|
||||
me.Add(grid)
|
||||
log.Info("tree: makeTable() finished add win & grid")
|
||||
|
||||
for i, r := range t.StringRows {
|
||||
log.Info("got string row:", t.Title, i, r.Header, r.Vals)
|
||||
for _, v := range r.Widgets {
|
||||
log.Info("tree: add to grid here", v.Id, v.Name)
|
||||
var h int = 0
|
||||
var w int = 0
|
||||
for _, name := range t.Order {
|
||||
// log.Info("got order:", t.Title, name)
|
||||
if me.addTableRow(t, grid, name, w) {
|
||||
log.Info("tree:row() COLUMN GOOD", t.Title, name, w, h)
|
||||
} else {
|
||||
log.Info("tree:row() COLOMN FAIL", t.Title, name, w, h)
|
||||
}
|
||||
|
||||
w += 1
|
||||
}
|
||||
|
||||
/*
|
||||
for i, r := range t.StringRows {
|
||||
log.Info("got string row:", t.Title, i, r.Header, r.Vals)
|
||||
for _, v := range r.Widgets {
|
||||
log.Info("tree: add to grid here", v.Id, v.Name)
|
||||
lab := grid.makeGridLabel(v, w, h)
|
||||
me.Add(lab)
|
||||
h += 1
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
func (me *TreeInfo) addTableRow(t *guipb.Table, grid *Node, name string, w int) bool {
|
||||
var h int = 0
|
||||
for _, r := range t.StringRows {
|
||||
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.makeGridLabel(v, w, h)
|
||||
me.Add(lab)
|
||||
h += 1
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
for _, r := range t.IntRows {
|
||||
if name != r.Header.Name {
|
||||
// log.Info("skip sint 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 {
|
||||
v.Name = fmt.Sprintf("%d", v.Size)
|
||||
log.Info("tree: Add()ing to grid here", v.Id, v.Name, w, h)
|
||||
lab := grid.makeGridLabel(v, w, h)
|
||||
me.Add(lab)
|
||||
h += 1
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
func dumpTable(t *guipb.Table) {
|
||||
|
@ -79,13 +153,13 @@ func dumpTable(t *guipb.Table) {
|
|||
log.Info("got order:", t.Title, i, o)
|
||||
}
|
||||
for i, r := range t.StringRows {
|
||||
log.Info("got string row:", t.Title, i, r.Header, r.Vals)
|
||||
log.Info("got string row:", t.Title, i, r.Header.Name, r.Vals)
|
||||
for _, v := range r.Widgets {
|
||||
log.Info("tree: got string widget:", v.Id, v.Name)
|
||||
}
|
||||
}
|
||||
for i, r := range t.IntRows {
|
||||
log.Info("got int row:", t.Title, i, r.Header, r.Vals)
|
||||
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)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue