summaryrefslogtreecommitdiff
path: root/plugin.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-01-30 01:20:36 -0600
committerJeff Carr <[email protected]>2024-01-30 01:20:36 -0600
commit50fe92a1b184a12d25fe8f65c1743d6189498501 (patch)
treefde04e837c29922f28ab03953ade64b0bb9e1d83 /plugin.go
parent55735daeec1e033534b6d626e9719d23c6af6027 (diff)
delete window
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'plugin.go')
-rw-r--r--plugin.go27
1 files changed, 26 insertions, 1 deletions
diff --git a/plugin.go b/plugin.go
index ebe5ae3..223d4e5 100644
--- a/plugin.go
+++ b/plugin.go
@@ -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")