diff options
Diffstat (limited to 'andlabs/tab.go')
| -rw-r--r-- | andlabs/tab.go | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/andlabs/tab.go b/andlabs/tab.go deleted file mode 100644 index 2307e6b..0000000 --- a/andlabs/tab.go +++ /dev/null @@ -1,117 +0,0 @@ -package main - -import ( - "go.wit.com/lib/widget" - "go.wit.com/log" - - "go.wit.com/dev/andlabs/ui" - _ "go.wit.com/dev/andlabs/ui/winmanifest" -) - -/* -This adds a tab - -andlabs/ui is goofy in the sense that you have to determine -if the ui.Window already has a tab in it. If it does, then -you need to add this tab and not run SetChild() on the window -or instead it replaces the existing tab with the new one - -I work around this by always sending a Toolkit that is a tab -once there is one. If you send a Window here, it will replace -any existing tabs rather than adding a new one -*/ -func (p *node) newTab(n *node) { - var newt *guiWidget - - if p == nil { - log.Log(ERROR, "newTab() p == nil. how the fuck does this happen?", n.WidgetId, n.ParentId) - } - if p.WidgetType != widget.Window { - log.Log(ERROR, "newTab() uiWindow == nil. I can't add a toolbar without window", n.WidgetId, n.ParentId) - return - } - t := p.tk - - log.Log(TOOLKIT, "newTab() START", n.WidgetId, n.ParentId) - - if t.uiTab == nil { - // this means you have to make a new tab - log.Log(TOOLKIT, "newTab() GOOD. This should be the first tab:", n.WidgetId, n.ParentId) - newt = rawTab(t.uiWindow, widget.GetString(n.value)) - t.uiTab = newt.uiTab - } else { - // this means you have to append a tab - log.Log(TOOLKIT, "newTab() GOOD. This should be an additional tab:", n.WidgetId, n.ParentId) - if n.WidgetType == widget.Tab { - // andlabs doesn't have multiple tab widgets so make a fake one? - // this makes a guiWidget internal structure with the parent values - newt = new(guiWidget) - newt.uiWindow = t.uiWindow - newt.uiTab = t.uiTab - } else { - newt = t.appendTab(widget.GetString(n.value)) - } - } - - n.tk = newt -} - -// This sets _all_ the tabs to Margin = true -// -// TODO: do proper tab tracking (will be complicated). low priority -func tabSetMargined(tab *ui.Tab, b bool) { - c := tab.NumPages() - for i := 0; i < c; i++ { - log.Log(TOOLKIT, "SetMargined", i, b) - tab.SetMargined(i, b) - } -} - -func rawTab(w *ui.Window, name string) *guiWidget { - var newt guiWidget - log.Log(TOOLKIT, "rawTab() START", name) - - if w == nil { - log.Log(ERROR, "UiWindow == nil. I can't add a tab without a window") - log.Log(ERROR, "UiWindow == nil. I can't add a tab without a window") - log.Log(ERROR, "UiWindow == nil. I can't add a tab without a window") - // sleep(1) - return nil - } - - tab := ui.NewTab() - w.SetChild(tab) - newt.uiTab = tab - newt.uiControl = tab - log.Log(TOOLKIT, "rawTab() END", name) - return &newt -} - -func (t *guiWidget) appendTab(name string) *guiWidget { - var newT guiWidget - log.Log(TOOLKIT, "appendTab() ADD", name) - - if t.uiTab == nil { - log.Log(TOOLKIT, "UiWindow == nil. I can't add a widget without a place to put it") - panic("should never have happened. wit/gui/toolkit has ui.Tab == nil") - } - log.Log(TOOLKIT, "appendTab() START name =", name) - - var hbox *ui.Box - if defaultBehavior { - hbox = ui.NewHorizontalBox() - } else { - if bookshelf { - hbox = ui.NewHorizontalBox() - } else { - hbox = ui.NewVerticalBox() - } - } - hbox.SetPadded(padded) - t.uiTab.Append(name, hbox) - - newT.uiWindow = t.uiWindow - newT.uiTab = t.uiTab - newT.uiBox = hbox - return &newT -} |
