andlabs-ui/zy_page2_test.go

188 lines
4.4 KiB
Go

// 12 december 2015
package ui
var page2group *Group
var (
movingLabel *Label
movingBoxes [2]*Box
movingCurrent int
)
func moveLabel(*Button) {
from := movingCurrent
to := 0
if from == 0 {
to = 1
}
movingBoxes[from].Delete(0)
movingBoxes[to].Append(movingLabel, false)
movingCurrent = to
}
var moveBack bool
const (
moveOutText = "Move Page 1 Out"
moveBackText = "Move Page 1 Back"
)
func movePage1(b *Button) {
if moveBack {
mainbox.Delete(1)
mainTab.InsertAt("Page 1", 0, page1)
b.SetText(moveOutText)
moveBack = false
return
}
mainTab.Delete(0)
mainbox.Append(page1, true)
b.SetText(moveBackText)
moveBack = true
}
func makePage2() *Box {
page2 := newVerticalBox()
group := newGroup("Moving Label")
page2group = group
page2.Append(group, false)
vbox := newVerticalBox()
group.SetChild(vbox)
hbox := newHorizontalBox()
button := NewButton("Move the Label!")
button.OnClicked(moveLabel)
hbox.Append(button, true)
hbox.Append(NewLabel(""), true)
vbox.Append(hbox, false)
hbox = newHorizontalBox()
movingBoxes[0] = newVerticalBox()
hbox.Append(movingBoxes[0], true)
movingBoxes[1] = newVerticalBox()
hbox.Append(movingBoxes[1], true)
vbox.Append(hbox, false)
movingCurrent = 0
movingLabel = NewLabel("This label moves!")
movingBoxes[movingCurrent].Append(movingLabel, false)
hbox = newHorizontalBox()
button = NewButton(moveOutText)
button.OnClicked(movePage1)
hbox.Append(button, false)
page2.Append(hbox, false)
moveBack = false
hbox = newHorizontalBox()
hbox.Append(NewLabel("Label Alignment Test"), false)
button = NewButton("Open Menued Window")
button.OnClicked(func(*Button) {
w := NewWindow("Another Window", 100, 100, true)
b := NewVerticalBox()
b.Append(NewEntry(), false)
b.Append(NewButton("Button"), false)
b.SetPadded(true)
w.SetChild(b)
w.SetMargined(true)
w.Show()
})
hbox.Append(button, false)
button = NewButton("Open Menuless Window")
button.OnClicked(func(*Button) {
w := NewWindow("Another Window", 100, 100, true)
//TODO w.SetChild(makePage6())
w.SetMargined(true)
w.Show()
})
hbox.Append(button, false)
button = NewButton("Disabled Menued")
button.OnClicked(func(*Button) {
w := NewWindow("Another Window", 100, 100, true)
w.Disable()
w.Show()
})
hbox.Append(button, false)
button = NewButton("Disabled Menuless")
button.OnClicked(func(*Button) {
w := NewWindow("Another Window", 100, 100, false)
w.Disable()
w.Show()
})
hbox.Append(button, false)
page2.Append(hbox, false)
nestedBox := newHorizontalBox()
innerhbox := newHorizontalBox()
innerhbox.Append(NewButton("These"), false)
button = NewButton("buttons")
button.Disable()
innerhbox.Append(button, false)
nestedBox.Append(innerhbox, false)
innerhbox = newHorizontalBox()
innerhbox.Append(NewButton("are"), false)
innerhbox2 := newHorizontalBox()
button = NewButton("in")
button.Disable()
innerhbox2.Append(button, false)
innerhbox.Append(innerhbox2, false)
nestedBox.Append(innerhbox, false)
innerhbox = newHorizontalBox()
innerhbox2 = newHorizontalBox()
innerhbox2.Append(NewButton("nested"), false)
innerhbox3 := newHorizontalBox()
button = NewButton("boxes")
button.Disable()
innerhbox3.Append(button, false)
innerhbox2.Append(innerhbox3, false)
innerhbox.Append(innerhbox2, false)
nestedBox.Append(innerhbox, false)
page2.Append(nestedBox, false)
hbox = newHorizontalBox()
button = NewButton("Enable Nested Box")
button.OnClicked(func(*Button) {
nestedBox.Enable()
})
hbox.Append(button, false)
button = NewButton("Disable Nested Box")
button.OnClicked(func(*Button) {
nestedBox.Disable()
})
hbox.Append(button, false)
page2.Append(hbox, false)
disabledTab := newTab()
disabledTab.Append("Disabled", NewButton("Button"));
disabledTab.Append("Tab", NewLabel("Label"));
disabledTab.Disable()
page2.Append(disabledTab, true)
entry := NewEntry()
readonly := NewEntry()
entry.OnChanged(func(*Entry) {
readonly.SetText(entry.Text())
})
readonly.SetText("If you can see this, uiEntryReadOnly() isn't working properly.")
readonly.SetReadOnly(true)
if readonly.ReadOnly() {
readonly.SetText("")
}
page2.Append(entry, false)
page2.Append(readonly, false)
hbox = newHorizontalBox()
button = NewButton("Show Button 2")
button2 := NewButton("Button 2")
button.OnClicked(func(*Button) {
button2.Show()
})
button2.Hide()
hbox.Append(button, true)
hbox.Append(button2, false)
page2.Append(hbox, false)
return page2
}