diff options
Diffstat (limited to 'node.go')
| -rw-r--r-- | node.go | 17 |
1 files changed, 16 insertions, 1 deletions
@@ -7,14 +7,26 @@ import ( /* generic function to create a new node on the binary tree + + this is called each time you want a new widget + and it initializes basic default values + + there isn't much to see here. */ func (n *Node) newNode(title string, t widget.WidgetType) *Node { var newN *Node newN = addNode() + newN.progname = title newN.value = title newN.WidgetType = t + // set these defaults + newN.expand = true + newN.pad = true + newN.enabled = true + newN.changed = true + if n.WidgetType == widget.Grid { n.gridIncrement() } @@ -28,7 +40,7 @@ func (n *Node) newNode(title string, t widget.WidgetType) *Node { } /* - raw create function for a new node struct + raw create function for a new node struct and increments the counter */ func addNode() *Node { n := new(Node) @@ -40,10 +52,13 @@ func addNode() *Node { } func (n *Node) Parent() *Node { + if ! n.Ready() { return n } return n.parent } func (n *Node) Delete(d *Node) { + if ! n.Ready() { return } + for i, child := range n.children { log.Log(NODE, "\t", i, child.id, child.progname) if (child.id == d.id) { |
