本文整理汇总了Golang中github.com/gizak/termui.NewSparklines函数的典型用法代码示例。如果您正苦于以下问题:Golang NewSparklines函数的具体用法?Golang NewSparklines怎么用?Golang NewSparklines使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewSparklines函数的18个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: main
func main() {
err := termui.Init()
if err != nil {
panic(err)
}
defer termui.Close()
//termui.UseTheme("helloworld")
data := []int{4, 2, 1, 6, 3, 9, 1, 4, 2, 15, 14, 9, 8, 6, 10, 13, 15, 12, 10, 5, 3, 6, 1, 7, 10, 10, 14, 13, 6}
spl0 := termui.NewSparkline()
spl0.Data = data[3:]
spl0.Title = "Sparkline 0"
spl0.LineColor = termui.ColorGreen
// single
spls0 := termui.NewSparklines(spl0)
spls0.Height = 2
spls0.Width = 20
spls0.Border = false
spl1 := termui.NewSparkline()
spl1.Data = data
spl1.Title = "Sparkline 1"
spl1.LineColor = termui.ColorRed
spl2 := termui.NewSparkline()
spl2.Data = data[5:]
spl2.Title = "Sparkline 2"
spl2.LineColor = termui.ColorMagenta
// group
spls1 := termui.NewSparklines(spl0, spl1, spl2)
spls1.Height = 8
spls1.Width = 20
spls1.Y = 3
spls1.BorderLabel = "Group Sparklines"
spl3 := termui.NewSparkline()
spl3.Data = data
spl3.Title = "Enlarged Sparkline"
spl3.Height = 8
spl3.LineColor = termui.ColorYellow
spls2 := termui.NewSparklines(spl3)
spls2.Height = 11
spls2.Width = 30
spls2.BorderFg = termui.ColorCyan
spls2.X = 21
spls2.BorderLabel = "Tweeked Sparkline"
termui.Render(spls0, spls1, spls2)
termui.Handle("/sys/kbd/q", func(termui.Event) {
termui.StopLoop()
})
termui.Loop()
}
开发者ID:himanshugpt,项目名称:termui,代码行数:59,代码来源:sparklines.go
示例2: addSparkLine
func addSparkLine(serviceName string, titles []string, color ui.Attribute) *ui.Sparklines {
var sparkLines []ui.Sparkline
for _, title := range titles {
sparkLine := ui.NewSparkline()
sparkLine.Height = 1
sparkLine.Data = []int{}
sparkLine.Title = title
sparkLine.TitleColor = titleColor
sparkLine.LineColor = color
sparkLines = append(sparkLines, sparkLine)
}
sp := ui.NewSparklines(sparkLines...)
sp.Height = 11
sp.BorderLabel = serviceName
ui.Body.AddRows(
ui.NewRow(ui.NewCol(12, 0, sp)),
)
ui.Body.Align()
ui.Render(sp)
ui.Render(ui.Body)
return sp
}
开发者ID:catalyzeio,项目名称:cli,代码行数:25,代码来源:spark.go
示例3: Init
// Init creates widgets, sets sizes and labels.
func (t *TermUISingle) Init(data UIData) error {
err := termui.Init()
if err != nil {
return err
}
t.Sparklines = make(map[VarName]*termui.Sparkline)
termui.UseTheme("helloworld")
t.Title = func() *termui.Par {
p := termui.NewPar("")
p.Height = 3
p.TextFgColor = termui.ColorWhite
p.Border.Label = "Services Monitor"
p.Border.FgColor = termui.ColorCyan
return p
}()
t.Status = func() *termui.Par {
p := termui.NewPar("")
p.Height = 3
p.TextFgColor = termui.ColorWhite
p.Border.Label = "Status"
p.Border.FgColor = termui.ColorCyan
return p
}()
t.Pars = make([]*termui.Par, len(data.Vars))
for i, name := range data.Vars {
par := termui.NewPar("")
par.TextFgColor = colorByKind(name.Kind())
par.Border.Label = name.Short()
par.Border.LabelFgColor = termui.ColorGreen
par.Height = 3
t.Pars[i] = par
}
var sparklines []termui.Sparkline
for _, name := range data.Vars {
spl := termui.NewSparkline()
spl.Height = 1
spl.TitleColor = colorByKind(name.Kind())
spl.LineColor = colorByKind(name.Kind())
spl.Title = name.Long()
sparklines = append(sparklines, spl)
}
t.Sparkline = func() *termui.Sparklines {
s := termui.NewSparklines(sparklines...)
s.Height = 2*len(sparklines) + 2
s.HasBorder = true
s.Border.Label = fmt.Sprintf("Monitoring")
return s
}()
t.Relayout()
return nil
}
开发者ID:nordicdyno,项目名称:twemon,代码行数:60,代码来源:ui_single.go
示例4: newTerminalUI
func newTerminalUI(appName string) error {
if err := ui.Init(); err != nil {
return err
}
ui.UseTheme("helloworld")
// usage text
usageText := fmt.Sprintf(`Show live statistics for [%s]
:Press 'q' or 'ctrl-c' to exit
:Press 'PageUp' to increase app instances
:Press 'PageDown' to decrease app instances`, appName)
usage := ui.NewPar(usageText)
usage.Height = 12
usage.TextFgColor = ui.ColorWhite
usage.Border.Label = "Usage"
usage.Border.FgColor = ui.ColorCyan
// summary text
summary := ui.NewPar("")
summary.Height = 12
summary.TextFgColor = ui.ColorRed
summary.Border.Label = "Summary"
summary.Border.FgColor = ui.ColorCyan
// cpu sparklines
data := [400]int{}
line := ui.NewSparkline()
line.Data = data[:]
line.Height = 4
line.LineColor = colors[0]
cpu := ui.NewSparklines(line)
cpu.Height = 7
cpu.Border.Label = "CPU Usage"
// memory gauges
mem := make([]*ui.Gauge, 1)
for i := range mem {
mem[i] = ui.NewGauge()
mem[i].Percent = 0
mem[i].Height = 5
}
// disk bars
disk := ui.NewBarChart()
disk.Border.Label = "Disk Usage (in MB)"
disk.Data = []int{0, 0, 0, 0, 0, 0, 0, 0}
disk.Height = 12
disk.BarWidth = 10
disk.DataLabels = []string{"I: 0", "I: 1", "I: 2", "I: 3", "I: 4", "I: 5", "I: 6", "I: 7"}
disk.TextColor = ui.ColorWhite
disk.BarColor = ui.ColorYellow
disk.NumColor = ui.ColorWhite
term = &TerminalUI{ui.Body, usage, summary, cpu, mem, disk}
return nil
}
开发者ID:swisscom,项目名称:cf-statistics-plugin,代码行数:57,代码来源:terminal.go
示例5: Init
func (w *ServerWidget) Init() {
// something
w.server = gen.MonitorServer(w.addr)
w.data = make([][]int, SPARKLINE_COUNT, SPARKLINE_COUNT)
w.spl = make([]termui.Sparkline, SPARKLINE_COUNT, SPARKLINE_COUNT)
for i := 0; i < SPARKLINE_COUNT; i++ {
w.data[i] = make([]int, 60, 60)
}
w.spl[0] = makeSparkline(" Ops/s", w.data[0], termui.ColorGreen)
w.spl[1] = makeSparkline(" % CPU", w.data[1], termui.ColorRed)
w.spl[2] = makeSparkline(" % DISK_dbs", w.data[2], termui.ColorMagenta)
w.spl[3] = makeSparkline(" % DISK_journal", w.data[3], termui.ColorCyan)
// group
spls1 := termui.NewSparklines()
spls1.Height = 10
spls1.Width = 20
spls1.Y = 3
spls1.Border.Label = "> " + w.title + " <"
w.bc = spls1
go func() {
for {
stat := w.server.GetStats()
w.data[0] = append(w.data[0][1:len(w.data[0])], stat.OPS) // OPS
w.data[1] = append(w.data[1][1:len(w.data[1])], stat.P_CPU) // CPU
w.data[2] = append(w.data[2][1:len(w.data[2])], stat.P_DISK_dbs) // DISK_dbs
w.data[3] = append(w.data[3][1:len(w.data[3])], stat.P_DISK_journal) // DISK_journal
w.data[4] = append(w.data[4][1:len(w.data[4])], int(rand.Int63n(90))+5) // NET
// set max/min to 100, FIXME
w.data[0][0] = 100
w.data[1][0] = 100
w.data[2][0] = 100
w.data[3][0] = 100
w.data[4][0] = 100
for i := 0; i < SPARKLINE_COUNT; i++ {
w.spl[i].Data = w.data[i]
}
w.bc.Lines = w.spl
time.Sleep(1 * time.Second)
}
}()
}
开发者ID:rzh,项目名称:montu,代码行数:51,代码来源:server.go
示例6: NewMemTabElems
func NewMemTabElems(width int) *MemTabElems {
g := termui.NewGauge()
g.Width = width
g.Height = 3
g.Y = 0
sline := termui.NewSparkline()
sline.Title = "MEM"
sline.Height = 8
sls := termui.NewSparklines(sline)
sls.Width = width
sls.Height = 12
sls.Y = 3
return &MemTabElems{Gauge: g, SLines: sls}
}
开发者ID:himanshugpt,项目名称:termui,代码行数:16,代码来源:ttop.go
示例7: draw
func draw() {
display = ui.NewPar("")
display.Height = 1
display.Border = false
prompt = ui.NewPar(promptMsg)
prompt.Height = 1
prompt.Border = false
help := ui.NewPar(`:c, :h for profiles; :f to filter; ↓ and ↑ to paginate`)
help.Height = 1
help.Border = false
help.TextBgColor = ui.ColorBlue
help.Bg = ui.ColorBlue
help.TextFgColor = ui.ColorWhite
gs := ui.Sparkline{}
gs.Title = "goroutines"
gs.Height = 4
gs.LineColor = ui.ColorCyan
ts := ui.Sparkline{}
ts.Title = "threads"
ts.Height = 4
ts.LineColor = ui.ColorCyan
sp = ui.NewSparklines(gs, ts)
sp.Height = 10
sp.Border = false
ls = ui.NewList()
ls.Border = false
ui.Body.AddRows(
ui.NewRow(ui.NewCol(4, 0, prompt), ui.NewCol(8, 0, help)),
ui.NewRow(ui.NewCol(12, 0, sp)),
ui.NewRow(ui.NewCol(12, 0, display)),
ui.NewRow(ui.NewCol(12, 0, ls)),
)
}
开发者ID:ZhiqinYang,项目名称:gom,代码行数:39,代码来源:gom.go
示例8: addSparkLine
func addSparkLine(serviceName string, data [][]int) *ui.Sparklines {
titles := []string{"CPU", "Disk Read", "Disk Write", "Memory", "Net RX", "Net TX"}
var sparkLines []ui.Sparkline
for i, title := range titles {
sparkLine := ui.NewSparkline()
sparkLine.Height = 1
sparkLine.Data = data[i]
sparkLine.Title = title
sparkLines = append(sparkLines, sparkLine)
}
sp := ui.NewSparklines(sparkLines...)
sp.Height = 14
sp.Border.Label = serviceName
ui.Body.AddRows(
ui.NewRow(ui.NewCol(12, 0, sp)),
)
ui.Body.Align()
ui.Render(sp)
return sp
}
开发者ID:jkoelndorfer,项目名称:cli,代码行数:23,代码来源:metrics.go
示例9: main
func main() {
configFile := flag.String("config", "config.json", "Configuration file")
flag.Parse()
monitors := readConfig(*configFile)
updates := make(chan monitor.CheckUpdate)
logbuf := new(bytes.Buffer)
log.SetOutput(logbuf)
err := termui.Init()
if err != nil {
log.Fatalf("Unable to init termui: %v\n", err)
}
defer termui.Close()
list := termui.NewList()
var urls []string
for _, m := range monitors {
e := fmt.Sprintf("[%v] %v", m.index, m.monitor.Source())
urls = append(urls, e)
if list.Width < int(float64(len(e))*float64(1.5)) {
list.Width = int(float64(len(e)) * float64(1.5))
}
}
list.Items = urls
list.ItemFgColor = termui.ColorYellow
list.BorderLabel = "URLs"
list.Height = 8
list.Y = 0
list.X = 0
sp := termui.NewSparklines()
sp.BorderLabel = "Response times"
sp.Y = list.Height
sp.X = 0
sp.Height = list.Height
for i, _ := range urls {
spark := termui.Sparkline{}
spark.Height = 1
spark.Title = fmt.Sprintf("URL %v", i)
spark.LineColor = termui.ColorCyan
spark.TitleColor = termui.ColorYellow
sp.Add(spark)
}
logPar := termui.NewPar(logbuf.String())
logPar.Height = 20
termui.Body.AddRows(
termui.NewRow(
termui.NewCol(6, 0, list),
termui.NewCol(6, 0, sp)),
termui.NewRow(
termui.NewCol(12, 0, logPar)))
termui.Body.Align()
for _, m := range monitors {
go m.monitor.Check(updates, m.index)
}
loop:
for {
select {
case u := <-updates:
if u.Healthy && u.Err == nil {
sp.Lines[u.Id].LineColor = COLOR_OK
} else {
sp.Lines[u.Id].LineColor = COLOR_KO
}
case <-time.After(2 * time.Second):
break loop
}
}
termui.Render(termui.Body)
termui.Handle("/sys/kbd/q", func(termui.Event) {
termui.StopLoop()
})
termui.Handle("/timer/1s", func(e termui.Event) {
t := e.Data.(termui.EvtTimer)
if t.Count%5 == 0 {
for _, m := range monitors {
go m.monitor.Check(updates, m.index)
}
loop:
for {
select {
case u := <-updates:
sp.Lines[u.Id].Data = append(sp.Lines[u.Id].Data, int(u.Duration))
if u.Healthy && u.Err == nil {
sp.Lines[u.Id].LineColor = COLOR_OK
} else {
sp.Lines[u.Id].LineColor = COLOR_KO
}
case <-time.After(2 * time.Second):
break loop
}
}
logPar.Text = logbuf.String()
termui.Render(termui.Body)
}
})
termui.Loop()
//.........这里部分代码省略.........
开发者ID:jvgutierrez,项目名称:httptuimon,代码行数:101,代码来源:httptuimon.go
示例10: main
func main() {
err := ui.Init()
if err != nil {
panic(err)
}
defer ui.Close()
ui.UseTheme("helloworld")
p := ui.NewPar(":PRESS q TO QUIT DEMO")
p.Height = 3
p.Width = 50
p.Border.Label = "Text Box"
strs := []string{"[0] gizak/termui", "[1] editbox.go", "[2] iterrupt.go", "[3] keyboard.go", "[4] output.go", "[5] random_out.go", "[6] dashboard.go", "[7] nsf/termbox-go"}
list := ui.NewList()
list.Items = strs
list.Border.Label = "List"
list.Height = 7
list.Width = 25
list.Y = 4
g := ui.NewGauge()
g.Percent = 50
g.Width = 50
g.Height = 3
g.Y = 11
g.Border.Label = "Gauge"
spark := ui.NewSparkline()
spark.Title = "srv 0:"
spdata := []int{4, 2, 1, 6, 3, 9, 1, 4, 2, 15, 14, 9, 8, 6, 10, 13, 15, 12, 10, 5, 3, 6, 1, 7, 10, 10, 14, 13, 6}
spark.Data = spdata
spark1 := ui.NewSparkline()
spark1.Title = "srv 1:"
spark1.Data = spdata
sp := ui.NewSparklines(spark, spark1)
sp.Width = 25
sp.Height = 7
sp.Border.Label = "Sparkline"
sp.Y = 4
sp.X = 25
lc := ui.NewLineChart()
sinps := (func() []float64 {
n := 100
ps := make([]float64, n)
for i := range ps {
ps[i] = 1 + math.Sin(float64(i)/4)
}
return ps
})()
lc.Border.Label = "Line Chart"
lc.Data = sinps
lc.Width = 50
lc.Height = 11
lc.X = 0
lc.Y = 14
lc.Mode = "dot"
bc := ui.NewBarChart()
bcdata := []int{3, 2, 5, 3, 9, 5, 3, 2, 5, 8, 3, 2, 4, 5, 3, 2, 5, 7, 5, 3, 2, 6, 7, 4, 6, 3, 6, 7, 8, 3, 6, 4, 5, 3, 2, 4, 6, 4, 8, 5, 9, 4, 3, 6, 5, 3, 6}
bclabels := []string{"S0", "S1", "S2", "S3", "S4", "S5"}
bc.Border.Label = "Bar Chart"
bc.Width = 26
bc.Height = 10
bc.X = 51
bc.Y = 0
bc.DataLabels = bclabels
lc1 := ui.NewLineChart()
lc1.Border.Label = "Line Chart"
rndwalk := (func() []float64 {
n := 150
d := make([]float64, n)
for i := 1; i < n; i++ {
if i < 20 {
d[i] = d[i-1] + 0.01
}
if i > 20 {
d[i] = d[i-1] - 0.05
}
}
return d
})()
lc1.Data = rndwalk
lc1.Width = 26
lc1.Height = 11
lc1.X = 51
lc1.Y = 14
p1 := ui.NewPar("Hey!\nI am a borderless block!")
p1.HasBorder = false
p1.Width = 26
p1.Height = 2
p1.X = 52
p1.Y = 11
//.........这里部分代码省略.........
开发者ID:himanshugpt,项目名称:termui,代码行数:101,代码来源:theme.go
示例11: main
func main() {
err := ui.Init()
if err != nil {
panic(err)
}
defer ui.Close()
p := ui.NewPar(":PRESS q TO QUIT DEMO")
p.Height = 3
p.Width = 50
p.TextFgColor = ui.ColorWhite
p.Border.Label = "Text Box"
p.Border.FgColor = ui.ColorCyan
strs := []string{"[0] gizak/termui", "[1] editbox.go", "[2] iterrupt.go", "[3] keyboard.go", "[4] output.go", "[5] random_out.go", "[6] dashboard.go", "[7] nsf/termbox-go"}
list := ui.NewList()
list.Items = strs
list.ItemFgColor = ui.ColorYellow
list.Border.Label = "List"
list.Height = 7
list.Width = 25
list.Y = 4
g := ui.NewGauge()
g.Percent = 50
g.Width = 50
g.Height = 3
g.Y = 11
g.Border.Label = "Gauge"
g.BarColor = ui.ColorRed
g.Border.FgColor = ui.ColorWhite
g.Border.LabelFgColor = ui.ColorCyan
spark := ui.Sparkline{}
spark.Height = 1
spark.Title = "srv 0:"
spdata := []int{4, 2, 1, 6, 3, 9, 1, 4, 2, 15, 14, 9, 8, 6, 10, 13, 15, 12, 10, 5, 3, 6, 1, 7, 10, 10, 14, 13, 6}
spark.Data = spdata
spark.LineColor = ui.ColorCyan
spark.TitleColor = ui.ColorWhite
spark1 := ui.Sparkline{}
spark1.Height = 1
spark1.Title = "srv 1:"
spark1.Data = spdata
spark1.TitleColor = ui.ColorWhite
spark1.LineColor = ui.ColorRed
sp := ui.NewSparklines(spark, spark1)
sp.Width = 25
sp.Height = 7
sp.Border.Label = "Sparkline"
sp.Y = 4
sp.X = 25
sinps := (func() []float64 {
n := 220
ps := make([]float64, n)
for i := range ps {
ps[i] = 1 + math.Sin(float64(i)/5)
}
return ps
})()
lc := ui.NewLineChart()
lc.Border.Label = "dot-mode Line Chart"
lc.Data = sinps
lc.Width = 50
lc.Height = 11
lc.X = 0
lc.Y = 14
lc.AxesColor = ui.ColorWhite
lc.LineColor = ui.ColorRed | ui.AttrBold
lc.Mode = "dot"
bc := ui.NewBarChart()
bcdata := []int{3, 2, 5, 3, 9, 5, 3, 2, 5, 8, 3, 2, 4, 5, 3, 2, 5, 7, 5, 3, 2, 6, 7, 4, 6, 3, 6, 7, 8, 3, 6, 4, 5, 3, 2, 4, 6, 4, 8, 5, 9, 4, 3, 6, 5, 3, 6}
bclabels := []string{"S0", "S1", "S2", "S3", "S4", "S5"}
bc.Border.Label = "Bar Chart"
bc.Width = 26
bc.Height = 10
bc.X = 51
bc.Y = 0
bc.DataLabels = bclabels
bc.BarColor = ui.ColorGreen
bc.NumColor = ui.ColorBlack
lc1 := ui.NewLineChart()
lc1.Border.Label = "braille-mode Line Chart"
lc1.Data = sinps
lc1.Width = 26
lc1.Height = 11
lc1.X = 51
lc1.Y = 14
lc1.AxesColor = ui.ColorWhite
lc1.LineColor = ui.ColorYellow | ui.AttrBold
p1 := ui.NewPar("Hey!\nI am a borderless block!")
p1.HasBorder = false
p1.Width = 26
//.........这里部分代码省略.........
开发者ID:davidwadden,项目名称:lattice-release,代码行数:101,代码来源:dashboard.go
示例12: buildUI
//.........这里部分代码省略.........
headerList.Height = 25
headerList.Y = 0
var cookieStrings []string
for key, values := range info.Cookies {
cookieStrings = append(cookieStrings, fmt.Sprintf("%s: %s", key, values))
}
cookieList := ui.NewList()
cookieList.Items = cookieStrings
cookieList.ItemFgColor = ui.ColorYellow
cookieList.BorderLabel = "Cookies"
cookieList.Height = 25
cookieList.Y = 0
/* demo */
sinps := (func() []float64 {
n := 400
ps := make([]float64, n)
for i := range ps {
ps[i] = 1 + math.Sin(float64(i)/5)
}
return ps
})()
sinpsint := (func() []int {
ps := make([]int, len(sinps))
for i, v := range sinps {
ps[i] = int(100*v + 10)
}
return ps
})()
spark := ui.Sparkline{}
spark.Height = 12
spdata := sinpsint
spark.Data = spdata[:100]
spark.LineColor = ui.ColorCyan
spark.TitleColor = ui.ColorWhite
sp := ui.NewSparklines(spark)
sp.Height = 15
sp.BorderLabel = "Sparkline"
g1 := ui.NewGauge()
g1.Percent = 30
g1.Height = 4
g1.Y = 6
g1.BorderLabel = "Progress"
g1.PercentColor = ui.ColorYellow
g1.BarColor = ui.ColorGreen
g1.BorderFg = ui.ColorWhite
g1.BorderLabelFg = ui.ColorMagenta
ui.Body.AddRows(
ui.NewRow(
ui.NewCol(12, 0, urlLabel),
),
ui.NewRow(
ui.NewCol(6, 0, basicInfoList),
ui.NewCol(6, 0, sp),
),
ui.NewRow(
ui.NewCol(4, 0, serverLabel),
ui.NewCol(4, 0, languageLabel),
ui.NewCol(4, 0, frameworkLabel),
),
ui.NewRow(
ui.NewCol(4, 0, packageLabel),
ui.NewCol(4, 0, ispLabel),
ui.NewCol(4, 0, g1),
),
ui.NewRow(
ui.NewCol(6, 0, headerList),
ui.NewCol(6, 0, cookieList),
),
)
ui.Body.Align()
ui.Render(ui.Body)
// redraw := make(chan bool)
ui.Handle("/sys/kbd/q", func(ui.Event) {
// press q to quit
ui.StopLoop()
})
ui.Handle("/sys/wnd/resize", func(ui.Event) {
// press q to quit
ui.Body.Width = ui.TermWidth()
ui.Body.Align()
})
ui.Handle("/timer/1s", func(e ui.Event) {
ui.Body.Align()
})
ui.Loop()
}
开发者ID:takaaki-mizuno,项目名称:web-architecture-analyzer,代码行数:101,代码来源:main.go
示例13: main
func main() {
if err := ui.Init(); err != nil {
panic(err)
}
defer ui.Close()
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
p.Handle("/timer/1s", func(e ui.Event) {
cnt := e.Data.(ui.EvtTimer)
if cnt.Count%2 == 0 {
p.TextFgColor = ui.ColorRed
} else {
p.TextFgColor = ui.ColorWhite
}
})
strs := []string{"[0] gizak/termui", "[1] editbox.go", "[2] iterrupt.go", "[3] keyboard.go", "[4] output.go", "[5] random_out.go", "[6] dashboard.go", "[7] nsf/termbox-go"}
list := ui.NewList()
list.Items = strs
list.ItemFgColor = ui.ColorYellow
list.BorderLabel = "List"
list.Height = 7
list.Width = 25
list.Y = 4
g := ui.NewGauge()
g.Percent = 50
g.Width = 50
g.Height = 3
g.Y = 11
g.BorderLabel = "Gauge"
g.BarColor = ui.ColorRed
g.BorderFg = ui.ColorWhite
g.BorderLabelFg = ui.ColorCyan
spark := ui.Sparkline{}
spark.Height = 1
spark.Title = "srv 0:"
spdata := []int{4, 2, 1, 6, 3, 9, 1, 4, 2, 15, 14, 9, 8, 6, 10, 13, 15, 12, 10, 5, 3, 6, 1, 7, 10, 10, 14, 13, 6, 4, 2, 1, 6, 3, 9, 1, 4, 2, 15, 14, 9, 8, 6, 10, 13, 15, 12, 10, 5, 3, 6, 1, 7, 10, 10, 14, 13, 6, 4, 2, 1, 6, 3, 9, 1, 4, 2, 15, 14, 9, 8, 6, 10, 13, 15, 12, 10, 5, 3, 6, 1, 7, 10, 10, 14, 13, 6, 4, 2, 1, 6, 3, 9, 1, 4, 2, 15, 14, 9, 8, 6, 10, 13, 15, 12, 10, 5, 3, 6, 1, 7, 10, 10, 14, 13, 6}
spark.Data = spdata
spark.LineColor = ui.ColorCyan
spark.TitleColor = ui.ColorWhite
spark1 := ui.Sparkline{}
spark1.Height = 1
spark1.Title = "srv 1:"
spark1.Data = spdata
spark1.TitleColor = ui.ColorWhite
spark1.LineColor = ui.ColorRed
sp := ui.NewSparklines(spark, spark1)
sp.Width = 25
sp.Height = 7
sp.BorderLabel = "Sparkline"
sp.Y = 4
sp.X = 25
sinps := (func() []float64 {
n := 220
ps := make([]float64, n)
for i := range ps {
ps[i] = 1 + math.Sin(float64(i)/5)
}
return ps
})()
lc := ui.NewLineChart()
lc.BorderLabel = "dot-mode Line Chart"
lc.Data = sinps
lc.Width = 50
lc.Height = 11
lc.X = 0
lc.Y = 14
lc.AxesColor = ui.ColorWhite
lc.LineColor = ui.ColorRed | ui.AttrBold
lc.Mode = "dot"
bc := ui.NewBarChart()
bcdata := []int{3, 2, 5, 3, 9, 5, 3, 2, 5, 8, 3, 2, 4, 5, 3, 2, 5, 7, 5, 3, 2, 6, 7, 4, 6, 3, 6, 7, 8, 3, 6, 4, 5, 3, 2, 4, 6, 4, 8, 5, 9, 4, 3, 6, 5, 3, 6}
bclabels := []string{"S0", "S1", "S2", "S3", "S4", "S5"}
bc.BorderLabel = "Bar Chart"
bc.Width = 26
bc.Height = 10
bc.X = 51
bc.Y = 0
bc.DataLabels = bclabels
bc.BarColor = ui.ColorGreen
bc.NumColor = ui.ColorBlack
lc1 := ui.NewLineChart()
lc1.BorderLabel = "braille-mode Line Chart"
lc1.Data = sinps
lc1.Width = 26
lc1.Height = 11
lc1.X = 51
//.........这里部分代码省略.........
开发者ID:missingdays,项目名称:termui,代码行数:101,代码来源:dashboard.go
示例14: Init
// Init creates widgets, sets sizes and labels.
func (t *TermUI) Init(data UIData) error {
err := termui.Init()
if err != nil {
return err
}
termui.UseTheme("helloworld")
theme := termui.Theme()
theme.BodyBg = termui.ColorDefault
theme.BlockBg = termui.ColorDefault
theme.BorderBg = termui.ColorDefault
theme.BorderFg = termui.ColorBlack
theme.BorderLabelTextBg = termui.ColorDefault
theme.BorderLabelTextFg = termui.ColorCyan
theme.ListItemBg = termui.ColorDefault
theme.ParTextBg = termui.ColorDefault
termui.SetTheme(theme)
t.Title = func() *termui.Par {
p := termui.NewPar("")
p.Height = 3
p.TextFgColor = termui.ColorWhite
p.Border.Label = "Services Monitor"
p.Border.FgColor = termui.ColorBlack
return p
}()
t.Status = func() *termui.Par {
p := termui.NewPar("")
p.Height = 3
p.TextFgColor = termui.ColorWhite
p.Border.Label = "Status"
p.Border.LabelFgColor = termui.ColorCyan
p.Border.FgColor = termui.ColorBlack
return p
}()
t.Services = func() *termui.List {
list := termui.NewList()
list.ItemFgColor = termui.ColorYellow
list.Border.LabelFgColor = termui.ColorCyan | termui.AttrBold
list.Border.Label = "Services"
list.Height = len(data.Services) + 2
return list
}()
t.Lists = make([]*termui.List, len(data.Vars))
for i, name := range data.Vars {
list := termui.NewList()
list.ItemFgColor = colorByKind(name.Kind())
list.Border.Label = name.Short()
list.Border.LabelFgColor = termui.ColorCyan
list.Height = len(data.Services) + 2
t.Lists[i] = list
}
makeSparkline := func(name VarName) *termui.Sparklines {
var sparklines []termui.Sparkline
for _, service := range data.Services {
spl := termui.NewSparkline()
spl.Height = 1
spl.TitleColor = termui.ColorGreen
spl.LineColor = termui.ColorGreen
spl.Title = service.Name
sparklines = append(sparklines, spl)
}
s := termui.NewSparklines(sparklines...)
s.Height = 2*len(data.Services) + 2
s.HasBorder = true
s.Border.Label = fmt.Sprintf("Monitoring %s", name.Long())
return s
}
t.Sparkline1 = makeSparkline(data.Vars[0])
if len(data.Vars) > 1 {
t.Sparkline2 = makeSparkline(data.Vars[1])
}
t.Relayout()
return nil
}
开发者ID:peterhellberg,项目名称:expvarmon,代码行数:82,代码来源:ui_multi.go
示例15: main
func main() {
if err := ui.Init(); err != nil {
panic(err)
}
defer ui.Close()
sinps := (func() []float64 {
n := 400
ps := make([]float64, n)
for i := range ps {
ps[i] = 1 + math.Sin(float64(i)/5)
}
return ps
})()
sinpsint := (func() []int {
ps := make([]int, len(sinps))
for i, v := range sinps {
ps[i] = int(100*v + 10)
}
return ps
})()
spark := ui.Sparkline{}
spark.Height = 8
spdata := sinpsint
spark.Data = spdata[:100]
spark.LineColor = ui.ColorCyan
spark.TitleColor = ui.ColorWhite
sp := ui.NewSparklines(spark)
sp.Height = 11
sp.BorderLabel = "Sparkline"
lc := ui.NewLineChart()
lc.BorderLabel = "braille-mode Line Chart"
lc.Data = sinps
lc.Height = 11
lc.AxesColor = ui.ColorWhite
lc.LineColor = ui.ColorYellow | ui.AttrBold
gs := make([]*ui.Gauge, 3)
for i := range gs {
gs[i] = ui.NewGauge()
//gs[i].LabelAlign = ui.AlignCenter
gs[i].Height = 2
gs[i].Border = false
gs[i].Percent = i * 10
gs[i].PaddingBottom = 1
gs[i].BarColor = ui.ColorRed
}
ls := ui.NewList()
ls.Border = false
ls.Items = []string{
"[1] Downloading File 1",
"", // == \newline
"[2] Downloading File 2",
"",
"[3] Uploading File 3",
}
ls.Height = 5
par := ui.NewPar("<> This row has 3 columns\n<- Widgets can be stacked up like left side\n<- Stacked widgets are treated as a single widget")
par.Height = 5
par.BorderLabel = "Demonstration"
// build layout
ui.Body.AddRows(
ui.NewRow(
ui.NewCol(6, 0, sp),
ui.NewCol(6, 0, lc)),
ui.NewRow(
ui.NewCol(3, 0, ls),
ui.NewCol(3, 0, gs[0], gs[1], gs[2]),
ui.NewCol(6, 0, par)))
// calculate layout
ui.Body.Align()
ui.Render(ui.Body)
ui.Handle("/sys/kbd/q", func(ui.Event) {
ui.StopLoop()
})
ui.Handle("/timer/1s", func(e ui.Event) {
t := e.Data.(ui.EvtTimer)
i := t.Count
if i > 103 {
ui.StopLoop()
return
}
for _, g := range gs {
g.Percent = (g.Percent + 3) % 100
}
sp.Lines[0].Data = spdata[:100+i]
lc.Data = sinps[2*i:]
ui.Render(ui.Body)
})
//.........这里部分代码省略.........
开发者ID:himanshugpt,项目名称:termui,代码行数:101,代码来源:grid.go
示例16: main
func main() {
err := ui.Init()
if err != nil {
panic(err)
}
defer ui.Close()
sinps := (func() []float64 {
n := 400
ps := make([]float64, n)
for i := range ps {
ps[i] = 1 + math.Sin(float64(i)/5)
}
return ps
})()
sinpsint := (func() []int {
ps := make([]int, len(sinps))
for i, v := range sinps {
ps[i] = int(100*v + 10)
}
return ps
})()
// ui.UseTheme("helloworld")
spark := ui.Sparkline{}
spark.Height = 8
spdata := sinpsint
spark.Data = spdata[:100]
spark.LineColor = ui.ColorCyan
spark.TitleColor = ui.ColorWhite
sp := ui.NewSparklines(spark)
sp.Height = 11
sp.Border.Label = "Sparkline"
lc := ui.NewLineChart()
lc.Border.Label = "braille-mode Line Chart"
lc.Data = sinps
lc.Height = 11
lc.AxesColor = ui.ColorWhite
lc.LineColor = ui.ColorYellow | ui.AttrBold
gs := make([]*ui.Gauge, 3)
for i := range gs {
gs[i] = ui.NewGauge()
gs[i].Height = 2
gs[i].HasBorder = false
gs[i].Percent = i * 10
gs[i].PaddingBottom = 1
gs[i].BarColor = ui.ColorRed
}
ls := ui.NewList()
ls.HasBorder = false
ls.Items = []string{
"[1] Downloading File 1",
"", // == \newline
"[2] Downloading File 2",
"",
"[3] Uploading File 3",
}
ls.Height = 5
par := ui.NewPar("<> This row has 3 columns\n<- Widgets can be stacked up like left side\n<- Stacked widgets are treated as a single widget")
par.Height = 5
par.Border.Label = "Demonstration"
// build layout
ui.Body.AddRows(
ui.NewRow(
ui.NewCol(6, 0, sp),
ui.NewCol(6, 0, lc)),
ui.NewRow(
ui.NewCol(3, 0, ls),
ui.NewCol(3, 0, gs[0], gs[1], gs[2]),
ui.NewCol(6, 0, par)))
// calculate layout
ui.Body.Align()
done := make(chan bool)
redraw := make(chan bool)
/*
update := func() {
for i := 0; i < 103; i++ {
for _, g := range gs {
g.Percent = (g.Percent + 3) % 100
}
sp.Lines[0].Data = spdata[:100+i]
lc.Data = sinps[2*i:]
time.Sleep(time.Second / 2)
redraw <- true
}
done <- true
}
*/
//.........这里部分代码省略.........
开发者ID:arscan,项目名称:gosf,代码行数:101,代码来源:main.go
示例17: runTestSequence
func (sc *sparkyClient) runTestSequence() {
// First, we need to build the widgets on our screen.
// Build our title box
titleBox := termui.NewPar("──────[ sparkyfish ]────────────────────────────────────────")
titleBox.Height = 1
titleBox.Width = 60
titleBox.Y = 0
titleBox.Border = false
titleBox.TextFgColor = termui.ColorWhite | termui.AttrBold
// Build the server name/location banner line
bannerBox := termui.NewPar("")
bannerBox.Height = 1
bannerBox.Width = 60
bannerBox.Y = 1
bannerBox.Border = false
bannerBox.TextFgColor = termui.ColorRed | termui.AttrBold
// Build a download graph widget
dlGraph := termui.NewLineChart()
dlGraph.BorderLabel = " Download Speed (Mbit/s)"
dlGraph.Data = []float64{0}
dlGraph.Width = 30
dlGraph.Height = 12
dlGraph.PaddingTop = 1
dlGraph.X = 0
dlGraph.Y = 6
// Windows Command Prompt doesn't support our Unicode characters with the default font
if runtime.GOOS == "windows" {
dlGraph.Mode = "dot"
dlGraph.DotStyle = '+'
}
dlGraph.AxesColor = termui.ColorWhite
dlGraph.LineColor = termui.ColorGreen | termui.AttrBold
// Build an upload graph widget
ulGraph := termui.NewLineChart()
ulGraph.BorderLabel = " Upload Speed (Mbit/s)"
ulGraph.Data = []float64{0}
ulGraph.Width = 30
ulGraph.Height = 12
ulGraph.PaddingTop = 1
ulGraph.X = 30
ulGraph.Y = 6
// Windows Command Prompt doesn't support our Unicode characters with the default font
if runtime.GOOS == "windows" {
ulGraph.Mode = "dot"
ulGraph.DotStyle = '+'
}
ulGraph.AxesColor = termui.ColorWhite
ulGraph.LineColor = termui.ColorGreen | termui.AttrBold
latencyGraph := termui.NewSparkline()
latencyGraph.LineColor = termui.ColorCyan
latencyGraph.Height = 3
latencyGroup := termui.NewSparklines(latencyGraph)
latencyGroup.Y = 3
latencyGroup.Height = 3
latencyGroup.Width = 30
latencyGroup.Border = false
latencyGroup.Lines[0].Data = []int{0}
latencyTitle := termui.NewPar("Latency")
latencyTitle.Height = 1
latencyTitle.Width = 30
latencyTitle.Border = false
latencyTitle.TextFgColor = termui.ColorGreen
latencyTitle.Y = 2
latencyStats := termui.NewPar("")
latencyStats.Height = 4
latencyStats.Width = 30
latencyStats.X = 32
latencyStats.Y = 2
latencyStats.Border = false
latencyStats.TextFgColor = termui.ColorWhite | termui.AttrBold
latencyStats.Text = "Last: 30ms\nMin: 2ms\nMax: 34ms"
// Build a stats summary widget
statsSummary := termui.NewPar("")
statsSummary.Height = 7
statsSummary.Width = 60
statsSummary.Y = 18
statsSummary.BorderLabel = " Throughput Summary "
statsSummary.Text = fmt.Sprintf("DOWNLOAD \nCurrent: -- Mbit/s\tMax: --\tAvg: --\n\nUPLOAD\nCurrent: -- Mbit/s\tMax: --\tAvg: --")
statsSummary.TextFgColor = termui.ColorWhite | termui.AttrBold
// Build out progress gauge widget
progress := termui.NewGauge()
progress.Percent = 40
progress.Width = 60
progress.Height = 3
progress.Y = 25
progress.X = 0
progress.Border = true
progress.BorderLabel = " Test Progress "
progress.Percent = 0
progress.BarColor = termui.ColorRed
//.........这里部分代码省略.........
开发者ID:mephux,项目名称:sparkyfish,代码行数:101,代码来源:sparkyfish-cli.go
示例18: main
//.........这里部分代码省略.........
se8_2 := tui.NewLineChart()
se8_2.Data = cosData()
se8_2.BorderFg = tui.ColorYellow
se8_2.BorderLabelFg = tui.ColorWhite
se8_2.Width = tui.TermWidth()
se8_2.Height = (tui.TermHeight() / 2) - (pr_th + g_h)
se8_2.Y = pr_th + se8_1.Height
// Slide 9
txtlst9 := "Widgets - Bar Charts\n\n"
txtlst9 += "o Draw bar charts\n\n"
txtlst9 += " data := []int{4, 5, 6, 7, 8, 6, 5}\n"
txtlst9 += " bc := termui.NewBarChart()\n"
txtlst9 += " bc.Data = data"
se9_1 := tui.NewPar(txtlst9)
se9_1.Width = tui.TermWidth()
se9_1.Height = (tui.TermHeight() / 2) - (pr_th + g_h)
se9_1.Y = pr_th
se9_2 := tui.NewBarChart()
se9_2.Data = []int{4, 5, 6, 7, 8, 6, 5}
se9_2.DataLabels = []string{"S0", "S1", "S2", "S3", "S4", "S5", "S6", "S7"}
se9_2.BorderFg = tui.ColorYellow
se9_2.BorderLabelFg = tui.ColorWhite
se9_2.Width = tui.TermWidth()
se9_2.Height = (tui.TermHeight() / 2) - (pr_th + g_h)
se9_2.Y = pr_th + se9_1.Height
// Slide 10
txtlst10 := "Widgets - Sparklines\n\n"
txtlst10 += "o Draw sparklines\n\n"
txtlst10 += " data := []int{4, 5, 6, 7, 8, 6, 5}\n"
txtlst10 += " sp := termui.NewSparkline()\n"
txtlst10 += " sp.Data = data\n"
txtlst10 += " spl := termui.NewSparklines(sp)"
se10_1 := tui.NewPar(txtlst10)
se10_1.Width = tui.TermWidth()
se10_1.Height = (tui.TermHeight() / 2) - (pr_th + g_h)
se10_1.Y = pr_th
sp10_2 := tui.NewSparkline()
sp10_2.Data = []int{4, 5, 6, 7, 8, 6, 5}
sp10_2.LineColor = tui.ColorRed
se10_2 := tui.NewSparklines(sp10_2)
se10_2.Width = tui.TermWidth()
se10_2.Height = (tui.TermHeight() / 2) - (pr_th + g_h)
se10_2.Y = pr_th + se10_1.Height
// Slide 11
txtlst11 := "General Workflow\n\n"
txtlst11 += "o Setup\n\no Create & Setup UI elems\n\n"
txtlst11 += "o Setup handlers\n\nLoop"
se11_1 := tui.NewPar(txtlst11)
se11_1.Width = tui.TermWidth()
se11_1.Height = (tui.TermHeight() / 2) - (pr_th + g_h)
se11_1.Y = pr_th
txtlst11_2 := " termui.Init()\n"
txtlst11_2 += " p := termui.NewPar(\"Hello World\")\n"
txtlst11_2 += " termui.Render(p)\n"
txtlst11_2 += " termui.Handle(\"/sys/kbd/Q\", func(termui.Event) {\n"
txtlst11_2 += " termui.StopLoop() })\n"
txtlst11_2 += " termui.Loop()"
se11_2 := tui.NewPar(txtlst11_2)
se11_2.BorderFg = tui.ColorYellow
se11_2.BorderLabelFg = tui.ColorWhite
se11_2.Width = tui.TermWidth()
se11_2.Height = (tui.TermHeight() / 2) - (pr_th + g_h)
se11_2.Y = pr_th + se11_1.Height
开发者ID:hoanga,项目名称:gohavefun,代码行数:67,代码来源:prez.go
注:本文中的github.com/gizak/termui.NewSparklines函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论