mirror of
https://github.com/VladimirMarkelov/clui.git
synced 2025-05-03 22:17:14 +08:00
70 lines
2.0 KiB
Go
70 lines
2.0 KiB
Go
package main
|
|
|
|
import (
|
|
ui "github.com/VladimirMarkelov/clui"
|
|
)
|
|
|
|
func createView() {
|
|
view := ui.AddWindow(0, 0, 10, 7, "Button` Demo")
|
|
view.SetTitleButtons(ui.ButtonMaximize | ui.ButtonClose)
|
|
|
|
frmViews := ui.CreateFrame(view, 8, 5, ui.BorderNone, ui.Fixed)
|
|
frmViews.SetPack(ui.Horizontal)
|
|
frmFull := ui.CreateFrame(frmViews, 8, 5, ui.BorderThin, ui.Fixed)
|
|
frmFull.SetPack(ui.Vertical)
|
|
frmFull.SetTitle("Full")
|
|
frmHalf := ui.CreateFrame(frmViews, 8, 5, ui.BorderThin, ui.Fixed)
|
|
frmHalf.SetPack(ui.Vertical)
|
|
frmHalf.SetTitle("Half")
|
|
frmNone := ui.CreateFrame(frmViews, 8, 5, ui.BorderThin, ui.Fixed)
|
|
frmNone.SetPack(ui.Vertical)
|
|
frmNone.SetTitle("None")
|
|
|
|
btnF1 := ui.CreateButton(frmFull, ui.AutoSize, 4, "First", ui.Fixed)
|
|
btnF2 := ui.CreateButton(frmFull, ui.AutoSize, 4, "Second", ui.Fixed)
|
|
btnF3 := ui.CreateButton(frmFull, ui.AutoSize, 4, "Quit", ui.Fixed)
|
|
btnF1.SetShadowType(ui.ShadowFull)
|
|
btnF2.SetShadowType(ui.ShadowFull)
|
|
btnF3.SetShadowType(ui.ShadowFull)
|
|
btnH1 := ui.CreateButton(frmHalf, ui.AutoSize, 4, "First", ui.Fixed)
|
|
btnH2 := ui.CreateButton(frmHalf, ui.AutoSize, 4, "Second", ui.Fixed)
|
|
btnH3 := ui.CreateButton(frmHalf, ui.AutoSize, 4, "Quit", ui.Fixed)
|
|
btnH1.SetShadowType(ui.ShadowHalf)
|
|
btnH2.SetShadowType(ui.ShadowHalf)
|
|
btnH3.SetShadowType(ui.ShadowHalf)
|
|
btnN1 := ui.CreateButton(frmNone, ui.AutoSize, 4, "First", ui.Fixed)
|
|
btnN2 := ui.CreateButton(frmNone, ui.AutoSize, 4, "Second", ui.Fixed)
|
|
btnN3 := ui.CreateButton(frmNone, ui.AutoSize, 4, "Quit", ui.Fixed)
|
|
btnN1.SetShadowType(ui.ShadowNone)
|
|
btnN2.SetShadowType(ui.ShadowNone)
|
|
btnN3.SetShadowType(ui.ShadowNone)
|
|
|
|
btnF3.OnClick(func(ev ui.Event) {
|
|
go ui.Stop()
|
|
})
|
|
btnH3.OnClick(func(ev ui.Event) {
|
|
go ui.Stop()
|
|
})
|
|
btnN3.OnClick(func(ev ui.Event) {
|
|
go ui.Stop()
|
|
})
|
|
|
|
ui.ActivateControl(view, btnF1)
|
|
}
|
|
|
|
func mainLoop() {
|
|
// Every application must create a single Composer and
|
|
// call its intialize method
|
|
ui.InitLibrary()
|
|
defer ui.DeinitLibrary()
|
|
|
|
createView()
|
|
|
|
// start event processing loop - the main core of the library
|
|
ui.MainLoop()
|
|
}
|
|
|
|
func main() {
|
|
mainLoop()
|
|
}
|