mirror of
https://github.com/miguelmota/cointop
synced 2024-11-10 13:10:26 +00:00
08c92c9317
Former-commit-id: 6cf2be68d59423cfe456c81495b8875851f77f54 [formerly 7da09bc644
]
Former-commit-id: a464b7a072dfacf81603dfe994a51370ead0d194
87 lines
1.9 KiB
Go
87 lines
1.9 KiB
Go
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
|
|
}
|