From af41bdfc59a2b621bd36ccd21a6f03ba371e54f2 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Wed, 26 Apr 2023 16:06:55 -0500 Subject: [PATCH] gocui: update on add kinda working now Signed-off-by: Jeff Carr --- toolkit/gocui/add.go | 3 +++ toolkit/gocui/click.go | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/toolkit/gocui/add.go b/toolkit/gocui/add.go index c649da5..3020c83 100644 --- a/toolkit/gocui/add.go +++ b/toolkit/gocui/add.go @@ -80,6 +80,9 @@ func (w *cuiWidget) addWidget() { default: w.startW = w.parent.startW w.startH = w.parent.startH + if w.IsCurrent() { + w.updateCurrent() + } } w.showWidgetPlacement(logInfo, "addWidget()") } diff --git a/toolkit/gocui/click.go b/toolkit/gocui/click.go index f0f325e..1da32e9 100644 --- a/toolkit/gocui/click.go +++ b/toolkit/gocui/click.go @@ -25,6 +25,28 @@ func updateCurrentTabs() { me.rootNode.redoTabs(true) } +// when adding a new widget, this will update the display +// of the current widgets if that widget is supposed +// to be in current display +func (w *cuiWidget) updateCurrent() { + if w.widgetType == toolkit.Tab { + if w.IsCurrent() { + setCurrentTab(w) + } + return + } + if w.widgetType == toolkit.Window { + if w.IsCurrent() { + setCurrentWindow(w) + } + return + } + if w.widgetType == toolkit.Root { + return + } + w.parent.updateCurrent() +} + // shows the widgets in a window func setCurrentWindow(w *cuiWidget) { if w.widgetType != toolkit.Window {