mirror of https://github.com/miguelmota/cointop
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
1.9 KiB
Go
87 lines
1.9 KiB
Go
7 years ago
|
package main
|
||
|
|
||
|
import (
|
||
|
"github.com/jroimartin/gocui"
|
||
|
)
|
||
|
|
||
|
func (ct *Cointop) cursorDown(g *gocui.Gui, v *gocui.View) error {
|
||
|
if ct.tableview == nil {
|
||
|
return nil
|
||
|
}
|
||
|
_, y := ct.tableview.Origin()
|
||
|
cx, cy := ct.tableview.Cursor()
|
||
|
numRows := len(ct.coins) - 1
|
||
|
//fmt.Fprint(v, cy)
|
||
|
if (cy + y + 1) > numRows {
|
||
|
return nil
|
||
|
}
|
||
|
if err := ct.tableview.SetCursor(cx, cy+1); err != nil {
|
||
|
ox, oy := ct.tableview.Origin()
|
||
|
if err := ct.tableview.SetOrigin(ox, oy+1); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
}
|
||
|
ct.rowChanged()
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func (ct *Cointop) cursorUp(g *gocui.Gui, v *gocui.View) error {
|
||
|
if ct.tableview == nil {
|
||
|
return nil
|
||
|
}
|
||
|
ox, oy := ct.tableview.Origin()
|
||
|
cx, cy := ct.tableview.Cursor()
|
||
|
//fmt.Fprint(v, oy)
|
||
|
if err := ct.tableview.SetCursor(cx, cy-1); err != nil && oy > 0 {
|
||
|
if err := ct.tableview.SetOrigin(ox, oy-1); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
}
|
||
|
ct.rowChanged()
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func (ct *Cointop) pageDown(g *gocui.Gui, v *gocui.View) error {
|
||
|
if ct.tableview == nil {
|
||
|
return nil
|
||
|
}
|
||
|
_, y := ct.tableview.Origin()
|
||
|
cx, cy := ct.tableview.Cursor()
|
||
|
numRows := len(ct.coins) - 1
|
||
|
_, sy := ct.tableview.Size()
|
||
|
rows := sy
|
||
|
if (cy + y + rows) > numRows {
|
||
|
// go to last row
|
||
|
ct.tableview.SetCursor(cx, numRows)
|
||
|
ox, _ := ct.tableview.Origin()
|
||
|
ct.tableview.SetOrigin(ox, numRows)
|
||
|
ct.rowChanged()
|
||
|
return nil
|
||
|
}
|
||
|
if err := ct.tableview.SetCursor(cx, cy+rows); err != nil {
|
||
|
ox, oy := ct.tableview.Origin()
|
||
|
if err := ct.tableview.SetOrigin(ox, oy+rows); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
}
|
||
|
ct.rowChanged()
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func (ct *Cointop) pageUp(g *gocui.Gui, v *gocui.View) error {
|
||
|
if ct.tableview == nil {
|
||
|
return nil
|
||
|
}
|
||
|
ox, oy := ct.tableview.Origin()
|
||
|
cx, cy := ct.tableview.Cursor()
|
||
|
_, sy := ct.tableview.Size()
|
||
|
rows := sy
|
||
|
if err := ct.tableview.SetCursor(cx, cy-rows); err != nil && oy > 0 {
|
||
|
if err := ct.tableview.SetOrigin(ox, oy-rows); err != nil {
|
||
|
return err
|
||
|
}
|
||
|
}
|
||
|
ct.rowChanged()
|
||
|
return nil
|
||
|
}
|