diff options
| author | Jeff Carr <[email protected]> | 2024-01-30 01:20:36 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2024-01-30 01:20:36 -0600 |
| commit | 50fe92a1b184a12d25fe8f65c1743d6189498501 (patch) | |
| tree | fde04e837c29922f28ab03953ade64b0bb9e1d83 /plugin.go | |
| parent | 55735daeec1e033534b6d626e9719d23c6af6027 (diff) | |
delete window
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'plugin.go')
| -rw-r--r-- | plugin.go | 27 |
1 files changed, 26 insertions, 1 deletions
@@ -75,12 +75,37 @@ func action(a widget.Action) { } else { // widget was already hidden } + case widget.Delete: + if w == nil { + return + } else { + w.hideWidgets() + w.deleteNode() + } + n.DeleteNode() + wRoot := me.treeRoot.TK.(*guiWidget) + wRoot.redoWindows(0, 0) default: - log.Log(ERROR, "action() ActionType =", a.ActionType, "WidgetType =", a.WidgetType, "Name =", a.ProgName) + log.Log(ERROR, "action() UNKNOWN Action Type =", a.ActionType, "WidgetType =", a.WidgetType, "Name =", a.ProgName) } log.Log(INFO, "action() END") } +func (w *guiWidget) deleteNode() { + p := w.parent + for i, child := range p.children { + log.Log(NOW, "parent has child:", i, child.cuiName, child.String()) + if w == child { + log.Log(NOW, "Found child ==", i, child.cuiName, child.String()) + log.Log(NOW, "Found n ==", i, w.cuiName, w.String()) + p.children = append(p.children[:i], p.children[i+1:]...) + } + } + for i, child := range p.children { + log.Log(NOW, "parent now has child:", i, child.cuiName, child.String()) + } +} + func (w *guiWidget) AddText(text string) { if w == nil { log.Log(NOW, "widget is nil") |
