本文整理汇总了Golang中github.com/jroimartin/gocui.View.SetCursor方法的典型用法代码示例。如果您正苦于以下问题:Golang View.SetCursor方法的具体用法?Golang View.SetCursor怎么用?Golang View.SetCursor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/jroimartin/gocui.View
的用法示例。
在下文中一共展示了View.SetCursor方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: tabUpdateInput
// TODO: fix \x00 issues
func tabUpdateInput(input *gocui.View) (string, bool) {
// logger.Logger.Println(spew.Sdump(input.Buffer()))
search := strings.TrimSpace(input.ViewBuffer())
searchSplit := strings.Split(search, " ")
search = searchSplit[len(searchSplit)-1]
if inCacheTab {
cacheTabIndex++
if cacheTabIndex > len(cacheTabResults)-1 {
cacheTabIndex = 0
}
searchSplit[len(searchSplit)-1] = cacheTabResults[cacheTabIndex]
newInputData := strings.Join(searchSplit, " ")
input.Clear()
if !strings.HasPrefix(newInputData, "/") && !strings.HasPrefix(newInputData, "#") {
newInputData = newInputData + ":"
}
fmt.Fprint(input, newInputData+" ")
input.SetCursor(len(input.Buffer())-1, 0)
// logger.Logger.Println(spew.Sdump(newInputData + ""))
// logger.Logger.Printf("WORD %s -- %s -- %s\n", search, cacheTabSearch, cacheTabResults[cacheTabIndex])
return "", true
}
return search, false
}
示例2: cursorPageDown
func cursorPageDown(g *gocui.Gui, v *gocui.View) error {
jump := pageUpDownJumpCount(v)
if v != nil {
cx, cy := v.Cursor()
ox, oy := v.Origin()
ok, yLimit := movable(v, oy+cy+jump)
_, maxY := v.Size()
if !ok {
if yLimit < maxY {
v.SetCursor(cx, yLimit)
} else {
v.SetCursor(cx, maxY-1)
v.SetOrigin(ox, yLimit-maxY+1)
}
} else if yLimit < oy+jump+maxY {
if yLimit < maxY {
v.SetCursor(cx, yLimit)
} else {
v.SetOrigin(ox, yLimit-maxY+1)
v.SetCursor(cx, maxY-1)
}
} else {
v.SetCursor(cx, cy)
v.SetOrigin(ox, oy+jump)
}
onMovingCursorRedrawView(g, v)
}
return nil
}
示例3: cursorMoveTop
func cursorMoveTop(g *gocui.Gui, v *gocui.View) error {
if v != nil {
cx, _ := v.Cursor()
v.SetCursor(cx, 0)
}
onMovingCursorRedrawView(g, v)
return nil
}
示例4: cursorMoveMiddle
func cursorMoveMiddle(g *gocui.Gui, v *gocui.View) error {
if v != nil {
_, maxY := v.Size()
cx, _ := v.Cursor()
v.SetCursor(cx, maxY/2)
}
onMovingCursorRedrawView(g, v)
return nil
}
示例5: cursorHome
func cursorHome(g *gocui.Gui, v *gocui.View) error {
ox, _ := v.Origin()
cx, _ := v.Cursor()
v.SetCursor(cx, 0)
v.SetOrigin(ox, 0)
updateTracksView(g, v)
return nil
}
示例6: prev
func prev(g *ui.Gui, v *ui.View) error {
cx, cy := v.Cursor()
if cy-1 < 0 {
return nil
}
err := v.SetCursor(cx, cy-1)
printNodes()
printNode(g)
return err
}
示例7: next
func next(g *ui.Gui, v *ui.View) error {
cx, cy := v.Cursor()
if cy+1 >= len(cli.Nodes) {
return nil
}
err := v.SetCursor(cx, cy+1)
printNodes()
printNode(g)
return err
}
示例8: FocusInputView
func FocusInputView(g *gocui.Gui, v *gocui.View) error {
v.SetCursor(len(v.Buffer()+"")-1, 0)
if _, err := g.SetCurrentView("input"); err != nil {
return err
}
return nil
}
示例9: moveRight
func moveRight(g *gocui.Gui, v *gocui.View) error {
if v != nil {
cx, cy := v.Cursor()
if err := v.SetCursor(cx+1, cy); err != nil {
ox, oy := v.Origin()
if err := v.SetOrigin(ox+1, oy); err != nil {
return err
}
}
}
return nil
}
示例10: cursorLeft
func cursorLeft(g *gocui.Gui, v *gocui.View) error {
if v != nil {
ox, oy := v.Origin()
cx, cy := v.Cursor()
if err := v.SetCursor(cx-1, cy); err != nil && ox > 0 {
if err := v.SetOrigin(ox-1, oy); err != nil {
return err
}
}
}
return nil
}
示例11: cursorDown
func cursorDown(g *gocui.Gui, v *gocui.View) error {
if v != nil {
cx, cy := v.Cursor()
if err := v.SetCursor(cx, cy+1); err != nil {
ox, oy := v.Origin()
if err := v.SetOrigin(ox, oy+1); err != nil {
return err
}
}
}
return nil
}
示例12: cursorUp
func cursorUp(g *gocui.Gui, v *gocui.View) error {
if v != nil {
ox, oy := v.Origin()
cx, cy := v.Cursor()
if err := v.SetCursor(cx, cy-1); err != nil && oy > 0 {
if err := v.SetOrigin(ox, oy-1); err != nil {
return err
}
}
}
return nil
}
示例13: cursorUp
func cursorUp(g *gocui.Gui, v *gocui.View) error {
if v != nil {
ox, oy := v.Origin()
cx, cy := v.Cursor()
if err := v.SetCursor(cx, cy-1); err != nil && 0 < oy {
if err := v.SetOrigin(ox, oy-1); err != nil {
return err
}
}
}
onMovingCursorRedrawView(g, v)
return nil
}
示例14: cursorUp
func (runner *appRunner) cursorUp(g *gocui.Gui, v *gocui.View) error {
if v != nil {
ox, oy := v.Origin()
cx, cy := v.Cursor()
if err := v.SetCursor(cx, cy-1); err != nil && oy > 0 {
if err := v.SetOrigin(ox, oy-1); err != nil {
return err
}
}
runner.layout(g)
}
return nil
}
示例15: moveDown
func moveDown(g *gocui.Gui, v *gocui.View) error {
fmt.Println("yo")
if v != nil {
fmt.Println("hey")
cx, cy := v.Cursor()
if err := v.SetCursor(cx, cy+1); err != nil {
ox, oy := v.Origin()
if err := v.SetOrigin(ox, oy+1); err != nil {
return err
}
}
}
return nil
}