本文整理汇总了Golang中github.com/gizak/termui.NewGauge函数的典型用法代码示例。如果您正苦于以下问题:Golang NewGauge函数的具体用法?Golang NewGauge怎么用?Golang NewGauge使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewGauge函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: main
func main() {
err := termui.Init()
if err != nil {
panic(err)
}
defer termui.Close()
termui.UseTheme("helloworld")
g0 := termui.NewGauge()
g0.Percent = 40
g0.Width = 50
g0.Height = 3
g0.Border.Label = "Slim Gauge"
g0.BarColor = termui.ColorRed
g0.Border.FgColor = termui.ColorWhite
g0.Border.LabelFgColor = termui.ColorCyan
g2 := termui.NewGauge()
g2.Percent = 60
g2.Width = 50
g2.Height = 3
g2.PercentColor = termui.ColorBlue
g2.Y = 3
g2.Border.Label = "Slim Gauge"
g2.BarColor = termui.ColorYellow
g2.Border.FgColor = termui.ColorWhite
g1 := termui.NewGauge()
g1.Percent = 30
g1.Width = 50
g1.Height = 5
g1.Y = 6
g1.Border.Label = "Big Gauge"
g1.PercentColor = termui.ColorYellow
g1.BarColor = termui.ColorGreen
g1.Border.FgColor = termui.ColorWhite
g1.Border.LabelFgColor = termui.ColorMagenta
g3 := termui.NewGauge()
g3.Percent = 50
g3.Width = 50
g3.Height = 3
g3.Y = 11
g3.Border.Label = "Gauge with custom label"
g3.Label = "{{percent}}% (100MBs free)"
g3.LabelAlign = termui.AlignRight
termui.Render(g0, g1, g2, g3)
<-termui.EventCh()
}
示例2: AdjustMemory
func (t *TerminalUI) AdjustMemory(stats Statistics) {
// memory gauges
mem := make([]*ui.Gauge, len(stats.Instances))
for i, idx := range stats.Instances {
// show max 8 instances
if i > 7 {
break
}
memory := uint64(stats.Data[idx].Stats.Usage.Memory)
quota := uint64(stats.Data[idx].Stats.MemoryQuota)
percent := int(math.Ceil((float64(memory) / float64(quota)) * 100.0))
mem[i] = ui.NewGauge()
mem[i].Percent = percent
mem[i].Height = 13 - min(len(stats.Instances), 8)
mem[i].Border.Label = fmt.Sprintf("Memory - Instance %d: %d%% (%s / %s)",
i, percent, bytefmt.ByteSize(memory), bytefmt.ByteSize(quota))
mem[i].Border.FgColor = ui.ColorWhite
mem[i].Border.LabelFgColor = ui.ColorWhite
mem[i].BarColor = colors[i%6]
mem[i].PercentColor = ui.ColorWhite
}
t.Memory = mem
// update layout
ui.Body.Rows = []*ui.Row{
ui.NewRow(
ui.NewCol(3, 0, t.Usage),
ui.NewCol(3, 0, t.Summary),
ui.NewCol(6, 0, t.Disk)),
ui.NewRow(
ui.NewCol(6, 0, t.CPU),
t.newMemCol(6, 0, t.Memory)),
}
}
示例3: Init
func (w *ChunkWidget) Init() {
g := termui.NewGauge()
g.Percent = 10
g.Width = 50
g.Height = 3
g.Y = 11
g.Border.Label = "> " + w.title + " chunks <"
g.Label = "test"
g.LabelAlign = termui.AlignRight
g.BarColor = termui.ColorGreen
// g.PercentColor = termui.ColorYellow
w.bc = g
go func() {
for {
// TODO: refresh data here via channel or something
s := gen.MongosMonitor()
if max3(s.GetStats().ChunkDistribution) == 0 {
w.bc.Percent = 0
} else {
w.bc.Percent = w.getChunkCount(s.GetStats())
}
w.bc.Label = fmt.Sprintf("chunks: %d", s.GetStats().ChunkDistribution[w.shard])
w.bc.Border.Label = "> " + w.title + " - " + w.bc.Label + " <"
time.Sleep(1 * time.Second)
}
}()
}
示例4: titleWidget
// titleWidget Provides the title bar
func titleWidget() *termui.Gauge {
t := termui.NewGauge()
t.Height = 1
t.Border = false
return t
}
示例5: 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.BorderLabel = "Text Box"
p.BorderFg = ui.ColorCyan
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
ui.Render(p, g) // feel free to call Render, it's async and non-block
}
示例6: 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
}
示例7: AddGauge
func (cte *CpuTabElems) AddGauge(key string, Y int, width int) *termui.Gauge {
cte.GMap[key] = termui.NewGauge()
cte.GMap[key].Width = width
cte.GMap[key].Height = 3
cte.GMap[key].Y = Y
cte.GMap[key].Border.Label = key
cte.GMap[key].Percent = 0 //int(val.user + val.nice + val.system)
return cte.GMap[key]
}
示例8: main
func main() {
err := ui.Init()
fmt.Println(daemon.UpSince())
if err != nil {
fmt.Println("Could not initialise UI")
}
defer ui.Close()
ut, _ := daemon.Uptime()
p := ui.NewPar(ut.String())
p.Height = 3
p.Width = 50
p.TextFgColor = ui.ColorWhite
p.Border.Label = "Uptime"
p.Border.FgColor = ui.ColorCyan
g0 := ui.NewGauge()
g0.Percent = 40
g0.Width = 50
g0.Height = 3
g0.Border.Label = "Memory"
g0.BarColor = ui.ColorRed
g0.Border.FgColor = ui.ColorWhite
g0.Border.LabelFgColor = ui.ColorCyan
g2 := ui.NewGauge()
g2.Percent = 60
g2.Width = 50
g2.Height = 3
g2.PercentColor = ui.ColorBlue
g2.Y = 3
g2.Border.Label = "CPU"
g2.BarColor = ui.ColorYellow
g2.Border.FgColor = ui.ColorWhite
ui.Body.AddRows(ui.NewRow(ui.NewCol(6, 0, g0), ui.NewCol(6, 0, p)),
ui.NewRow(ui.NewCol(6, 0, g2)))
ui.Body.Align()
ui.Render(ui.Body)
go updateMemCPU(g2, g0)
go updateUptime(p)
<-ui.EventCh()
}
示例9: main
func main() {
err := termui.Init()
if err != nil {
panic(err)
}
defer termui.Close()
termui.UseTheme("helloworld")
g0 := termui.NewGauge()
g0.Percent = 40
g0.Width = 50
g0.Height = 3
g0.Border.Label = "Slim Gauge"
g0.BarColor = termui.ColorRed
g0.Border.FgColor = termui.ColorWhite
g0.Border.LabelFgColor = termui.ColorCyan
g2 := termui.NewGauge()
g2.Percent = 60
g2.Width = 50
g2.Height = 3
g2.PercentColor = termui.ColorBlue
g2.Y = 3
g2.Border.Label = "Slim Gauge"
g2.BarColor = termui.ColorYellow
g2.Border.FgColor = termui.ColorWhite
g1 := termui.NewGauge()
g1.Percent = 30
g1.Width = 50
g1.Height = 5
g1.Y = 6
g1.Border.Label = "Big Gauge"
g1.PercentColor = termui.ColorYellow
g1.BarColor = termui.ColorGreen
g1.Border.FgColor = termui.ColorWhite
g1.Border.LabelFgColor = termui.ColorMagenta
termui.Render(g0, g1, g2)
termbox.PollEvent()
}
示例10: main
func main() {
err := termui.Init()
if err != nil {
panic(err)
}
defer termui.Close()
sinps := (func() []float64 {
n := 220
ps := make([]float64, n)
for i := range ps {
ps[i] = 1 + math.Sin(float64(i)/5)
}
return ps
})()
p := termui.NewPar(":PRESS q or Esc TO QUIT DEMO Hello World")
p.Height = 3
p.Width = 50
p.TextFgColor = termui.ColorWhite
p.BorderLabel = "Hello-World"
p.BorderFg = termui.ColorCyan
lc1 := termui.NewLineChart()
lc1.BorderLabel = "dot-mode Line Chart"
lc1.Mode = "dot"
lc1.Data = sinps
lc1.Width = 26
lc1.Height = 12
lc1.X = 51
lc1.DotStyle = '+'
lc1.AxesColor = termui.ColorWhite
lc1.LineColor = termui.ColorYellow | termui.AttrBold
g0 := termui.NewGauge()
g0.Percent = 40
g0.Width = 50
g0.Height = 3
g0.Y = 3
g0.BorderLabel = "Slim Gauge"
g0.BarColor = termui.ColorRed
g0.BorderFg = termui.ColorWhite
g0.BorderLabelFg = termui.ColorCyan
termui.Render(p, g0, lc1)
termui.Handle("/sys", func(e termui.Event) {
k, ok := e.Data.(termui.EvtKbd)
if ok && (k.KeyStr == "q" || k.KeyStr == "<escape>") {
termui.StopLoop()
}
})
termui.Loop()
}
示例11: 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}
}
示例12: Init
func (m *MsgLossChart) Init(cfUI terminal.UI) {
m.sentByIP = make(map[string]int64)
m.receivedByIP = make(map[string]int64)
m.cfUI = cfUI
m.graph = termui.NewGauge()
m.graph.Width = 50
m.graph.Height = 8
m.graph.PercentColor = termui.ColorBlue
m.graph.Y = 0
m.graph.X = 0
m.graph.BorderLabel = "(%)Msg Loss Between Metron and Doppler"
m.graph.BarColor = termui.ColorYellow
m.graph.BorderFg = termui.ColorWhite
m.validOrigins = []string{"MetronAgent", "DopplerServer"}
m.validMetricNames = []string{"DopplerForwarder.sentMessages", "tlsListener.receivedMessageCount", "dropsondeListener.receivedMessageCount"}
}
示例13: refreshActiveDownloadWidgets
func (u *Ui) refreshActiveDownloadWidgets() {
u.activeDownloadWidgets = make([]*termui.Gauge, 0, len(u.activeDownloads))
uris := make([]string, 0, len(u.activeDownloads))
for uri, _ := range u.activeDownloads {
uris = append(uris, uri)
}
sort.Strings(uris)
for _, uri := range uris {
progress := u.activeDownloads[uri]
widget := termui.NewGauge()
widget.Height = 3
widget.Percent = int(progress.Percent * 100)
widget.Border.Label = "Downloading: " + uri
widget.Label = fmt.Sprintf("{{percent}}%% (%s)", curl.PrettySpeedString(progress.Speed))
u.activeDownloadWidgets = append(u.activeDownloadWidgets, widget)
}
}
示例14: NewBar
func NewBar(width int, x int, y int, label string, targetBufferer *[]termui.Bufferer) *Bar {
e := &Bar{}
e.Height = 3
e.Width = width
e.X = x
e.Y = y
e.Gauge = termui.NewGauge()
e.Gauge.Percent = 0
e.Gauge.Percent = 0
e.Gauge.Width = width - 6
e.Gauge.Height = e.Height
e.Gauge.Border.Label = ""
e.Gauge.BgColor = termui.ColorBlack
e.Gauge.BarColor = termui.ColorGreen
e.Gauge.Border.FgColor = termui.ColorWhite
e.Gauge.Border.LabelFgColor = termui.ColorCyan
e.Gauge.HasBorder = true
e.Gauge.LabelAlign = termui.AlignRight
e.Label = termui.NewPar("")
e.Label.Width = 20
e.Label.Height = 1
e.Label.TextFgColor = termui.ColorWhite
e.Label.HasBorder = false
e.Label.Text = label
e.Bufferer = append(e.Bufferer, e.Gauge)
e.Bufferer = append(e.Bufferer, e.Label)
*targetBufferer = append(*targetBufferer, e.Bufferer...)
e.ValueChannel = make(chan int, 100)
go e.readValueChannel()
e.Invalidate()
return e
}
示例15: RunTerminalUI
func RunTerminalUI() {
err := ui.Init()
if err != nil {
panic(err)
}
defer ui.Close()
// var ps []float64
//
// jobrateStream := (func() []float64 {
//
// jInfo := GetInfoObj()
// ps = append(ps, float64(jInfo.JobRate))
// return ps
//
// })
// ui.UseTheme("helloworld")
// lc := ui.NewLineChart()
// lc.Border.Label = "JobRate"
// lc.Data = jobrateStream()
// lc.Width = 100
// lc.Height = 20
// lc.X = 0
// lc.Y = 0
// lc.AxesColor = ui.ColorWhite
// lc.LineColor = ui.ColorRed | ui.AttrBold
// lc.Mode = "dot"
BufferPercent := func() int {
return int(100 * len(resultsToDispatch) / Config.DispatchBufferSize)
}
gspeed := ui.NewGauge()
gspeed.Percent = 50
gspeed.Width = 50
gspeed.Height = 3
gspeed.Y = 8
gspeed.X = 0
gspeed.Border.Label = "Job Rate"
gspeed.BarColor = ui.ColorGreen
gspeed.Border.FgColor = ui.ColorWhite
gspeed.Border.LabelFgColor = ui.ColorYellow
greq := ui.NewGauge()
greq.Percent = 50
greq.Width = 50
greq.Height = 3
greq.Y = 0
greq.X = 0
greq.Border.Label = "Requests Buffer"
greq.BarColor = ui.ColorYellow
greq.Border.FgColor = ui.ColorWhite
greq.Border.LabelFgColor = ui.ColorCyan
g := ui.NewGauge()
g.Percent = 50
g.Width = 50
g.Height = 3
g.Y = 4
g.Border.Label = "Results Buffer"
g.BarColor = ui.ColorRed
g.Border.FgColor = ui.ColorWhite
g.Border.LabelFgColor = ui.ColorCyan
list_msg := ui.NewList()
list_msg.ItemFgColor = ui.ColorYellow
list_msg.Border.Label = "Log"
list_msg.Height = 10
list_msg.Y = 14
list_msg.X = 30
list_msg.Width = 25
list := ui.NewList()
list.ItemFgColor = ui.ColorYellow
list.Border.Label = "Info"
list.Height = 10
list.Y = 14
list.Width = 25
listItems := func() (out []string) {
inf := GetInfoObj()
out = append(out, fmt.Sprintf(" %d Jobs/Second", inf.JobRate))
out = append(out, fmt.Sprintf(" %d Workers", workForce.NumWorkers))
out = append(out, fmt.Sprintf(" %d Jobs Processed", TotalDone))
out = append(out, fmt.Sprintf(" %s QueueBinary", Config.Fetch_Binkey))
out = append(out, fmt.Sprintf(" %s", inf.Host))
out = append(out, fmt.Sprintf(" %v", inf.IpAddresses))
return
}
p := ui.NewPar("0 Jobs per second")
p.Height = 3
p.Width = 50
p.TextFgColor = ui.ColorWhite
p.Border.Label = "Text Box"
p.Border.FgColor = ui.ColorCyan
draw := func(t int) {
//.........这里部分代码省略.........