add keymap, handle wrapper for common keybindings

This commit is contained in:
Bradley Cicenas
2017-03-14 22:34:09 +00:00
parent b3cdb33efc
commit 38599bbd19
4 changed files with 55 additions and 30 deletions

View File

@@ -100,27 +100,20 @@ func (m *Menu) Buffer() ui.Buffer {
return buf
}
func (m *Menu) Up(ui.Event) {
func (m *Menu) Up() {
if m.cursorPos > 0 {
m.cursorPos--
ui.Render(m)
}
}
func (m *Menu) Down(ui.Event) {
func (m *Menu) Down() {
if m.cursorPos < (len(m.items) - 1) {
m.cursorPos++
ui.Render(m)
}
}
// Setup some default handlers for menu navigation
func (m *Menu) NavigationHandlers() {
ui.Handle("/sys/kbd/<up>", m.Up)
ui.Handle("/sys/kbd/<down>", m.Down)
ui.Handle("/sys/kbd/q", func(ui.Event) { ui.StopLoop() })
}
// Set width and height based on menu items
func (m *Menu) calcSize() {
m.Width = 7 // minimum width