summaryrefslogtreecommitdiff
path: root/toolkit/gocui/add.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2023-04-26 14:52:54 -0500
committerJeff Carr <[email protected]>2023-04-26 14:52:54 -0500
commit8cb2100c2844af0307b27c2fac3185dcce410bf4 (patch)
treee4a73b6bf1b86d589e4078aa40e814011c69f5b0 /toolkit/gocui/add.go
parentd4b0b8b6b6e3141114ebb448438922192c725763 (diff)
gocui: more correct logic
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'toolkit/gocui/add.go')
-rw-r--r--toolkit/gocui/add.go18
1 files changed, 10 insertions, 8 deletions
diff --git a/toolkit/gocui/add.go b/toolkit/gocui/add.go
index 856b871..c649da5 100644
--- a/toolkit/gocui/add.go
+++ b/toolkit/gocui/add.go
@@ -44,16 +44,18 @@ func (w *cuiWidget) addWidget() {
w.setFake()
return
case toolkit.Window:
- w.setTabWH()
- w.showView()
+ me.current = w
+ updateCurrentTabs()
+ setCurrentWindow(w)
return
case toolkit.Tab:
- UnsetCurrent(me.rootNode)
- me.rootNode.hideWidgets()
- w.isCurrent = true
- w.parent.isCurrent = true
- w.placeWidgets()
- w.showWidgets()
+ // if this is the first tab, set it to the current one and stay here
+ if (me.current != nil) {
+ // there is already a current tab. just redraw the tabs
+ updateCurrentTabs()
+ return
+ }
+ setCurrentTab(w)
return
case toolkit.Box:
w.isFake = true