diff options
Diffstat (limited to 'action.go')
| -rw-r--r-- | action.go | 31 |
1 files changed, 31 insertions, 0 deletions
@@ -5,6 +5,8 @@ package tree import ( + "os" + "go.wit.com/lib/protobuf/guipb" "go.wit.com/log" "go.wit.com/widget" @@ -27,6 +29,35 @@ func (me *TreeInfo) doAction(a widget.Action) { me.ToolkitInit() return } + if a.WidgetPB != nil { + log.Log(TREEWARN, "tree: got a WidgetPB") + widgetpb := new(guipb.Widgets) + err := widgetpb.Unmarshal(a.WidgetPB) + if err != nil { + log.Log(TREEWARN, "WidgetPB unmarshal err", err) + return + } + log.Log(TREEWARN, "tree: unmarshal worked!") + var wind *Node + newa := new(widget.Action) + newa.WidgetType = widget.Window + newa.WidgetId = -234 + newa.ParentId = -1234 + newa.State.Enable = true + wind = addNode(newa) + if wind == nil { + log.Log(TREEWARN, "tree: addNode() failed to add win") + return + } + wind.State.ProgName = "WinPB" + wind.State.Label = "WinPB" + me.Add(wind) + me.doWidgetsPB(widgetpb.Tree) + me.ToolkitClose() + os.Exit(0) + // me.doTable(a) + return + } if a.TablePB != nil { log.Log(TREE, "tree: got a TablePB") me.doTable(a) |
