summaryrefslogtreecommitdiff
path: root/window.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2022-10-20 06:55:42 -0500
committerJeff Carr <[email protected]>2022-10-20 06:55:42 -0500
commitb8ef0bb05dc14bc4291f3d156b199fa125cdb9d7 (patch)
tree71280d7f01805dfbd430f71df16858079686b8fc /window.go
parentf3af1f5b7ff78b3f73d7510622fc9633dec36d35 (diff)
Squashed commit of the following:
all non binary tree structs are gone (almost all) Use names from https://en.wikipedia.org/wiki/Graphical_widget toolkit andlabs/ui is isolated from being accessable all direct references to andlabs are removed working dropdown widgets add debugging more buttons and windows
Diffstat (limited to 'window.go')
-rw-r--r--window.go126
1 files changed, 10 insertions, 116 deletions
diff --git a/window.go b/window.go
index ee0f3df..d314444 100644
--- a/window.go
+++ b/window.go
@@ -2,103 +2,10 @@ package gui
import (
"log"
- "strconv"
-
-// "github.com/andlabs/ui"
-// _ "github.com/andlabs/ui/winmanifest"
)
import toolkit "git.wit.org/wit/gui/toolkit/andlabs"
-/*
-func MessageWindow(gw *GuiWindow, msg1 string, msg2 string) {
- ui.MsgBox(gw.UiWindow, msg1, msg2)
-}
-
-func ErrorWindow(gw *GuiWindow, msg1 string, msg2 string) {
- ui.MsgBoxError(gw.UiWindow, msg1, msg2)
-}
-*/
-
-func DeleteWindow(name string) {
- log.Println("gui.DeleteWindow() START name =", name)
- window := Data.WindowMap[name]
- if window == nil {
- log.Println("gui.DeleteWindow() NO WINDOW WITH name =", name)
- return
- }
-
- log.Println("gui.DumpBoxes() MAP: ", name)
- log.Println("gui.DumpBoxes()\tWindow.name =", window.Name)
- if window.TabNumber == nil {
- log.Println("gui.DumpBoxes() \tWindows.TabNumber = nil")
- }
- tab := *window.TabNumber
- log.Println("gui.DumpBoxes() \tWindows.TabNumber =", tab)
- log.Println("gui.DumpBoxes() \tSHOULD DELETE TAB", tab, "HERE")
- log.Println("gui.DeleteWindow() \tSHOULD DELETE TAB", tab, "HERE")
- log.Println("gui.DumpBoxes() \tUiTab =", window.UiTab)
- tabnum := window.UiTab.NumPages()
- log.Println("gui.DumpBoxes() \tUiTab.NumPages() =", tabnum)
- if (tabnum > 0) {
- window.UiTab.Delete(tab)
- }
- delete(Data.WindowMap, name)
-
- // renumber tabs here
- for name, window := range Data.WindowMap {
- log.Println("gui.DumpBoxes() MAP: ", name)
- if window.TabNumber == nil {
- log.Println("gui.DumpBoxes() \tWindows.TabNumber = nil")
- } else {
- log.Println("gui.DumpBoxes() \tWindows.TabNumber =", *window.TabNumber)
- if tab < *window.TabNumber {
- log.Println("gui.DumpBoxes() \tSubtracting 1 from TabNumber")
- *window.TabNumber -= 1
- log.Println("gui.DumpBoxes() \tWindows.TabNumber is now =", *window.TabNumber)
- }
- }
- }
-}
-
-// func mapWindowOld(parent *Node, window *ui.Window, title string, x int, y int) *Node {
-func mapWindow(title string, w int, h int) *Node {
- log.Println("gui.WindowMap START title =", title)
- if Data.WindowMap[title] != nil {
- log.Println("Data.WindowMap[title] already exists title =", title)
- title = title + Config.prefix + strconv.Itoa(Config.counter)
- Config.counter += 1
- }
- if Data.WindowMap[title] != nil {
- log.Println("Data.WindowMap[title] already exists title =", title)
- panic("Data.WindowMap[newGuiWindow.Name] already exists")
- return nil
- }
-
- var newGuiWindow GuiWindow
- newGuiWindow.Width = w
- newGuiWindow.Height = h
- newGuiWindow.Name = title
- // newGuiWindow.UiWindow = window
-
- newGuiWindow.BoxMap = make(map[string]*GuiBox)
- newGuiWindow.EntryMap = make(map[string]*GuiEntry)
-
- Data.WindowMap[newGuiWindow.Name] = &newGuiWindow
-
- var box GuiBox
- box.Window = &newGuiWindow
- box.Name = title
-
- node := addNode(title, w, h)
- node.box = &box
- box.node = node
-
- newGuiWindow.BoxMap["jcarrInitTest"] = &box
-
- return node
-}
-
// This routine creates a blank window with a Title and size (W x H)
//
// This routine can not have any arguements due to the nature of how
@@ -114,34 +21,21 @@ func NewWindow() *Node {
h := Config.Height
f := Config.Exit
- n = mapWindow(title, w, h)
+ // Windows are created off of the master node of the Binary Tree
+ n = Config.master.New(title)
n.custom = f
- box := n.box
- log.Println("gui.NewWindow() title = box.Name =", box.Name)
t = toolkit.NewWindow(title, w, h)
t.Custom = func () {
- log.Println("GOT TO MY CUSTOM EXIT!!!! for window name:", box.Name)
- f(n)
- }
- n.Toolkit = t
- n.uiWindow = t.UiWindowBad // this is temporary
-
- window := n.uiWindow
-
- /*
- ui.OnShouldQuit(func() bool {
- log.Println("createWindow().Destroy() on node.Name =", n.Name)
- if (f != nil) {
- f(n)
+ log.Println("Got to wit/gui Window Close for window:", title)
+ if (n.custom == nil) {
+ log.Println("Got to wit/gui Window Close custom() == nil")
}
- return true
- })
- */
-
- box.Window.UiWindow = window
- if(n.uiWindow == nil) {
- panic("node.uiWindow == nil. This should never happen")
+ log.Println("Got to wit/gui Window Close START custom()")
+ n.custom(n)
+ log.Println("Got to wit/gui Window Close END custom()")
}
+ n.toolkit = t
+
return n
}