Rework events (again)
This commit is contained in:
@@ -27,9 +27,11 @@ func main() {
|
||||
|
||||
ui.Render(bc)
|
||||
|
||||
ui.Handle("q", "<Insert>", func(ui.Event) {
|
||||
ui.StopLoop()
|
||||
})
|
||||
|
||||
ui.Loop()
|
||||
for {
|
||||
e := <-ui.PollEvent()
|
||||
switch e.ID {
|
||||
case "q", "<C-c>":
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,27 +20,20 @@ func main() {
|
||||
}
|
||||
defer ui.Close()
|
||||
|
||||
p := ui.NewPar(":PRESS q TO QUIT DEMO")
|
||||
p := ui.NewPar("PRESS q TO QUIT DEMO")
|
||||
p.Height = 3
|
||||
p.Width = 50
|
||||
p.TextFgColor = ui.ColorWhite
|
||||
p.BorderLabel = "Text Box"
|
||||
p.BorderFg = ui.ColorCyan
|
||||
|
||||
pTicker := time.NewTicker(time.Second)
|
||||
pTickerCount := 1
|
||||
go func() {
|
||||
for {
|
||||
if pTickerCount%2 == 0 {
|
||||
p.TextFgColor = ui.ColorRed
|
||||
} else {
|
||||
p.TextFgColor = ui.ColorWhite
|
||||
}
|
||||
|
||||
pTickerCount++
|
||||
<-pTicker.C
|
||||
updateP := func(count int) {
|
||||
if count%2 == 0 {
|
||||
p.TextFgColor = ui.ColorRed
|
||||
} else {
|
||||
p.TextFgColor = ui.ColorWhite
|
||||
}
|
||||
}()
|
||||
}
|
||||
|
||||
listData := []string{"[0] gizak/termui", "[1] editbox.go", "[2] interrupt.go", "[3] keyboard.go", "[4] output.go", "[5] random_out.go", "[6] dashboard.go", "[7] nsf/termbox-go"}
|
||||
|
||||
@@ -147,20 +140,18 @@ func main() {
|
||||
ui.Render(p, l, g, sls, lc, bc, lc2, p2)
|
||||
}
|
||||
|
||||
ui.Handle("q", func(ui.Event) {
|
||||
ui.StopLoop()
|
||||
})
|
||||
|
||||
drawTicker := time.NewTicker(time.Second)
|
||||
drawTickerCount := 1
|
||||
go func() {
|
||||
for {
|
||||
draw(drawTickerCount)
|
||||
|
||||
drawTickerCount++
|
||||
<-drawTicker.C
|
||||
tickerCount := 1
|
||||
for {
|
||||
select {
|
||||
case e := <-ui.PollEvent():
|
||||
switch e.ID {
|
||||
case "q", "<C-c>":
|
||||
return
|
||||
}
|
||||
case <-time.NewTicker(time.Second).C:
|
||||
updateP(tickerCount)
|
||||
draw(tickerCount)
|
||||
tickerCount++
|
||||
}
|
||||
}()
|
||||
|
||||
ui.Loop()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,9 +74,11 @@ func main() {
|
||||
|
||||
ui.Render(g0, g1, g2, g3, g4)
|
||||
|
||||
ui.Handle("q", func(ui.Event) {
|
||||
ui.StopLoop()
|
||||
})
|
||||
|
||||
ui.Loop()
|
||||
for {
|
||||
e := <-ui.PollEvent()
|
||||
switch e.ID {
|
||||
case "q", "<C-c>":
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -95,37 +95,31 @@ func main() {
|
||||
|
||||
ui.Render(ui.Body)
|
||||
|
||||
ui.Handle("q", func(ui.Event) {
|
||||
ui.StopLoop()
|
||||
})
|
||||
|
||||
drawTicker := time.NewTicker(time.Second)
|
||||
drawTickerCount := 1
|
||||
go func() {
|
||||
for {
|
||||
if drawTickerCount > 103 {
|
||||
ui.StopLoop()
|
||||
tickerCount := 1
|
||||
for {
|
||||
select {
|
||||
case e := <-ui.PollEvent():
|
||||
switch e.ID {
|
||||
case "q", "<C-c>":
|
||||
return
|
||||
case "<Resize>":
|
||||
payload := e.Payload.(ui.Resize)
|
||||
ui.Body.Width = payload.Width
|
||||
ui.Body.Align()
|
||||
ui.Clear()
|
||||
ui.Render(ui.Body)
|
||||
}
|
||||
case <-time.NewTicker(time.Second).C:
|
||||
if tickerCount > 103 {
|
||||
return
|
||||
}
|
||||
for _, g := range gs {
|
||||
g.Percent = (g.Percent + 3) % 100
|
||||
}
|
||||
sp.Lines[0].Data = spdata[:100+drawTickerCount]
|
||||
lc.Data["default"] = sinps[2*drawTickerCount:]
|
||||
sp.Lines[0].Data = spdata[:100+tickerCount]
|
||||
lc.Data["default"] = sinps[2*tickerCount:]
|
||||
ui.Render(ui.Body)
|
||||
|
||||
drawTickerCount++
|
||||
<-drawTicker.C
|
||||
tickerCount++
|
||||
}
|
||||
}()
|
||||
|
||||
ui.Handle("<Resize>", func(e ui.Event) {
|
||||
payload := e.Payload.(ui.Resize)
|
||||
ui.Body.Width = payload.Width
|
||||
ui.Body.Align()
|
||||
ui.Clear()
|
||||
ui.Render(ui.Body)
|
||||
})
|
||||
|
||||
ui.Loop()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,9 +66,11 @@ func main() {
|
||||
|
||||
ui.Render(lc0, lc1, lc2)
|
||||
|
||||
ui.Handle("q", func(ui.Event) {
|
||||
ui.StopLoop()
|
||||
})
|
||||
|
||||
ui.Loop()
|
||||
for {
|
||||
e := <-ui.PollEvent()
|
||||
switch e.ID {
|
||||
case "q", "<C-c>":
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,9 +35,11 @@ func main() {
|
||||
|
||||
ui.Render(ls)
|
||||
|
||||
ui.Handle("q", func(ui.Event) {
|
||||
ui.StopLoop()
|
||||
})
|
||||
|
||||
ui.Loop()
|
||||
for {
|
||||
e := <-ui.PollEvent()
|
||||
switch e.ID {
|
||||
case "q", "<C-c>":
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,10 +44,11 @@ func main() {
|
||||
|
||||
ui.Render(bc)
|
||||
|
||||
ui.Handle("q", func(ui.Event) {
|
||||
ui.StopLoop()
|
||||
})
|
||||
|
||||
ui.Loop()
|
||||
|
||||
for {
|
||||
e := <-ui.PollEvent()
|
||||
switch e.ID {
|
||||
case "q", "<C-c>":
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,10 +42,11 @@ func main() {
|
||||
|
||||
ui.Render(par0, par1, par2, par3)
|
||||
|
||||
ui.Handle("q", func(ui.Event) {
|
||||
ui.StopLoop()
|
||||
})
|
||||
|
||||
ui.Loop()
|
||||
|
||||
for {
|
||||
e := <-ui.PollEvent()
|
||||
switch e.ID {
|
||||
case "q", "<C-c>":
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,21 +40,7 @@ func main() {
|
||||
return fmt.Sprintf("%.02f", v)
|
||||
}
|
||||
|
||||
drawTicker := time.NewTicker(time.Second)
|
||||
drawTickerCount := 1
|
||||
go func() {
|
||||
for {
|
||||
if run {
|
||||
pc.Data, pc.Offset = randomDataAndOffset()
|
||||
ui.Render(pc)
|
||||
}
|
||||
|
||||
drawTickerCount++
|
||||
<-drawTicker.C
|
||||
}
|
||||
}()
|
||||
|
||||
ui.Handle("s", func(ui.Event) {
|
||||
pause := func() {
|
||||
run = !run
|
||||
if run {
|
||||
pc.BorderLabel = "Pie Chart"
|
||||
@@ -62,13 +48,24 @@ func main() {
|
||||
pc.BorderLabel = "Pie Chart (Stopped)"
|
||||
}
|
||||
ui.Render(pc)
|
||||
})
|
||||
|
||||
ui.Handle("q", func(ui.Event) {
|
||||
ui.StopLoop()
|
||||
})
|
||||
}
|
||||
|
||||
ui.Render(pc)
|
||||
|
||||
ui.Loop()
|
||||
for {
|
||||
select {
|
||||
case e := <-ui.PollEvent():
|
||||
switch e.ID {
|
||||
case "q", "<C-c>":
|
||||
return
|
||||
case "s":
|
||||
pause()
|
||||
}
|
||||
case <-time.NewTicker(time.Second).C:
|
||||
if run {
|
||||
pc.Data, pc.Offset = randomDataAndOffset()
|
||||
ui.Render(pc)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,9 +59,11 @@ func main() {
|
||||
|
||||
ui.Render(spls0, spls1, spls2)
|
||||
|
||||
ui.Handle("q", func(ui.Event) {
|
||||
ui.StopLoop()
|
||||
})
|
||||
|
||||
ui.Loop()
|
||||
for {
|
||||
e := <-ui.PollEvent()
|
||||
switch e.ID {
|
||||
case "q", "<C-c>":
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,9 +53,11 @@ func main() {
|
||||
|
||||
ui.Render(table2)
|
||||
|
||||
ui.Handle("q", func(ui.Event) {
|
||||
ui.StopLoop()
|
||||
})
|
||||
|
||||
ui.Loop()
|
||||
for {
|
||||
e := <-ui.PollEvent()
|
||||
switch e.ID {
|
||||
case "q", "<C-c>":
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,14 +18,14 @@ func main() {
|
||||
}
|
||||
defer ui.Close()
|
||||
|
||||
header := ui.NewPar("Press q to quit, Press j or k to switch tabs")
|
||||
header := ui.NewPar("Press q to quit, Press h or l to switch tabs")
|
||||
header.Height = 1
|
||||
header.Width = 50
|
||||
header.Border = false
|
||||
header.TextBgColor = ui.ColorBlue
|
||||
|
||||
tab1 := extra.NewTab("pierwszy")
|
||||
par2 := ui.NewPar("Press q to quit\nPress j or k to switch tabs\n")
|
||||
par2 := ui.NewPar("Press q to quit\nPress h or l to switch tabs\n")
|
||||
par2.Height = 5
|
||||
par2.Width = 37
|
||||
par2.Y = 0
|
||||
@@ -61,21 +61,19 @@ func main() {
|
||||
|
||||
ui.Render(header, tabpane)
|
||||
|
||||
ui.Handle("q", func(ui.Event) {
|
||||
ui.StopLoop()
|
||||
})
|
||||
|
||||
ui.Handle("j", func(ui.Event) {
|
||||
tabpane.SetActiveLeft()
|
||||
ui.Clear()
|
||||
ui.Render(header, tabpane)
|
||||
})
|
||||
|
||||
ui.Handle("k", func(ui.Event) {
|
||||
tabpane.SetActiveRight()
|
||||
ui.Clear()
|
||||
ui.Render(header, tabpane)
|
||||
})
|
||||
|
||||
ui.Loop()
|
||||
for {
|
||||
e := <-ui.PollEvent()
|
||||
switch e.ID {
|
||||
case "q", "<C-c>":
|
||||
return
|
||||
case "h":
|
||||
tabpane.SetActiveLeft()
|
||||
ui.Clear()
|
||||
ui.Render(header, tabpane)
|
||||
case "l":
|
||||
tabpane.SetActiveRight()
|
||||
ui.Clear()
|
||||
ui.Render(header, tabpane)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -138,20 +138,17 @@ func main() {
|
||||
|
||||
ui.Render(p, list, g, sp, lc, bc, lc1, p1)
|
||||
|
||||
ui.Handle("q", func(ui.Event) {
|
||||
ui.StopLoop()
|
||||
})
|
||||
|
||||
drawTicker := time.NewTicker(time.Second)
|
||||
drawTickerCount := 1
|
||||
go func() {
|
||||
for {
|
||||
draw(drawTickerCount)
|
||||
|
||||
drawTickerCount++
|
||||
<-drawTicker.C
|
||||
tickerCount := 1
|
||||
for {
|
||||
select {
|
||||
case e := <-ui.PollEvent():
|
||||
switch e.ID {
|
||||
case "q", "<C-c>":
|
||||
return
|
||||
}
|
||||
case <-time.NewTicker(time.Second).C:
|
||||
draw(tickerCount)
|
||||
tickerCount++
|
||||
}
|
||||
}()
|
||||
|
||||
ui.Loop()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -284,7 +284,7 @@ func main() {
|
||||
|
||||
termWidth := 70
|
||||
|
||||
header := ui.NewPar("Press q to quit, Press j or k to switch tabs")
|
||||
header := ui.NewPar("Press q to quit, Press h or l to switch tabs")
|
||||
header.Height = 1
|
||||
header.Width = 50
|
||||
header.Border = false
|
||||
@@ -334,24 +334,21 @@ func main() {
|
||||
|
||||
ui.Render(header, tabpane)
|
||||
|
||||
ui.Handle("q", func(ui.Event) {
|
||||
ui.StopLoop()
|
||||
})
|
||||
|
||||
ui.Handle("j", func(ui.Event) {
|
||||
tabpane.SetActiveLeft()
|
||||
ui.Render(header, tabpane)
|
||||
})
|
||||
|
||||
ui.Handle("k", func(ui.Event) {
|
||||
tabpane.SetActiveRight()
|
||||
ui.Render(header, tabpane)
|
||||
})
|
||||
|
||||
drawTicker := time.NewTicker(time.Second)
|
||||
drawTickerCount := 1
|
||||
go func() {
|
||||
for {
|
||||
tickerCount := 1
|
||||
for {
|
||||
select {
|
||||
case e := <-ui.PollEvent():
|
||||
switch e.ID {
|
||||
case "q", "<C-c>":
|
||||
return
|
||||
case "h":
|
||||
tabpane.SetActiveLeft()
|
||||
ui.Render(header, tabpane)
|
||||
case "l":
|
||||
tabpane.SetActiveRight()
|
||||
ui.Render(header, tabpane)
|
||||
}
|
||||
case <-time.NewTicker(time.Second).C:
|
||||
cs, errcs := getCpusStatsMap()
|
||||
if errcs != nil {
|
||||
panic(errcs)
|
||||
@@ -365,11 +362,7 @@ func main() {
|
||||
}
|
||||
memTabElems.Update(ms)
|
||||
ui.Render(header, tabpane)
|
||||
|
||||
drawTickerCount++
|
||||
<-drawTicker.C
|
||||
tickerCount++
|
||||
}
|
||||
}()
|
||||
|
||||
ui.Loop()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,13 +24,14 @@ func main() {
|
||||
p.TextFgColor = ui.ColorWhite
|
||||
p.BorderLabel = "Text Box with Wrapping"
|
||||
p.BorderFg = ui.ColorCyan
|
||||
//p.Border = false
|
||||
|
||||
ui.Render(p)
|
||||
|
||||
ui.Handle("q", func(ui.Event) {
|
||||
ui.StopLoop()
|
||||
})
|
||||
|
||||
ui.Loop()
|
||||
for {
|
||||
e := <-ui.PollEvent()
|
||||
switch e.ID {
|
||||
case "q", "<C-c>":
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user