Refactoring of the Components
To Achieve focus functionality we need to separate each of this Components so I have extracted the Components out.
This commit is contained in:
parent
b4e6402a25
commit
0b08b284ab
57
main.go
57
main.go
@ -3,16 +3,59 @@ package main
|
||||
|
||||
import (
|
||||
"github.com/rivo/tview"
|
||||
"log"
|
||||
"github.com/fhs/gompd/mpd"
|
||||
"github.com/gdamore/tcell/v2"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
func main(){
|
||||
flext := tview.NewFlex().SetDirection(tview.FlexRow).
|
||||
AddItem(tview.NewFlex().
|
||||
AddItem(tview.NewBox().SetBorder(true).SetTitle("Top"), 0, 1, false).
|
||||
AddItem(tview.NewBox().SetBorder(true).SetTitle("Top"), 0, 2, false), 0, 7, false).
|
||||
AddItem(tview.NewBox().SetBorder(true).SetTitle("Lmao"), 0, 1, false)
|
||||
func getContent(row, column int) {
|
||||
}
|
||||
|
||||
if err := tview.NewApplication().SetRoot(flext, true).Run(); err != nil {
|
||||
func main(){
|
||||
// Connect to MPD server
|
||||
conn, err := mpd.Dial("tcp", "localhost:6600")
|
||||
if err != nil {
|
||||
log.Fatalln(err)
|
||||
}
|
||||
defer conn.Close()
|
||||
|
||||
expandedView := tview.NewTable()
|
||||
Navbar := tview.NewTable().SetBorder(true)
|
||||
searchBar := tview.NewBox().SetBorder(true)
|
||||
progressBar := tview.NewBox().SetBorder(true)
|
||||
|
||||
searchNavFlex := tview.NewFlex().SetDirection(tview.FlexRow).
|
||||
AddItem(Navbar, 0, 1, false).
|
||||
AddItem(searchBar, 0, 7, false)
|
||||
|
||||
sNavExpViewFlex := tview.NewFlex().
|
||||
AddItem(searchNavFlex, 0, 1, false).
|
||||
AddItem(expandedView, 0, 4, false)
|
||||
|
||||
mainFlex := tview.NewFlex().SetDirection(tview.FlexRow).
|
||||
AddItem(sNavExpViewFlex, 0, 8, false).
|
||||
AddItem(progressBar, 0, 1, false)
|
||||
|
||||
expandedView.SetBorderPadding(1,1,1,1).SetBorder(true)
|
||||
expandedView.SetSelectable(true, false)
|
||||
fmt.Println(expandedView.HasFocus())
|
||||
|
||||
a, err := conn.GetFiles()
|
||||
aer := generateDirectoryTree(a);
|
||||
ec := []string{"NothingHappens", "Remember When.mp3"}
|
||||
|
||||
Update(*conn, aer.children, ec, expandedView)
|
||||
expandedView.SetDoneFunc(func(key tcell.Key){
|
||||
if key == tcell.KeyLeft {
|
||||
r, c := expandedView.GetSelection()
|
||||
fmt.Println(join(ec) + expandedView.GetCell(r, c).Text)
|
||||
}
|
||||
}).SetSelectedFunc(func(row, column int){
|
||||
fmt.Println(join(ec) + expandedView.GetCell(row, column).Text)
|
||||
})
|
||||
if err := tview.NewApplication().SetRoot(mainFlex, true).SetFocus(expandedView).Run(); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user