1
2 package main
3
4 import (
5 "github.com/rivo/tview"
6 )
7
8 func main() {
9 newPrimitive := func(text string) tview.Primitive {
10 return tview.NewTextView().
11 SetTextAlign(tview.AlignCenter).
12 SetText(text)
13 }
14 menu := newPrimitive("Menu")
15 main := newPrimitive("Main content")
16 sideBar := newPrimitive("Side Bar")
17
18 grid := tview.NewGrid().
19 SetRows(3, 0, 3).
20 SetColumns(30, 0, 30).
21 SetBorders(true).
22 AddItem(newPrimitive("Header"), 0, 0, 1, 3, 0, 0, false).
23 AddItem(newPrimitive("Footer"), 2, 0, 1, 3, 0, 0, false)
24
25
26 grid.AddItem(menu, 0, 0, 0, 0, 0, 0, false).
27 AddItem(main, 1, 0, 1, 3, 0, 0, false).
28 AddItem(sideBar, 0, 0, 0, 0, 0, 0, false)
29
30
31 grid.AddItem(menu, 1, 0, 1, 1, 0, 100, false).
32 AddItem(main, 1, 1, 1, 1, 0, 100, false).
33 AddItem(sideBar, 1, 2, 1, 1, 0, 100, false)
34
35 if err := tview.NewApplication().SetRoot(grid, true).EnableMouse(true).Run(); err != nil {
36 panic(err)
37 }
38 }
39
View as plain text