Use termbox-screen library

This commit is contained in:
2019-02-28 07:44:03 -06:00
parent 1c290b6b0b
commit 5d95e080ef
8 changed files with 122 additions and 226 deletions

View File

@@ -7,10 +7,13 @@ import (
"time"
todotxt "github.com/br0xen/go-todotxt"
"github.com/br0xen/termbox-screen"
"github.com/br0xen/termbox-util"
termbox "github.com/nsf/termbox-go"
)
const TaskScreenId = 1
// TaskScreen holds all that's going on
type TaskScreen struct {
message string
@@ -29,10 +32,12 @@ const (
TaskBundleTaskIdKey = "taskscreen.taskid"
)
func (screen *TaskScreen) initialize(bundle Bundle) error {
func (screen *TaskScreen) Id() int { return TaskScreenId }
func (screen *TaskScreen) Initialize(bundle termboxScreen.Bundle) error {
var err error
if bundle != nil {
screen.currentTaskId = bundle.getInt(TaskBundleTaskIdKey, -1)
screen.currentTaskId = bundle.GetInt(TaskBundleTaskIdKey, -1)
}
if screen.currentTaskId == -1 {
return errors.New("Task Screen Initialization Failed")
@@ -43,9 +48,11 @@ func (screen *TaskScreen) initialize(bundle Bundle) error {
return nil
}
func (screen *TaskScreen) handleKeyEvent(event termbox.Event) int {
func (screen *TaskScreen) ResizeScreen() { screen.Initialize(nil) }
func (screen *TaskScreen) HandleKeyEvent(event termbox.Event) int {
if event.Key == termbox.KeyBackspace || event.Key == termbox.KeyBackspace2 || event.Ch == 'h' || event.Key == termbox.KeyArrowLeft {
return ScreenMain
return MainScreenId
} else if event.Ch == 'j' || event.Key == termbox.KeyArrowDown {
screen.moveCursorDown()
@@ -53,10 +60,10 @@ func (screen *TaskScreen) handleKeyEvent(event termbox.Event) int {
} else if event.Ch == 'k' || event.Key == termbox.KeyArrowUp {
screen.moveCursorUp()
}
return ScreenTask
return TaskScreenId
}
func (screen *TaskScreen) drawScreen() {
func (screen *TaskScreen) DrawScreen() {
screen.drawHeader()
yPos := 1