summaryrefslogtreecommitdiff
path: root/tab.go
diff options
context:
space:
mode:
Diffstat (limited to 'tab.go')
-rw-r--r--tab.go75
1 files changed, 56 insertions, 19 deletions
diff --git a/tab.go b/tab.go
index 85afca1..72dcd17 100644
--- a/tab.go
+++ b/tab.go
@@ -2,39 +2,76 @@ package gui
import (
"log"
-// "fmt"
+ "os"
"github.com/andlabs/ui"
_ "github.com/andlabs/ui/winmanifest"
-
)
// import toolkit "git.wit.org/wit/gui/toolkit/andlabs"
-func (n *Node) AddTabRaw(title string, uiC ui.Control) *Node {
- log.Println("gui.Node.AddTabRaw()")
+// This function should make a new node with the parent and
+// the 'tab' as a child
+
+func (n *Node) NewTab(title string) *Node {
+ log.Println("gui.Node.AddTab() START name =", title)
+
+ return n.AddTabNew(title)
+}
+
+func (n *Node) AddTabNew(title string) *Node {
+ log.Println("gui.Node.AddTab() START name =", title)
- tab := n.uiTab
- if (tab == nil) {
- log.Println("gui.Node.AddTabRaw() FAIL tab == nil")
- return n
+ if (n.Toolkit == nil) {
+ log.Println("FUCK TOOLKIT nil uiWindow =", n.uiWindow)
+ log.Println("FUCK TOOLKIT nil uiTab =", n.uiTab)
+ log.Println("FUCK TOOLKIT nil Toolkit =", n.Toolkit)
+ // return n.AddTab(title) // need to make a toolkit here
+ n.Dump()
+ os.Exit(0)
+ }
+ log.Println("Make new node")
+ newN := n.New(title)
+ log.Println("Add tab to window")
+ t := n.Toolkit.AddTab(title)
+ newN.Toolkit = t
+
+ n.Append(newN)
+ return newN
+}
+
+func (n *Node) AddTab(title string, uiC *ui.Box) *Node {
+ return n.AddTabNew(title)
+}
+/*
+func (n *Node) AddTabBAD(title string, uiC *ui.Box) *Node {
+ parent := n
+ log.Println("gui.Node.AddTab() START name =", title)
+ if parent.uiWindow == nil {
+ parent.Dump()
+ log.Println("gui.Node.AddTab() ERROR ui.Window == nil")
+ return nil
+ }
+ if parent.uiTab == nil {
+ inittab := ui.NewTab() // no, not that 'inittab'
+ parent.uiWindow.SetChild(inittab)
+ parent.uiWindow.SetMargined(true)
+ parent.uiTab = inittab
}
+ tab := parent.uiTab
+ parent.uiWindow.SetMargined(true)
if (uiC == nil) {
- // hbox := ui.NewHorizontalBox()
- // hbox.SetPadded(true)
- // uiC = hbox
- log.Println("gui.Node.AddTabRaw() FAIL *ui.Control == nil")
- return n
+ hbox := ui.NewHorizontalBox()
+ hbox.SetPadded(true)
+ uiC = hbox
}
tab.Append(title, uiC)
- /*
- newNode := parent.makeNode(title, 555, 600 + Config.counter)
+ newNode := n.New(title)
newNode.uiTab = tab
newNode.uiBox = uiC
- // panic("gui.AddTab() after makeNode()")
- tabSetMargined(newNode.uiTab)
- */
- return n
+ // tabSetMargined(newNode.uiTab)
+ return newNode
}
+*/