diff options
Diffstat (limited to 'AAA_GOFILES/zz_test.go')
| -rw-r--r-- | AAA_GOFILES/zz_test.go | 129 |
1 files changed, 129 insertions, 0 deletions
diff --git a/AAA_GOFILES/zz_test.go b/AAA_GOFILES/zz_test.go new file mode 100644 index 0000000..83a8474 --- /dev/null +++ b/AAA_GOFILES/zz_test.go @@ -0,0 +1,129 @@ +// 11 december 2015 + +package ui + +import ( + "flag" + "testing" +) + +var ( + nomenus = flag.Bool("nomenus", false, "No menus") + startspaced = flag.Bool("startspaced", false, "Start with spacing") + swaphv = flag.Bool("swaphv", false, "Swap horizontal and vertical boxes") +) + +var mainbox *Box +var mainTab *Tab + +func xmain() { + if !*nomenus { + // TODO + } + + w := newWindow("Main Window", 320, 240, true) + w.OnClosing(func(*Window) bool { + Quit() + return true + }) + + OnShouldQuit(func() bool { + // TODO + return true + }) + + mainbox = newHorizontalBox() + w.SetChild(mainbox) + + outerTab := newTab() + mainbox.Append(outerTab, true) + + mainTab = newTab() + outerTab.Append("Original", mainTab) + + makePage1(w) + mainTab.Append("Page 1", page1) + + mainTab.Append("Page 2", makePage2()) + + // TODO + + if *startspaced { + setSpaced(true) + } + + w.Show() +} + +func TestIt(t *testing.T) { + err := Main(xmain) + if err != nil { + t.Fatal(err) + } +} + +var ( + spwindows []*Window + sptabs []*Tab + spgroups []*Group + spboxes []*Box +) + +func newWindow(title string, width int, height int, hasMenubar bool) *Window { + w := NewWindow(title, width, height, hasMenubar) + spwindows = append(spwindows, w) + return w +} + +func newTab() *Tab { + t := NewTab() + sptabs = append(sptabs, t) + return t +} + +func newGroup(title string) *Group { + g := NewGroup(title) + spgroups = append(spgroups, g) + return g +} + +func newHorizontalBox() *Box { + var b *Box + + if *swaphv { + b = NewVerticalBox() + } else { + b = NewHorizontalBox() + } + spboxes = append(spboxes, b) + return b +} + +func newVerticalBox() *Box { + var b *Box + + if *swaphv { + b = NewHorizontalBox() + } else { + b = NewVerticalBox() + } + spboxes = append(spboxes, b) + return b +} + +func setSpaced(spaced bool) { + for _, w := range spwindows { + w.SetMargined(spaced) + } + for _, t := range sptabs { + for i := 0; i < t.NumPages(); i++ { + t.SetMargined(i, spaced) + } + } + for _, g := range spgroups { + g.SetMargined(spaced) + } + for _, b := range spboxes { + b.SetPadded(spaced) + } +} |
