Skip to content

Commit

Permalink
Merge branch 'master' into custom-git-format
Browse files Browse the repository at this point in the history
  • Loading branch information
senorprogrammer committed Jun 15, 2018
2 parents 23783c4 + 6bbefb3 commit 32ed793
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 40 deletions.
46 changes: 6 additions & 40 deletions wtf.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,38 +54,6 @@ var (

/* -------------------- Functions -------------------- */

func addToGrid(grid *tview.Grid, widget wtf.Wtfable) {
if widget.Disabled() {
return
}

grid.AddItem(
widget.TextView(),
widget.Top(),
widget.Left(),
widget.Height(),
widget.Width(),
0,
0,
false,
)
}

// Grid stores all the widgets onscreen (like an HTML table)
func buildGrid(modules []wtf.Wtfable) *tview.Grid {
grid := tview.NewGrid()
grid.SetColumns(wtf.ToInts(Config.UList("wtf.grid.columns"))...)
grid.SetRows(wtf.ToInts(Config.UList("wtf.grid.rows"))...)
grid.SetBorder(false)

for _, module := range modules {
addToGrid(grid, module)
go wtf.Schedule(module)
}

return grid
}

func disableAllWidgets() {
for _, widget := range Widgets {
widget.Disable()
Expand Down Expand Up @@ -165,8 +133,8 @@ func watchForConfigChanges(app *tview.Application, configFlag string, grid *tvie
disableAllWidgets()
makeWidgets(app, pages)
initializeFocusTracker(app)
grid = buildGrid(Widgets)
pages.AddPage("grid", grid, true, true)
display := wtf.NewDisplay(Widgets)
pages.AddPage("grid", display.Grid, true, true)
case err := <-watch.Error:
log.Fatalln(err)
case <-watch.Closed:
Expand Down Expand Up @@ -311,20 +279,18 @@ func main() {
makeWidgets(app, pages)
initializeFocusTracker(app)

grid := buildGrid(Widgets)
pages.AddPage("grid", grid, true, true)
display := wtf.NewDisplay(Widgets)
pages.AddPage("grid", display.Grid, true, true)
app.SetInputCapture(keyboardIntercept)

grid.SetBackgroundColor(wtf.ColorFor(Config.UString("wtf.colors.background", "black")))

// Loop in a routine to redraw the screen
go redrawApp(app)
go watchForConfigChanges(app, cmdFlags.Config, grid, pages)
go watchForConfigChanges(app, cmdFlags.Config, display.Grid, pages)

if err := app.SetRoot(pages, true).Run(); err != nil {
fmt.Printf("An error occurred: %v\n", err)
os.Exit(1)
}

wtf.Log("running!")
wtf.Log("Running!")
}
56 changes: 56 additions & 0 deletions wtf/display.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
package wtf

import (
"github.com/rivo/tview"
)

type Display struct {
Grid *tview.Grid
}

func NewDisplay(widgets []Wtfable) *Display {
display := Display{
Grid: tview.NewGrid(),
}

display.build(widgets)
display.Grid.SetBackgroundColor(
ColorFor(
Config.UString("wtf.colors.background", "black"),
),
)

return &display
}

/* -------------------- Unexported Functions -------------------- */

func (display *Display) add(widget Wtfable) {
if widget.Disabled() {
return
}

display.Grid.AddItem(
widget.TextView(),
widget.Top(),
widget.Left(),
widget.Height(),
widget.Width(),
0,
0,
false,
)
}

func (display *Display) build(widgets []Wtfable) *tview.Grid {
display.Grid.SetColumns(ToInts(Config.UList("wtf.grid.columns"))...)
display.Grid.SetRows(ToInts(Config.UList("wtf.grid.rows"))...)
display.Grid.SetBorder(false)

for _, widget := range widgets {
display.add(widget)
go Schedule(widget)
}

return display.Grid
}

0 comments on commit 32ed793

Please sign in to comment.