Bridge Tabpane
This commit is contained in:
@@ -18,12 +18,12 @@ func main() {
|
||||
}
|
||||
defer termui.Close()
|
||||
|
||||
termui.UseTheme("helloworld")
|
||||
//termui.UseTheme("helloworld")
|
||||
|
||||
header := termui.NewPar("Press q to quit, Press j or k to switch tabs")
|
||||
header.Height = 1
|
||||
header.Width = 50
|
||||
header.HasBorder = false
|
||||
header.Border = false
|
||||
header.TextBgColor = termui.ColorBlue
|
||||
|
||||
tab1 := extra.NewTab("pierwszy")
|
||||
@@ -32,7 +32,7 @@ func main() {
|
||||
par2.Width = 37
|
||||
par2.Y = 0
|
||||
par2.BorderLabel = "Keys"
|
||||
par2.Border.FgColor = termui.ColorYellow
|
||||
par2.BorderFg = termui.ColorYellow
|
||||
tab1.AddBlocks(par2)
|
||||
|
||||
tab2 := extra.NewTab("drugi")
|
||||
@@ -57,29 +57,25 @@ func main() {
|
||||
tabpane := extra.NewTabpane()
|
||||
tabpane.Y = 1
|
||||
tabpane.Width = 30
|
||||
tabpane.HasBorder = true
|
||||
tabpane.Border = true
|
||||
|
||||
tabpane.SetTabs(*tab1, *tab2, *tab3, *tab4, *tab5, *tab6)
|
||||
|
||||
evt := termui.EventCh()
|
||||
|
||||
termui.Render(header, tabpane)
|
||||
|
||||
for {
|
||||
select {
|
||||
case e := <-evt:
|
||||
if e.Type == termui.EventKey {
|
||||
switch e.Ch {
|
||||
case 'q':
|
||||
return
|
||||
case 'j':
|
||||
tabpane.SetActiveLeft()
|
||||
termui.Render(header, tabpane)
|
||||
case 'k':
|
||||
tabpane.SetActiveRight()
|
||||
termui.Render(header, tabpane)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
termui.Handle("/sys/kbd/q", func(termui.Event) {
|
||||
termui.StopLoop()
|
||||
})
|
||||
|
||||
termui.Handle("/sys/kbd/j", func(termui.Event) {
|
||||
tabpane.SetActiveLeft()
|
||||
termui.Render(header, tabpane)
|
||||
})
|
||||
|
||||
termui.Handle("/sys/kbd/k", func(termui.Event) {
|
||||
tabpane.SetActiveRight()
|
||||
termui.Render(header, tabpane)
|
||||
})
|
||||
|
||||
termui.Loop()
|
||||
}
|
||||
|
||||
@@ -17,7 +17,6 @@ import (
|
||||
"sort"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/gizak/termui"
|
||||
"github.com/gizak/termui/extra"
|
||||
@@ -284,12 +283,12 @@ func main() {
|
||||
|
||||
termWidth := 70
|
||||
|
||||
termui.UseTheme("helloworld")
|
||||
//termui.UseTheme("helloworld")
|
||||
|
||||
header := termui.NewPar("Press q to quit, Press j or k to switch tabs")
|
||||
header.Height = 1
|
||||
header.Width = 50
|
||||
header.HasBorder = false
|
||||
header.Border = false
|
||||
header.TextBgColor = termui.ColorBlue
|
||||
|
||||
tabCpu := extra.NewTab("CPU")
|
||||
@@ -298,7 +297,7 @@ func main() {
|
||||
tabpane := extra.NewTabpane()
|
||||
tabpane.Y = 1
|
||||
tabpane.Width = 30
|
||||
tabpane.HasBorder = false
|
||||
tabpane.Border = false
|
||||
|
||||
cs, errcs := getCpusStatsMap()
|
||||
cpusStats := NewCpusStats(cs)
|
||||
@@ -336,37 +335,35 @@ func main() {
|
||||
|
||||
termui.Render(header, tabpane)
|
||||
|
||||
evt := termui.EventCh()
|
||||
for {
|
||||
select {
|
||||
case e := <-evt:
|
||||
if e.Type == termui.EventKey {
|
||||
switch e.Ch {
|
||||
case 'q':
|
||||
return
|
||||
case 'j':
|
||||
tabpane.SetActiveLeft()
|
||||
termui.Render(header, tabpane)
|
||||
case 'k':
|
||||
tabpane.SetActiveRight()
|
||||
termui.Render(header, tabpane)
|
||||
}
|
||||
}
|
||||
case <-time.After(time.Second):
|
||||
cs, errcs := getCpusStatsMap()
|
||||
if errcs != nil {
|
||||
panic(errcs)
|
||||
}
|
||||
cpusStats.tick(cs)
|
||||
cpuTabElems.Update(*cpusStats)
|
||||
termui.Handle("/sys/kbd/q", func(termui.Event) {
|
||||
termui.StopLoop()
|
||||
})
|
||||
|
||||
ms, errm := getMemStats()
|
||||
if errm != nil {
|
||||
panic(errm)
|
||||
}
|
||||
memTabElems.Update(ms)
|
||||
termui.Handle("/sys/kbd/j", func(termui.Event) {
|
||||
tabpane.SetActiveLeft()
|
||||
termui.Render(header, tabpane)
|
||||
})
|
||||
|
||||
termui.Render(header, tabpane)
|
||||
termui.Handle("/sys/kbd/k", func(termui.Event) {
|
||||
tabpane.SetActiveRight()
|
||||
termui.Render(header, tabpane)
|
||||
})
|
||||
|
||||
termui.Handle("/timer/1s", func(e termui.Event) {
|
||||
cs, errcs := getCpusStatsMap()
|
||||
if errcs != nil {
|
||||
panic(errcs)
|
||||
}
|
||||
}
|
||||
cpusStats.tick(cs)
|
||||
cpuTabElems.Update(*cpusStats)
|
||||
|
||||
ms, errm := getMemStats()
|
||||
if errm != nil {
|
||||
panic(errm)
|
||||
}
|
||||
memTabElems.Update(ms)
|
||||
termui.Render(header, tabpane)
|
||||
})
|
||||
|
||||
termui.Loop()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user