Refactored UI code, began impl. of mainscreen
parent
5362c401d1
commit
e3f63f5906
@ -0,0 +1,60 @@
|
||||
package tui
|
||||
|
||||
import (
|
||||
"github.com/gdamore/tcell/v2"
|
||||
"github.com/rivo/tview"
|
||||
)
|
||||
|
||||
|
||||
type Mainscreen struct {
|
||||
Canvas *tview.Grid
|
||||
}
|
||||
|
||||
func(t *TUI) NewMainscreen() (*Mainscreen) {
|
||||
mainscreen := new(Mainscreen)
|
||||
|
||||
newPrimitive := func(text string) tview.Primitive {
|
||||
return tview.NewTextView().
|
||||
SetTextAlign(tview.AlignCenter).
|
||||
SetText(text)
|
||||
}
|
||||
|
||||
groups := tview.NewList().
|
||||
AddItem("List item 1", "Some explanatory text", 'a', nil).
|
||||
AddItem("List item 2", "Some explanatory text", 'b', nil).
|
||||
AddItem("List item 3", "Some explanatory text", 'c', nil).
|
||||
AddItem("List item 4", "Some explanatory text", 'd', nil).
|
||||
AddItem("Quit", "Press to exit", 'q', func() {
|
||||
})
|
||||
|
||||
articles := tview.NewList().
|
||||
SetWrapAround(true).
|
||||
SetHighlightFullLine(true).
|
||||
SetSelectedBackgroundColor(tcell.ColorTeal).
|
||||
SetSecondaryTextColor(tcell.ColorGrey).
|
||||
|
||||
AddItem("List item 1", "Some explanatory text", ' ', nil).
|
||||
AddItem("List item 2", "Some explanatory text", ' ', nil).
|
||||
AddItem("List item 3", "Some explanatory text", ' ', nil).
|
||||
AddItem("List item 4", "Some explanatory text", ' ', nil)
|
||||
|
||||
mainscreen.Canvas = tview.NewGrid().
|
||||
SetRows(3, 0, 3).
|
||||
SetColumns(30, 0).
|
||||
SetBorders(true).
|
||||
AddItem(newPrimitive("Header"), 0, 0, 1, 2, 0, 0, false).
|
||||
AddItem(newPrimitive("Footer"), 2, 0, 1, 2, 0, 0, false)
|
||||
|
||||
mainscreen.Canvas.AddItem(groups, 1, 0, 1, 1, 0, 0, false).
|
||||
AddItem(articles, 1, 1, 1, 1, 0, 0, false)
|
||||
|
||||
return mainscreen
|
||||
}
|
||||
|
||||
func (mainscreen *Mainscreen) GetCanvas() (tview.Primitive) {
|
||||
return mainscreen.Canvas
|
||||
}
|
||||
|
||||
func(mainscreen *Mainscreen) Refresh() {
|
||||
}
|
||||
|
Loading…
Reference in New Issue