188 lines
4.4 KiB
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
|
|
}
|