本文整理汇总了Golang中github.com/jroimartin/gocui.Gui.SetView方法的典型用法代码示例。如果您正苦于以下问题:Golang Gui.SetView方法的具体用法?Golang Gui.SetView怎么用?Golang Gui.SetView使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/jroimartin/gocui.Gui
的用法示例。
在下文中一共展示了Gui.SetView方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: setLayout
func setLayout(g *gocui.Gui) error {
maxX, maxY := g.Size()
if v, err := g.SetView("tubes", 0, 0, maxX-1, maxY-3); err != nil {
if err != gocui.ErrUnknownView {
return err
}
//Initialise the view settings
v.Highlight = true
v.Wrap = true
v.Editable = false
v.Autoscroll = false
PrintTubeList(v)
//Move the cursor to the first tube
if err = MoveTubeCursor(g, 0, 1); err != nil {
return err
}
}
if v, err := g.SetView("menu", 0, maxY-3, maxX-1, maxY-1); err != nil {
if err != gocui.ErrUnknownView {
return err
}
PrintMenu(v)
}
return nil
}
示例2: MenuView
func MenuView(g *gocui.Gui, maxX, maxY int) error {
if v, err := g.SetView("menu", -1, maxY-4, maxX, maxY+3); err != nil {
if err != gocui.ErrUnknownView {
return err
}
_, err := g.SetCurrentView("menu")
if err != nil {
return err
}
// v.FgColor = gocui.ColorGreen
v.BgColor = gocui.ColorDefault
v.Autoscroll = false
v.Editable = false
v.Wrap = false
v.Frame = false
go func() {
for range time.Tick(time.Millisecond * 200) {
UpdateMenuView(g)
}
}()
UpdateMenuView(g)
}
return nil
}
示例3: layout
func layout(g *gocui.Gui) error {
maxX, maxY := g.Size()
v, err := g.SetView("mainmenu", 2, 1, maxX-2, maxY-2)
v.FgColor = gocui.ColorGreen
if err != nil {
if err != gocui.ErrUnknownView {
return err
}
// b, err := ioutil.ReadFile("mainmenu")
//if err != nil {
// log.Panicln(err)
// panic(err)
//}
v.Title = "Main Menu"
v.Frame = true
//fmt.Fprintf(v, "%s", b)
v.Wrap = true
v.SetCursor(10, 10)
fmt.Println(v.Cursor())
}
return nil
}
示例4: layout
func layout(g *gocui.Gui) error {
maxX, _ := g.Size()
if v, err := g.SetView("legend", maxX-23, 0, maxX-1, 5); err != nil {
if err != gocui.ErrUnknownView {
return err
}
fmt.Fprintln(v, "KEYBINDINGS")
fmt.Fprintln(v, "↑ ↓: Seek input")
fmt.Fprintln(v, "A: Enable autoscroll")
fmt.Fprintln(v, "^C: Exit")
}
if v, err := g.SetView("stdin", 0, 0, 80, 35); err != nil {
if err != gocui.ErrUnknownView {
return err
}
if _, err := g.SetCurrentView("stdin"); err != nil {
return err
}
dumper := hex.Dumper(v)
if _, err := io.Copy(dumper, os.Stdin); err != nil {
return err
}
v.Wrap = true
}
return nil
}
示例5: layout
func layout(g *gocui.Gui) error {
maxX, maxY := g.Size()
// main
if v, err := g.SetView("main", -1, -1, maxX, maxY); err != nil {
if err != gocui.ErrorUnkView {
return err
}
v.Wrap = true
v.Autoscroll = true
}
// key bindings
if err := g.SetKeybinding("", gocui.KeyCtrlC, gocui.ModNone, quitKey); err != nil {
return err
}
// stats
once.Do(func() {
go func() {
ticker := time.NewTicker(time.Second)
for {
select {
case <-ticker.C:
showUpdate()
case <-stopChan:
return
}
}
}()
})
return nil
}
示例6: layout
func layout(g *gocui.Gui) error {
maxX, maxY := g.Size()
if v, err := g.SetView("help", maxX-23, 0, maxX-1, 3); err != nil {
if err != gocui.ErrUnknownView {
return err
}
v.Title = "Keybindings"
fmt.Fprintln(v, "^a: Set mask")
fmt.Fprintln(v, "^c: Exit")
}
if v, err := g.SetView("input", 0, 0, maxX-24, maxY-1); err != nil {
if err != gocui.ErrUnknownView {
return err
}
if _, err := g.SetCurrentView("input"); err != nil {
return err
}
v.Editable = true
v.Wrap = true
}
return nil
}
示例7: InputView
func InputView(g *gocui.Gui, x, y, maxX, maxY int) error {
if v, err := g.SetView("input", x, y, maxX, maxY); err != nil {
if err != gocui.ErrUnknownView {
return err
}
_, err := g.SetCurrentView("input")
if err != nil {
return err
}
logger.Logger.Println(" CHANGE:", "input", x, y, maxX, maxY)
v.Editor = Editor
// v.FgColor = gocui.ColorGreen
v.BgColor = gocui.ColorDefault
v.Autoscroll = false
v.Editable = true
v.Wrap = false
v.Frame = false
}
return nil
}
示例8: getLine
func getLine(g *gocui.Gui, v *gocui.View) error {
var l string
var err error
g.ShowCursor = false
_, cy := v.Cursor()
if l, err = v.Line(cy); err != nil {
l = ""
}
maxX, maxY := g.Size()
length := 10 + len(current_name)
if l != "" {
current_name = l
if v, err := g.SetView("msg", maxX/2-length/2, maxY/2-3, maxX/2+length/2, maxY/2+3); err != nil {
v.BgColor = gocui.ColorGreen
v.FgColor = gocui.ColorBlack
if err != gocui.ErrorUnkView {
return err
}
current_proj = projects[current_name]
current_proj.start()
fmt.Fprintln(v, "")
fmt.Fprintln(v, "")
fmt.Fprintln(v, strings.Repeat(" ", (length-15)/2), "Active Project")
fmt.Fprintln(v, "")
fmt.Fprintln(v, strings.Repeat(" ", 5), current_name)
fmt.Fprintln(v, "")
setView(g, "msg")
}
}
return nil
}
示例9: setDetailLayout
func setDetailLayout(g *gocui.Gui) error {
maxX, maxY := g.Size()
summaryView, err := g.View("summary")
if err != nil {
return err
}
_, cy := summaryView.Cursor()
_, oy := summaryView.Origin()
currentCveInfo = cy + oy
if v, err := g.SetView("detail", 40, int(float64(maxY)*0.2), maxX, maxY); err != nil {
if err != gocui.ErrUnknownView {
return err
}
// text := report.ToPlainTextDetailsLangEn(
// currentScanResult.KnownCves[currentCveInfo],
// currentScanResult.Family)
text, err := detailLines()
if err != nil {
return err
}
fmt.Fprint(v, text)
v.Editable = false
v.Wrap = true
currentDetailLimitY = len(strings.Split(text, "\n")) - 1
}
return nil
}
示例10: codeComplete
func codeComplete(g *gocui.Gui, v *gocui.View) error {
if v != nil {
ox, oy := v.Origin()
cx, cy := v.Cursor()
x, y := ox+cx, oy+cy
f := proj.GetFile("test.go")
off := f.GetOffset(x, y)
cands := codecomplete.Complete(proj, f, off)
maxX, maxY := g.Size()
maxY = maxY/2 - (len(cands) / 2)
if v, err := g.SetView("msg", maxX/2-30, maxY, maxX/2+30, maxY+len(cands)+2); err != nil {
if err != gocui.ErrorUnkView {
return err
}
fmt.Fprintln(v, x, y, off)
for _, c := range cands {
fmt.Fprintln(v, c.Name, c.Perc)
}
if err := g.SetCurrentView("msg"); err != nil {
return err
}
}
}
return nil
}
示例11: getLine
func getLine(g *gocui.Gui, v *gocui.View) error {
var l string
var err error
_, cy := v.Cursor()
if l, err = v.Line(cy); err != nil {
l = ""
}
maxX, maxY := g.Size()
if v, err := g.SetView("msg", maxX/2-30, maxY/2, maxX/2+30, maxY/2+2); err != nil {
if err != gocui.ErrorUnkView {
return err
}
fmt.Fprintln(v, l)
if err := g.SetCurrentView("msg"); err != nil {
return err
}
}
if v, err := g.View("main"); err != nil {
if err != gocui.ErrorUnkView {
return err
}
f := proj.GetFile(l)
if f != nil {
v.Clear()
fmt.Fprintf(v, "%s", f.GetBody())
}
v.Editable = true
v.Wrap = true
}
return nil
}
示例12: layout
func layout(g *gocui.Gui) error {
maxX, maxY := g.Size()
if v, err := g.SetView("side", -1, -1, 30, maxY); err != nil {
if err != gocui.ErrorUnkView {
return err
}
v.Highlight = true
list := proj.GetFileList()
for _, f := range list {
fmt.Fprintln(v, filepath.Base(f.GetPath()))
}
}
if v, err := g.SetView("main", 30, -1, maxX, maxY); err != nil {
if err != gocui.ErrorUnkView {
return err
}
f := proj.GetFile("test.go")
if f != nil {
fmt.Fprintf(v, "%s", f.GetBody())
}
v.Editable = true
v.Wrap = false
if err := g.SetCurrentView("main"); err != nil {
return err
}
}
return nil
}
示例13: layout
func layout(g *gocui.Gui) error {
var err error
maxX, maxY := g.Size()
if backgroundView, err = g.SetView("background", 0, 0, maxX, maxY); err != nil {
if err != gocui.ErrorUnkView {
return err
}
}
if profilePictureView, err = g.SetView("profilePicture", 1, 1, maxX-1, maxY-5); err != nil {
if err != gocui.ErrorUnkView {
return err
}
profilePictureView.Wrap = true
fmt.Fprintln(profilePictureView, "Loading...")
}
if swipeLeftView, err = g.SetView("swipeLeft", 6, maxY-4, maxX/2-5, maxY-1); err != nil {
if err != gocui.ErrorUnkView {
return err
}
fmt.Fprintln(swipeLeftView, "X")
}
if swipeRightView, err = g.SetView("swipeRight", maxX-(maxX/2-5), maxY-4, maxX-6, maxY-1); err != nil {
if err != gocui.ErrorUnkView {
return err
}
fmt.Fprintln(swipeRightView, "<3")
}
if infoView, err = g.SetView("info", maxX/2-4, maxY-4, maxX/2+4, maxY-1); err != nil {
if err != gocui.ErrorUnkView {
return err
}
fmt.Fprintln(infoView, "i")
}
return nil
}
示例14: HeaderView
func HeaderView(g *gocui.Gui, x, y, maxX, maxY int) error {
if v, err := g.SetView("header", x, y, maxX, maxY); err != nil {
if err != gocui.ErrUnknownView {
return err
}
// v.FgColor = gocui.ColorGreen
v.BgColor = gocui.ColorDefault
v.Autoscroll = false
v.Editable = false
v.Wrap = false
v.Frame = false
v.Overwrite = true
fmt.Fprintf(v, " --")
go func() {
for range time.Tick(time.Millisecond * 100) {
UpdateHeaderView(g)
}
}()
}
return nil
}
示例15: layout
func (runner *appRunner) layout(g *gocui.Gui) error {
maxX, maxY := g.Size()
view, _ := g.SetView("mainControls", -1, -1, maxX/2, maxY)
_, originY := view.Origin()
_, cursorY := view.Cursor()
view.Clear()
runner.mainControlLines = 0
runner.highlightedTexter = nil
if g.CurrentView() == nil {
g.SetCurrentView("mainControls")
}
view.Highlight = g.CurrentView() == view
runner.rootTexter.TextMain(func(label, line string, texter ViewModelNodeTexter) {
paddedLabel := fmt.Sprintf("%20s", label)
fmt.Fprintf(view, "%s %v\n", paddedLabel[len(paddedLabel)-20:len(paddedLabel)], line)
if (originY + cursorY) == runner.mainControlLines {
runner.highlightedTexter = texter
}
runner.mainControlLines++
})
return nil
}