1
0
mirror of https://github.com/taigrr/wtf synced 2025-01-18 04:03:14 -08:00

WTF-1031 Rename WtfApp.app to WtfApp.tviewApp

Signed-off-by: Chris Cummer <chriscummer@me.com>
This commit is contained in:
Chris Cummer 2020-11-27 12:26:02 -08:00
parent 9ba22f656b
commit ee13fd83cc
81 changed files with 301 additions and 315 deletions

View File

@ -20,17 +20,17 @@ const (
// FocusTracker is used by the app to track which onscreen widget currently has focus, // FocusTracker is used by the app to track which onscreen widget currently has focus,
// and to move focus between widgets. // and to move focus between widgets.
type FocusTracker struct { type FocusTracker struct {
App *tview.Application
Idx int Idx int
IsFocused bool IsFocused bool
Widgets []wtf.Wtfable Widgets []wtf.Wtfable
config *config.Config config *config.Config
tviewApp *tview.Application
} }
func NewFocusTracker(app *tview.Application, widgets []wtf.Wtfable, config *config.Config) FocusTracker { func NewFocusTracker(tviewApp *tview.Application, widgets []wtf.Wtfable, config *config.Config) FocusTracker {
focusTracker := FocusTracker{ focusTracker := FocusTracker{
App: app, tviewApp: tviewApp,
Idx: -1, Idx: -1,
IsFocused: false, IsFocused: false,
Widgets: widgets, Widgets: widgets,
@ -196,7 +196,7 @@ func (tracker *FocusTracker) focus(idx int) {
widget.CommonSettings().Colors.BorderTheme.Focused, widget.CommonSettings().Colors.BorderTheme.Focused,
), ),
) )
tracker.App.SetFocus(view) tracker.tviewApp.SetFocus(view)
} }
func (tracker *FocusTracker) focusables() []wtf.Wtfable { func (tracker *FocusTracker) focusables() []wtf.Wtfable {
@ -239,7 +239,7 @@ func (tracker *FocusTracker) focusState() FocusState {
} }
for _, widget := range tracker.Widgets { for _, widget := range tracker.Widgets {
if widget.TextView() == tracker.App.GetFocus() { if widget.TextView() == tracker.tviewApp.GetFocus() {
return widgetFocused return widgetFocused
} }
} }

View File

@ -80,7 +80,7 @@ import (
// MakeWidget creates and returns instances of widgets // MakeWidget creates and returns instances of widgets
func MakeWidget( func MakeWidget(
app *tview.Application, tviewApp *tview.Application,
pages *tview.Pages, pages *tview.Pages,
moduleName string, moduleName string,
config *config.Config, config *config.Config,
@ -103,239 +103,239 @@ func MakeWidget(
switch moduleConfig.UString("type", moduleName) { switch moduleConfig.UString("type", moduleName) {
case "arpansagovau": case "arpansagovau":
settings := arpansagovau.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := arpansagovau.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = arpansagovau.NewWidget(app, settings) widget = arpansagovau.NewWidget(tviewApp, settings)
case "azuredevops": case "azuredevops":
settings := azuredevops.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := azuredevops.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = azuredevops.NewWidget(app, pages, settings) widget = azuredevops.NewWidget(tviewApp, pages, settings)
case "bamboohr": case "bamboohr":
settings := bamboohr.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := bamboohr.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = bamboohr.NewWidget(app, settings) widget = bamboohr.NewWidget(tviewApp, settings)
case "bargraph": case "bargraph":
settings := bargraph.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := bargraph.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = bargraph.NewWidget(app, settings) widget = bargraph.NewWidget(tviewApp, settings)
case "bittrex": case "bittrex":
settings := bittrex.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := bittrex.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = bittrex.NewWidget(app, settings) widget = bittrex.NewWidget(tviewApp, settings)
case "blockfolio": case "blockfolio":
settings := blockfolio.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := blockfolio.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = blockfolio.NewWidget(app, settings) widget = blockfolio.NewWidget(tviewApp, settings)
case "buildkite": case "buildkite":
settings := buildkite.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := buildkite.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = buildkite.NewWidget(app, pages, settings) widget = buildkite.NewWidget(tviewApp, pages, settings)
case "cdsFavorites": case "cdsFavorites":
settings := cdsfavorites.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := cdsfavorites.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = cdsfavorites.NewWidget(app, pages, settings) widget = cdsfavorites.NewWidget(tviewApp, pages, settings)
case "cdsQueue": case "cdsQueue":
settings := cdsqueue.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := cdsqueue.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = cdsqueue.NewWidget(app, pages, settings) widget = cdsqueue.NewWidget(tviewApp, pages, settings)
case "cdsStatus": case "cdsStatus":
settings := cdsstatus.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := cdsstatus.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = cdsstatus.NewWidget(app, pages, settings) widget = cdsstatus.NewWidget(tviewApp, pages, settings)
case "circleci": case "circleci":
settings := circleci.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := circleci.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = circleci.NewWidget(app, settings) widget = circleci.NewWidget(tviewApp, settings)
case "clocks": case "clocks":
settings := clocks.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := clocks.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = clocks.NewWidget(app, settings) widget = clocks.NewWidget(tviewApp, settings)
case "cmdrunner": case "cmdrunner":
settings := cmdrunner.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := cmdrunner.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = cmdrunner.NewWidget(app, settings) widget = cmdrunner.NewWidget(tviewApp, settings)
case "cryptolive": case "cryptolive":
settings := cryptolive.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := cryptolive.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = cryptolive.NewWidget(app, settings) widget = cryptolive.NewWidget(tviewApp, settings)
case "datadog": case "datadog":
settings := datadog.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := datadog.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = datadog.NewWidget(app, pages, settings) widget = datadog.NewWidget(tviewApp, pages, settings)
case "devto": case "devto":
settings := devto.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := devto.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = devto.NewWidget(app, pages, settings) widget = devto.NewWidget(tviewApp, pages, settings)
case "digitalclock": case "digitalclock":
settings := digitalclock.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := digitalclock.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = digitalclock.NewWidget(app, settings) widget = digitalclock.NewWidget(tviewApp, settings)
case "digitalocean": case "digitalocean":
settings := digitalocean.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := digitalocean.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = digitalocean.NewWidget(app, pages, settings) widget = digitalocean.NewWidget(tviewApp, pages, settings)
case "docker": case "docker":
settings := docker.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := docker.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = docker.NewWidget(app, pages, settings) widget = docker.NewWidget(tviewApp, pages, settings)
case "feedreader": case "feedreader":
settings := feedreader.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := feedreader.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = feedreader.NewWidget(app, pages, settings) widget = feedreader.NewWidget(tviewApp, pages, settings)
case "football": case "football":
settings := football.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := football.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = football.NewWidget(app, pages, settings) widget = football.NewWidget(tviewApp, pages, settings)
case "gcal": case "gcal":
settings := gcal.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := gcal.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = gcal.NewWidget(app, settings) widget = gcal.NewWidget(tviewApp, settings)
case "gerrit": case "gerrit":
settings := gerrit.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := gerrit.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = gerrit.NewWidget(app, pages, settings) widget = gerrit.NewWidget(tviewApp, pages, settings)
case "git": case "git":
settings := git.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := git.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = git.NewWidget(app, pages, settings) widget = git.NewWidget(tviewApp, pages, settings)
case "github": case "github":
settings := github.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := github.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = github.NewWidget(app, pages, settings) widget = github.NewWidget(tviewApp, pages, settings)
case "gitlab": case "gitlab":
settings := gitlab.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := gitlab.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = gitlab.NewWidget(app, pages, settings) widget = gitlab.NewWidget(tviewApp, pages, settings)
case "gitlabtodo": case "gitlabtodo":
settings := gitlabtodo.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := gitlabtodo.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = gitlabtodo.NewWidget(app, pages, settings) widget = gitlabtodo.NewWidget(tviewApp, pages, settings)
case "gitter": case "gitter":
settings := gitter.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := gitter.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = gitter.NewWidget(app, pages, settings) widget = gitter.NewWidget(tviewApp, pages, settings)
case "googleanalytics": case "googleanalytics":
settings := googleanalytics.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := googleanalytics.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = googleanalytics.NewWidget(app, settings) widget = googleanalytics.NewWidget(tviewApp, settings)
case "gspreadsheets": case "gspreadsheets":
settings := gspreadsheets.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := gspreadsheets.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = gspreadsheets.NewWidget(app, settings) widget = gspreadsheets.NewWidget(tviewApp, settings)
case "grafana": case "grafana":
settings := grafana.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := grafana.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = grafana.NewWidget(app, pages, settings) widget = grafana.NewWidget(tviewApp, pages, settings)
case "hackernews": case "hackernews":
settings := hackernews.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := hackernews.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = hackernews.NewWidget(app, pages, settings) widget = hackernews.NewWidget(tviewApp, pages, settings)
case "hibp": case "hibp":
settings := hibp.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := hibp.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = hibp.NewWidget(app, settings) widget = hibp.NewWidget(tviewApp, settings)
case "ipapi": case "ipapi":
settings := ipapi.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := ipapi.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = ipapi.NewWidget(app, settings) widget = ipapi.NewWidget(tviewApp, settings)
case "ipinfo": case "ipinfo":
settings := ipinfo.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := ipinfo.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = ipinfo.NewWidget(app, settings) widget = ipinfo.NewWidget(tviewApp, settings)
case "jenkins": case "jenkins":
settings := jenkins.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := jenkins.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = jenkins.NewWidget(app, pages, settings) widget = jenkins.NewWidget(tviewApp, pages, settings)
case "jira": case "jira":
settings := jira.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := jira.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = jira.NewWidget(app, pages, settings) widget = jira.NewWidget(tviewApp, pages, settings)
case "kubernetes": case "kubernetes":
settings := kubernetes.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := kubernetes.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = kubernetes.NewWidget(app, settings) widget = kubernetes.NewWidget(tviewApp, settings)
case "krisinformation": case "krisinformation":
settings := krisinformation.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := krisinformation.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = krisinformation.NewWidget(app, settings) widget = krisinformation.NewWidget(tviewApp, settings)
case "logger": case "logger":
settings := logger.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := logger.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = logger.NewWidget(app, settings) widget = logger.NewWidget(tviewApp, settings)
case "mercurial": case "mercurial":
settings := mercurial.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := mercurial.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = mercurial.NewWidget(app, pages, settings) widget = mercurial.NewWidget(tviewApp, pages, settings)
case "nbascore": case "nbascore":
settings := nbascore.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := nbascore.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = nbascore.NewWidget(app, pages, settings) widget = nbascore.NewWidget(tviewApp, pages, settings)
case "newrelic": case "newrelic":
settings := newrelic.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := newrelic.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = newrelic.NewWidget(app, pages, settings) widget = newrelic.NewWidget(tviewApp, pages, settings)
case "opsgenie": case "opsgenie":
settings := opsgenie.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := opsgenie.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = opsgenie.NewWidget(app, settings) widget = opsgenie.NewWidget(tviewApp, settings)
case "pagerduty": case "pagerduty":
settings := pagerduty.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := pagerduty.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = pagerduty.NewWidget(app, settings) widget = pagerduty.NewWidget(tviewApp, settings)
case "pihole": case "pihole":
settings := pihole.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := pihole.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = pihole.NewWidget(app, pages, settings) widget = pihole.NewWidget(tviewApp, pages, settings)
case "power": case "power":
settings := power.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := power.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = power.NewWidget(app, settings) widget = power.NewWidget(tviewApp, settings)
case "prettyweather": case "prettyweather":
settings := prettyweather.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := prettyweather.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = prettyweather.NewWidget(app, settings) widget = prettyweather.NewWidget(tviewApp, settings)
case "pocket": case "pocket":
settings := pocket.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := pocket.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = pocket.NewWidget(app, pages, settings) widget = pocket.NewWidget(tviewApp, pages, settings)
case "resourceusage": case "resourceusage":
settings := resourceusage.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := resourceusage.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = resourceusage.NewWidget(app, settings) widget = resourceusage.NewWidget(tviewApp, settings)
case "rollbar": case "rollbar":
settings := rollbar.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := rollbar.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = rollbar.NewWidget(app, pages, settings) widget = rollbar.NewWidget(tviewApp, pages, settings)
case "security": case "security":
settings := security.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := security.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = security.NewWidget(app, settings) widget = security.NewWidget(tviewApp, settings)
case "spacex": case "spacex":
settings := spacex.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := spacex.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = spacex.NewWidget(app, settings) widget = spacex.NewWidget(tviewApp, settings)
case "spotify": case "spotify":
settings := spotify.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := spotify.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = spotify.NewWidget(app, pages, settings) widget = spotify.NewWidget(tviewApp, pages, settings)
case "spotifyweb": case "spotifyweb":
settings := spotifyweb.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := spotifyweb.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = spotifyweb.NewWidget(app, pages, settings) widget = spotifyweb.NewWidget(tviewApp, pages, settings)
case "status": case "status":
settings := status.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := status.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = status.NewWidget(app, settings) widget = status.NewWidget(tviewApp, settings)
case "subreddit": case "subreddit":
settings := subreddit.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := subreddit.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = subreddit.NewWidget(app, pages, settings) widget = subreddit.NewWidget(tviewApp, pages, settings)
case "textfile": case "textfile":
settings := textfile.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := textfile.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = textfile.NewWidget(app, pages, settings) widget = textfile.NewWidget(tviewApp, pages, settings)
case "todo": case "todo":
settings := todo.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := todo.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = todo.NewWidget(app, pages, settings) widget = todo.NewWidget(tviewApp, pages, settings)
case "todo_plus": case "todo_plus":
settings := todo_plus.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := todo_plus.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = todo_plus.NewWidget(app, pages, settings) widget = todo_plus.NewWidget(tviewApp, pages, settings)
case "todoist": case "todoist":
settings := todo_plus.FromTodoist(moduleName, moduleConfig, config) settings := todo_plus.FromTodoist(moduleName, moduleConfig, config)
widget = todo_plus.NewWidget(app, pages, settings) widget = todo_plus.NewWidget(tviewApp, pages, settings)
case "transmission": case "transmission":
settings := transmission.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := transmission.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = transmission.NewWidget(app, pages, settings) widget = transmission.NewWidget(tviewApp, pages, settings)
case "travisci": case "travisci":
settings := travisci.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := travisci.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = travisci.NewWidget(app, pages, settings) widget = travisci.NewWidget(tviewApp, pages, settings)
case "trello": case "trello":
settings := todo_plus.FromTrello(moduleName, moduleConfig, config) settings := todo_plus.FromTrello(moduleName, moduleConfig, config)
widget = todo_plus.NewWidget(app, pages, settings) widget = todo_plus.NewWidget(tviewApp, pages, settings)
case "twitch": case "twitch":
settings := twitch.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := twitch.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = twitch.NewWidget(app, pages, settings) widget = twitch.NewWidget(tviewApp, pages, settings)
case "twitter": case "twitter":
settings := twitter.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := twitter.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = twitter.NewWidget(app, pages, settings) widget = twitter.NewWidget(tviewApp, pages, settings)
case "twitterstats": case "twitterstats":
settings := twitterstats.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := twitterstats.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = twitterstats.NewWidget(app, pages, settings) widget = twitterstats.NewWidget(tviewApp, pages, settings)
case "uptimerobot": case "uptimerobot":
settings := uptimerobot.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := uptimerobot.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = uptimerobot.NewWidget(app, pages, settings) widget = uptimerobot.NewWidget(tviewApp, pages, settings)
case "victorops": case "victorops":
settings := victorops.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := victorops.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = victorops.NewWidget(app, settings) widget = victorops.NewWidget(tviewApp, settings)
case "weather": case "weather":
settings := weather.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := weather.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = weather.NewWidget(app, pages, settings) widget = weather.NewWidget(tviewApp, pages, settings)
case "zendesk": case "zendesk":
settings := zendesk.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := zendesk.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = zendesk.NewWidget(app, pages, settings) widget = zendesk.NewWidget(tviewApp, pages, settings)
case "exchangerates": case "exchangerates":
settings := exchangerates.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := exchangerates.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = exchangerates.NewWidget(app, pages, settings) widget = exchangerates.NewWidget(tviewApp, pages, settings)
case "finnhub": case "finnhub":
settings := finnhub.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := finnhub.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = finnhub.NewWidget(app, settings) widget = finnhub.NewWidget(tviewApp, settings)
default: default:
settings := unknown.NewSettingsFromYAML(moduleName, moduleConfig, config) settings := unknown.NewSettingsFromYAML(moduleName, moduleConfig, config)
widget = unknown.NewWidget(app, settings) widget = unknown.NewWidget(tviewApp, settings)
} }
return widget return widget
} }
// MakeWidgets creates and returns a collection of enabled widgets // MakeWidgets creates and returns a collection of enabled widgets
func MakeWidgets(app *tview.Application, pages *tview.Pages, config *config.Config) []wtf.Wtfable { func MakeWidgets(tviewApp *tview.Application, pages *tview.Pages, config *config.Config) []wtf.Wtfable {
widgets := []wtf.Wtfable{} widgets := []wtf.Wtfable{}
moduleNames, _ := config.Map("wtf.mods") moduleNames, _ := config.Map("wtf.mods")
for moduleName := range moduleNames { for moduleName := range moduleNames {
widget := MakeWidget(app, pages, moduleName, config) widget := MakeWidget(tviewApp, pages, moduleName, config)
if widget != nil { if widget != nil {
widgets = append(widgets, widget) widgets = append(widgets, widget)

View File

@ -18,36 +18,34 @@ import (
// WtfApp is the container for a collection of widgets that are all constructed from a single // WtfApp is the container for a collection of widgets that are all constructed from a single
// configuration file and displayed together // configuration file and displayed together
type WtfApp struct { type WtfApp struct {
app *tview.Application
config *config.Config config *config.Config
configFilePath string configFilePath string
display *Display display *Display
focusTracker FocusTracker focusTracker FocusTracker
ghUser *support.GitHubUser ghUser *support.GitHubUser
pages *tview.Pages pages *tview.Pages
tviewApp *tview.Application
validator *ModuleValidator validator *ModuleValidator
widgets []wtf.Wtfable widgets []wtf.Wtfable
} }
// NewWtfApp creates and returns an instance of WtfApp // NewWtfApp creates and returns an instance of WtfApp
func NewWtfApp(app *tview.Application, config *config.Config, configFilePath string) *WtfApp { func NewWtfApp(tviewApp *tview.Application, config *config.Config, configFilePath string) *WtfApp {
wtfApp := WtfApp{ wtfApp := WtfApp{
app: app, tviewApp: tviewApp,
config: config, config: config,
configFilePath: configFilePath, configFilePath: configFilePath,
pages: tview.NewPages(), pages: tview.NewPages(),
} }
wtfApp.app.SetBeforeDrawFunc(func(s tcell.Screen) bool { wtfApp.tviewApp.SetBeforeDrawFunc(func(s tcell.Screen) bool {
s.Clear() s.Clear()
return false return false
}) })
wtfApp.app.SetInputCapture(wtfApp.keyboardIntercept) wtfApp.widgets = MakeWidgets(wtfApp.tviewApp, wtfApp.pages, wtfApp.config)
wtfApp.widgets = MakeWidgets(wtfApp.app, wtfApp.pages, wtfApp.config)
wtfApp.display = NewDisplay(wtfApp.widgets, wtfApp.config) wtfApp.display = NewDisplay(wtfApp.widgets, wtfApp.config)
wtfApp.focusTracker = NewFocusTracker(wtfApp.app, wtfApp.widgets, wtfApp.config) wtfApp.focusTracker = NewFocusTracker(wtfApp.tviewApp, wtfApp.widgets, wtfApp.config)
githubAPIKey := readGitHubAPIKey(wtfApp.config) githubAPIKey := readGitHubAPIKey(wtfApp.config)
wtfApp.ghUser = support.NewGitHubUser(githubAPIKey) wtfApp.ghUser = support.NewGitHubUser(githubAPIKey)
@ -55,7 +53,6 @@ func NewWtfApp(app *tview.Application, config *config.Config, configFilePath str
wtfApp.validator = NewModuleValidator() wtfApp.validator = NewModuleValidator()
wtfApp.pages.AddPage("grid", wtfApp.display.Grid, true, true) wtfApp.pages.AddPage("grid", wtfApp.display.Grid, true, true)
wtfApp.app.SetRoot(wtfApp.pages, true)
wtfApp.validator.Validate(wtfApp.widgets) wtfApp.validator.Validate(wtfApp.widgets)
@ -66,6 +63,9 @@ func NewWtfApp(app *tview.Application, config *config.Config, configFilePath str
), ),
) )
wtfApp.tviewApp.SetInputCapture(wtfApp.keyboardIntercept)
wtfApp.tviewApp.SetRoot(wtfApp.pages, true)
return &wtfApp return &wtfApp
} }
@ -98,7 +98,7 @@ func (wtfApp *WtfApp) keyboardIntercept(event *tcell.EventKey) *tcell.EventKey {
switch event.Key() { switch event.Key() {
case tcell.KeyCtrlC: case tcell.KeyCtrlC:
wtfApp.Stop() wtfApp.Stop()
wtfApp.app.Stop() wtfApp.tviewApp.Stop()
wtfApp.DisplayExitMessage() wtfApp.DisplayExitMessage()
case tcell.KeyCtrlR: case tcell.KeyCtrlR:
wtfApp.refreshAllWidgets() wtfApp.refreshAllWidgets()
@ -154,7 +154,7 @@ func (wtfApp *WtfApp) watchForConfigChanges() {
wtfApp.Stop() wtfApp.Stop()
config := cfg.LoadWtfConfigFile(wtfApp.configFilePath) config := cfg.LoadWtfConfigFile(wtfApp.configFilePath)
newApp := NewWtfApp(wtfApp.app, config, wtfApp.configFilePath) newApp := NewWtfApp(wtfApp.tviewApp, config, wtfApp.configFilePath)
openURLUtil := utils.ToStrs(config.UList("wtf.openUrlUtil", []interface{}{})) openURLUtil := utils.ToStrs(config.UList("wtf.openUrlUtil", []interface{}{}))
utils.Init(config.UString("wtf.openFileUtil", "open"), openURLUtil) utils.Init(config.UString("wtf.openFileUtil", "open"), openURLUtil)

View File

@ -9,16 +9,14 @@ import (
type Widget struct { type Widget struct {
view.TextWidget view.TextWidget
app *tview.Application
settings *Settings settings *Settings
} }
// NewWidget creates and returns an instance of Widget // NewWidget creates and returns an instance of Widget
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, settings.common), TextWidget: view.NewTextWidget(tviewApp, settings.common),
app: app,
settings: settings, settings: settings,
} }

View File

@ -19,9 +19,9 @@ type Widget struct {
ctx context.Context ctx context.Context
} }
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, pages, settings.Common), TextWidget: view.NewTextWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -19,9 +19,9 @@ type Widget struct {
items []Item items []Item
} }
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -17,15 +17,15 @@ import (
type Widget struct { type Widget struct {
view.BarGraph view.BarGraph
app *tview.Application tviewApp *tview.Application
} }
// NewWidget Make new instance of widget // NewWidget Make new instance of widget
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
BarGraph: view.NewBarGraph(app, "Sample Bar Graph", settings.Common), BarGraph: view.NewBarGraph(tviewApp, "Sample Bar Graph", settings.Common),
app: app, tviewApp: tviewApp,
} }
widget.View.SetWrap(true) widget.View.SetWrap(true)
@ -69,7 +69,7 @@ func (widget *Widget) Refresh() {
widget.View.Clear() widget.View.Clear()
widget.app.QueueUpdateDraw(func() { widget.tviewApp.QueueUpdateDraw(func() {
display(widget) display(widget)
}) })

View File

@ -15,9 +15,9 @@ type Widget struct {
err error err error
} }
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, pages, settings.Common), TextWidget: view.NewTextWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -27,10 +27,10 @@ type Widget struct {
} }
// NewWidget creates a new instance of the widget // NewWidget creates a new instance of the widget
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "workflow", "workflows"), MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "workflow", "workflows"),
TextWidget: view.NewTextWidget(app, pages, settings.Common), TextWidget: view.NewTextWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -27,10 +27,10 @@ type Widget struct {
} }
// NewWidget creates a new instance of the widget // NewWidget creates a new instance of the widget
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "workflow", "workflows"), MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "workflow", "workflows"),
TextWidget: view.NewTextWidget(app, pages, settings.Common), TextWidget: view.NewTextWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -27,10 +27,10 @@ type Widget struct {
} }
// NewWidget creates a new instance of the widget // NewWidget creates a new instance of the widget
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "workflow", "workflows"), MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "workflow", "workflows"),
TextWidget: view.NewTextWidget(app, pages, settings.Common), TextWidget: view.NewTextWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -14,9 +14,9 @@ type Widget struct {
settings *Settings settings *Settings
} }
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
Client: NewClient(settings.apiKey), Client: NewClient(settings.apiKey),
settings: settings, settings: settings,

View File

@ -8,18 +8,18 @@ import (
type Widget struct { type Widget struct {
view.TextWidget view.TextWidget
app *tview.Application // app *tview.Application
clockColl ClockCollection clockColl ClockCollection
dateFormat string dateFormat string
timeFormat string timeFormat string
settings *Settings settings *Settings
} }
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
app: app, // app: app,
settings: settings, settings: settings,
dateFormat: settings.dateFormat, dateFormat: settings.dateFormat,
timeFormat: settings.timeFormat, timeFormat: settings.timeFormat,
@ -34,10 +34,8 @@ func NewWidget(app *tview.Application, settings *Settings) *Widget {
// Refresh updates the onscreen contents of the widget // Refresh updates the onscreen contents of the widget
func (widget *Widget) Refresh() { func (widget *Widget) Refresh() {
widget.app.QueueUpdateDraw(func() {
sortedClocks := widget.clockColl.Sorted(widget.settings.sort) sortedClocks := widget.clockColl.Sorted(widget.settings.sort)
widget.display(sortedClocks, widget.dateFormat, widget.timeFormat) widget.display(sortedClocks, widget.dateFormat, widget.timeFormat)
})
} }
/* -------------------- Unexported Functions -------------------- */ /* -------------------- Unexported Functions -------------------- */

View File

@ -27,9 +27,9 @@ type Widget struct {
} }
// NewWidget creates a new instance of the widget // NewWidget creates a new instance of the widget
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
settings: settings, settings: settings,
buffer: &bytes.Buffer{}, buffer: &bytes.Buffer{},

View File

@ -29,9 +29,9 @@ type Widget struct {
} }
// NewWidget Make new instance of widget // NewWidget Make new instance of widget
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
settings: settings, settings: settings,
summaryList: summaryList{}, summaryList: summaryList{},

View File

@ -18,9 +18,9 @@ type Widget struct {
settings *Settings settings *Settings
} }
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
device_token: settings.deviceToken, device_token: settings.deviceToken,
settings: settings, settings: settings,

View File

@ -20,9 +20,9 @@ type Widget struct {
} }
// NewWidget Make new instance of widget // NewWidget Make new instance of widget
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
priceWidget: price.NewWidget(settings.priceSettings), priceWidget: price.NewWidget(settings.priceSettings),
toplistWidget: toplist.NewWidget(settings.toplistSettings), toplistWidget: toplist.NewWidget(settings.toplistSettings),

View File

@ -17,9 +17,9 @@ type Widget struct {
err error err error
} }
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), ScrollableWidget: view.NewScrollableWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -19,9 +19,9 @@ type Widget struct {
err error err error
} }
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := &Widget{ widget := &Widget{
ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), ScrollableWidget: view.NewScrollableWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -9,16 +9,14 @@ import (
type Widget struct { type Widget struct {
view.TextWidget view.TextWidget
app *tview.Application
settings *Settings settings *Settings
} }
// NewWidget creates a new widget using settings // NewWidget creates a new widget using settings
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
app: app,
settings: settings, settings: settings,
} }

View File

@ -42,11 +42,11 @@ type Widget struct {
} }
// NewWidget creates a new instance of a widget // NewWidget creates a new instance of a widget
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), ScrollableWidget: view.NewScrollableWidget(tviewApp, pages, settings.Common),
app: app, app: tviewApp,
pages: pages, pages: pages,
settings: settings, settings: settings,
} }

View File

@ -16,9 +16,9 @@ type Widget struct {
displayBuffer string displayBuffer string
} }
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, pages, settings.Common), TextWidget: view.NewTextWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -18,9 +18,9 @@ type Widget struct {
err error err error
} }
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), ScrollableWidget: view.NewScrollableWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -63,9 +63,9 @@ func getShowText(feedItem *FeedItem, showType ShowType) string {
} }
// NewWidget creates a new instance of a widget // NewWidget creates a new instance of a widget
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := &Widget{ widget := &Widget{
ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), ScrollableWidget: view.NewScrollableWidget(tviewApp, pages, settings.Common),
parser: gofeed.NewParser(), parser: gofeed.NewParser(),
settings: settings, settings: settings,

View File

@ -17,10 +17,10 @@ type Widget struct {
} }
// NewWidget .. // NewWidget ..
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
Client: NewClient(settings.symbols, settings.apiKey), Client: NewClient(settings.symbols, settings.apiKey),
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -36,7 +36,7 @@ type Widget struct {
err error err error
} }
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
var widget Widget var widget Widget
leagueId, err := getLeague(settings.league) leagueId, err := getLeague(settings.league)
@ -51,7 +51,7 @@ func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *
} }
widget = Widget{ widget = Widget{
TextWidget: view.NewTextWidget(app, pages, settings.Common), TextWidget: view.NewTextWidget(tviewApp, pages, settings.Common),
Client: NewClient(settings.apiKey), Client: NewClient(settings.apiKey),
League: leagueId, League: leagueId,
settings: settings, settings: settings,

View File

@ -8,17 +8,17 @@ import (
type Widget struct { type Widget struct {
view.TextWidget view.TextWidget
app *tview.Application
calEvents []*CalEvent calEvents []*CalEvent
settings *Settings
err error err error
settings *Settings
tviewApp *tview.Application
} }
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
app: app, tviewApp: tviewApp,
settings: settings, settings: settings,
} }
@ -37,7 +37,7 @@ func (widget *Widget) Refresh() {
return return
} }
widget.app.Suspend(widget.authenticate) widget.tviewApp.Suspend(widget.authenticate)
widget.Refresh() widget.Refresh()
} }

View File

@ -29,9 +29,9 @@ var (
GerritURLPattern = regexp.MustCompile(`^(http|https)://(.*)$`) GerritURLPattern = regexp.MustCompile(`^(http|https)://(.*)$`)
) )
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
Idx: 0, Idx: 0,

View File

@ -23,17 +23,17 @@ type Widget struct {
GitRepos []*GitRepo GitRepos []*GitRepo
app *tview.Application
pages *tview.Pages pages *tview.Pages
settings *Settings settings *Settings
tviewApp *tview.Application
} }
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "repository", "repositories"), MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "repository", "repositories"),
TextWidget: view.NewTextWidget(app, pages, settings.Common), TextWidget: view.NewTextWidget(tviewApp, pages, settings.Common),
app: app, tviewApp: tviewApp,
pages: pages, pages: pages,
settings: settings, settings: settings,
} }
@ -55,7 +55,7 @@ func (widget *Widget) Checkout() {
repoToCheckout := widget.GitRepos[widget.Idx] repoToCheckout := widget.GitRepos[widget.Idx]
repoToCheckout.checkout(text) repoToCheckout.checkout(text)
widget.pages.RemovePage("modal") widget.pages.RemovePage("modal")
widget.app.SetFocus(widget.View) widget.tviewApp.SetFocus(widget.View)
widget.display() widget.display()
widget.Refresh() widget.Refresh()
} }
@ -93,7 +93,7 @@ func (widget *Widget) addButtons(form *tview.Form, checkoutFctn func()) {
func (widget *Widget) addCancelButton(form *tview.Form) { func (widget *Widget) addCancelButton(form *tview.Form) {
cancelFn := func() { cancelFn := func() {
widget.pages.RemovePage("modal") widget.pages.RemovePage("modal")
widget.app.SetFocus(widget.View) widget.tviewApp.SetFocus(widget.View)
widget.display() widget.display()
} }
@ -102,10 +102,10 @@ func (widget *Widget) addCancelButton(form *tview.Form) {
} }
func (widget *Widget) modalFocus(form *tview.Form) { func (widget *Widget) modalFocus(form *tview.Form) {
widget.app.QueueUpdateDraw(func() { widget.tviewApp.QueueUpdateDraw(func() {
frame := widget.modalFrame(form) frame := widget.modalFrame(form)
widget.pages.AddPage("modal", frame, false, true) widget.pages.AddPage("modal", frame, false, true)
widget.app.SetFocus(frame) widget.tviewApp.SetFocus(frame)
}) })
} }

View File

@ -23,10 +23,10 @@ type Widget struct {
} }
// NewWidget creates a new instance of the widget // NewWidget creates a new instance of the widget
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "repository", "repositories"), MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "repository", "repositories"),
TextWidget: view.NewTextWidget(app, pages, settings.Common), TextWidget: view.NewTextWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -29,12 +29,12 @@ type Widget struct {
} }
// NewWidget creates a new instance of the widget // NewWidget creates a new instance of the widget
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
context, err := newContext(settings) context, err := newContext(settings)
widget := Widget{ widget := Widget{
MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "repository", "repositories"), MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "repository", "repositories"),
TextWidget: view.NewTextWidget(app, pages, settings.Common), TextWidget: view.NewTextWidget(tviewApp, pages, settings.Common),
context: context, context: context,
settings: settings, settings: settings,

View File

@ -18,9 +18,9 @@ type Widget struct {
err error err error
} }
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := &Widget{ widget := &Widget{
ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), ScrollableWidget: view.NewScrollableWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -17,9 +17,9 @@ type Widget struct {
} }
// NewWidget creates a new instance of a widget // NewWidget creates a new instance of a widget
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), ScrollableWidget: view.NewScrollableWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -11,9 +11,9 @@ type Widget struct {
settings *Settings settings *Settings
} }
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -20,9 +20,9 @@ type Widget struct {
settings *Settings settings *Settings
} }
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
Client: NewClient(settings), Client: NewClient(settings),
Selected: -1, Selected: -1,

View File

@ -17,9 +17,9 @@ type Widget struct {
err error err error
} }
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -18,9 +18,9 @@ type Widget struct {
err error err error
} }
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := &Widget{ widget := &Widget{
ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), ScrollableWidget: view.NewScrollableWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -17,9 +17,9 @@ type Widget struct {
} }
// NewWidget creates a new instance of a widget // NewWidget creates a new instance of a widget
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := &Widget{ widget := &Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -36,9 +36,9 @@ type ipinfo struct {
} }
// NewWidget constructor // NewWidget constructor
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -30,9 +30,9 @@ type ipinfo struct {
Organization string `json:"org"` Organization string `json:"org"`
} }
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -17,9 +17,9 @@ type Widget struct {
err error err error
} }
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), ScrollableWidget: view.NewScrollableWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -16,9 +16,9 @@ type Widget struct {
err error err error
} }
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), ScrollableWidget: view.NewScrollableWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -23,9 +23,9 @@ type Widget struct {
} }
// NewWidget creates a new instance of the widget // NewWidget creates a new instance of the widget
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
objects: settings.objects, objects: settings.objects,
title: settings.title, title: settings.title,

View File

@ -17,16 +17,14 @@ const (
type Widget struct { type Widget struct {
view.TextWidget view.TextWidget
app *tview.Application
filePath string filePath string
settings *Settings settings *Settings
} }
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
app: app,
filePath: log.LogFilePath(), filePath: log.LogFilePath(),
settings: settings, settings: settings,
} }

View File

@ -18,19 +18,19 @@ type Widget struct {
view.MultiSourceWidget view.MultiSourceWidget
view.TextWidget view.TextWidget
app *tview.Application
Data []*MercurialRepo Data []*MercurialRepo
pages *tview.Pages pages *tview.Pages
settings *Settings settings *Settings
tviewApp *tview.Application
} }
// NewWidget creates a new instance of a widget // NewWidget creates a new instance of a widget
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "repository", "repositories"), MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "repository", "repositories"),
TextWidget: view.NewTextWidget(app, pages, settings.Common), TextWidget: view.NewTextWidget(tviewApp, pages, settings.Common),
app: app, tviewApp: tviewApp,
pages: pages, pages: pages,
settings: settings, settings: settings,
} }
@ -52,7 +52,7 @@ func (widget *Widget) Checkout() {
repoToCheckout := widget.Data[widget.Idx] repoToCheckout := widget.Data[widget.Idx]
repoToCheckout.checkout(text) repoToCheckout.checkout(text)
widget.pages.RemovePage("modal") widget.pages.RemovePage("modal")
widget.app.SetFocus(widget.View) widget.tviewApp.SetFocus(widget.View)
widget.display() widget.display()
@ -91,7 +91,7 @@ func (widget *Widget) addButtons(form *tview.Form, checkoutFctn func()) {
func (widget *Widget) addCancelButton(form *tview.Form) { func (widget *Widget) addCancelButton(form *tview.Form) {
cancelFn := func() { cancelFn := func() {
widget.pages.RemovePage("modal") widget.pages.RemovePage("modal")
widget.app.SetFocus(widget.View) widget.tviewApp.SetFocus(widget.View)
widget.display() widget.display()
} }
@ -100,10 +100,10 @@ func (widget *Widget) addCancelButton(form *tview.Form) {
} }
func (widget *Widget) modalFocus(form *tview.Form) { func (widget *Widget) modalFocus(form *tview.Form) {
widget.app.QueueUpdateDraw(func() { widget.tviewApp.QueueUpdateDraw(func() {
frame := widget.modalFrame(form) frame := widget.modalFrame(form)
widget.pages.AddPage("modal", frame, false, true) widget.pages.AddPage("modal", frame, false, true)
widget.app.SetFocus(frame) widget.tviewApp.SetFocus(frame)
}) })
} }

View File

@ -24,9 +24,9 @@ type Widget struct {
} }
// NewWidget creates a new instance of a widget // NewWidget creates a new instance of a widget
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, pages, settings.Common), TextWidget: view.NewTextWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -17,10 +17,10 @@ type Widget struct {
settings *Settings settings *Settings
} }
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "applicationID", "applicationIDs"), MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "applicationID", "applicationIDs"),
TextWidget: view.NewTextWidget(app, pages, settings.Common), TextWidget: view.NewTextWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -15,9 +15,9 @@ type Widget struct {
settings *Settings settings *Settings
} }
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -23,9 +23,9 @@ type Widget struct {
} }
// NewWidget creates and returns an instance of PagerDuty widget // NewWidget creates and returns an instance of PagerDuty widget
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -15,10 +15,9 @@ type Widget struct {
} }
// NewWidget creates a new instance of a widget // NewWidget creates a new instance of a widget
//func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -21,9 +21,9 @@ type Widget struct {
archivedView bool archivedView bool
} }
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
ScrollableWidget: view.NewScrollableWidget(app, nil, settings.Common), ScrollableWidget: view.NewScrollableWidget(tviewApp, nil, settings.Common),
settings: settings, settings: settings,
client: NewClient(settings.consumerKey, "http://localhost"), client: NewClient(settings.consumerKey, "http://localhost"),
archivedView: false, archivedView: false,

View File

@ -15,9 +15,9 @@ type Widget struct {
settings *Settings settings *Settings
} }
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
Battery: NewBattery(), Battery: NewBattery(),

View File

@ -14,18 +14,17 @@ import (
// Widget define wtf widget to register widget later // Widget define wtf widget to register widget later
type Widget struct { type Widget struct {
view.BarGraph
app *tview.Application
settings *Settings settings *Settings
tviewApp *tview.Application
view.BarGraph
} }
// NewWidget Make new instance of widget // NewWidget Make new instance of widget
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
BarGraph: view.NewBarGraph(app, settings.Name, settings.Common), BarGraph: view.NewBarGraph(tviewApp, settings.Name, settings.Common),
app: app, tviewApp: tviewApp,
settings: settings, settings: settings,
} }
@ -131,7 +130,7 @@ func (widget *Widget) Refresh() {
return return
} }
widget.app.QueueUpdateDraw(func() { widget.tviewApp.QueueUpdateDraw(func() {
widget.View.Clear() widget.View.Clear()
display(widget) display(widget)
}) })

View File

@ -18,9 +18,9 @@ type Widget struct {
} }
// NewWidget creates a new instance of a widget // NewWidget creates a new instance of a widget
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), ScrollableWidget: view.NewScrollableWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -14,9 +14,9 @@ type Widget struct {
settings *Settings settings *Settings
} }
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -15,9 +15,9 @@ type Widget struct {
err error err error
} }
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := &Widget{ widget := &Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
settings: settings, settings: settings,
} }
return widget return widget

View File

@ -19,9 +19,9 @@ type Widget struct {
} }
// NewWidget creates a new instance of a widget // NewWidget creates a new instance of a widget
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, pages, settings.Common), TextWidget: view.NewTextWidget(tviewApp, pages, settings.Common),
Info: spotigopher.Info{}, Info: spotigopher.Info{},
client: spotigopher.NewClient(), client: spotigopher.NewClient(),

View File

@ -60,7 +60,7 @@ func authHandler(w http.ResponseWriter, r *http.Request) {
} }
// NewWidget creates a new widget for WTF // NewWidget creates a new widget for WTF
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
redirectURI = "http://localhost:" + settings.callbackPort + "/callback" redirectURI = "http://localhost:" + settings.callbackPort + "/callback"
auth = spotify.NewAuthenticator(redirectURI, spotify.ScopeUserReadCurrentlyPlaying, spotify.ScopeUserReadPlaybackState, spotify.ScopeUserModifyPlaybackState) auth = spotify.NewAuthenticator(redirectURI, spotify.ScopeUserReadCurrentlyPlaying, spotify.ScopeUserReadPlaybackState, spotify.ScopeUserModifyPlaybackState)
@ -71,7 +71,7 @@ func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *
var playerState *spotify.PlayerState var playerState *spotify.PlayerState
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, pages, settings.Common), TextWidget: view.NewTextWidget(tviewApp, pages, settings.Common),
Info: Info{}, Info: Info{},

View File

@ -13,9 +13,9 @@ type Widget struct {
settings *Settings settings *Settings
} }
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
CurrentIcon: 0, CurrentIcon: 0,

View File

@ -16,9 +16,9 @@ type Widget struct {
links []Link links []Link
} }
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := &Widget{ widget := &Widget{
ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), ScrollableWidget: view.NewScrollableWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -19,9 +19,9 @@ type Widget struct {
systemInfo *SystemInfo systemInfo *SystemInfo
} }
func NewWidget(app *tview.Application, date, version string, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, date, version string, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
Date: date, Date: date,

View File

@ -29,10 +29,10 @@ type Widget struct {
} }
// NewWidget creates a new instance of a widget // NewWidget creates a new instance of a widget
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "filePath", "filePaths"), MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "filePath", "filePaths"),
TextWidget: view.NewTextWidget(app, pages, settings.Common), TextWidget: view.NewTextWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -22,21 +22,20 @@ const (
// A Widget represents a Todo widget // A Widget represents a Todo widget
type Widget struct { type Widget struct {
view.ScrollableWidget
app *tview.Application
filePath string filePath string
list checklist.Checklist list checklist.Checklist
pages *tview.Pages pages *tview.Pages
settings *Settings settings *Settings
tviewApp *tview.Application
view.ScrollableWidget
} }
// NewWidget creates a new instance of a widget // NewWidget creates a new instance of a widget
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), ScrollableWidget: view.NewScrollableWidget(tviewApp, pages, settings.Common),
app: app, tviewApp: tviewApp,
settings: settings, settings: settings,
filePath: settings.filePath, filePath: settings.filePath,
list: checklist.NewChecklist(settings.Sigils.Checkbox.Checked, settings.Sigils.Checkbox.Unchecked), list: checklist.NewChecklist(settings.Sigils.Checkbox.Checked, settings.Sigils.Checkbox.Unchecked),
@ -117,15 +116,15 @@ func (widget *Widget) newItem() {
widget.SetItemCount(len(widget.list.Items)) widget.SetItemCount(len(widget.list.Items))
widget.persist() widget.persist()
widget.pages.RemovePage("modal") widget.pages.RemovePage("modal")
widget.app.SetFocus(widget.View) widget.tviewApp.SetFocus(widget.View)
widget.display() widget.display()
} }
widget.addButtons(form, saveFctn) widget.addButtons(form, saveFctn)
widget.modalFocus(form) widget.modalFocus(form)
widget.app.QueueUpdate(func() { widget.tviewApp.QueueUpdate(func() {
widget.app.Draw() widget.tviewApp.Draw()
}) })
} }
@ -166,15 +165,15 @@ func (widget *Widget) updateSelected() {
widget.updateSelectedItem(text) widget.updateSelectedItem(text)
widget.persist() widget.persist()
widget.pages.RemovePage("modal") widget.pages.RemovePage("modal")
widget.app.SetFocus(widget.View) widget.tviewApp.SetFocus(widget.View)
widget.display() widget.display()
} }
widget.addButtons(form, saveFctn) widget.addButtons(form, saveFctn)
widget.modalFocus(form) widget.modalFocus(form)
widget.app.QueueUpdate(func() { widget.tviewApp.QueueUpdate(func() {
widget.app.Draw() widget.tviewApp.Draw()
}) })
} }
@ -198,7 +197,7 @@ func (widget *Widget) addButtons(form *tview.Form, saveFctn func()) {
func (widget *Widget) addCancelButton(form *tview.Form) { func (widget *Widget) addCancelButton(form *tview.Form) {
cancelFn := func() { cancelFn := func() {
widget.pages.RemovePage("modal") widget.pages.RemovePage("modal")
widget.app.SetFocus(widget.View) widget.tviewApp.SetFocus(widget.View)
widget.display() widget.display()
} }
@ -211,10 +210,10 @@ func (widget *Widget) addSaveButton(form *tview.Form, fctn func()) {
} }
func (widget *Widget) modalFocus(form *tview.Form) { func (widget *Widget) modalFocus(form *tview.Form) {
widget.app.QueueUpdateDraw(func() { widget.tviewApp.QueueUpdateDraw(func() {
frame := widget.modalFrame(form) frame := widget.modalFrame(form)
widget.pages.AddPage("modal", frame, false, true) widget.pages.AddPage("modal", frame, false, true)
widget.app.SetFocus(frame) widget.tviewApp.SetFocus(frame)
}) })
} }

View File

@ -19,10 +19,10 @@ type Widget struct {
} }
// NewWidget creates a new instance of a widget // NewWidget creates a new instance of a widget
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "project", "projects"), MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "project", "projects"),
ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), ScrollableWidget: view.NewScrollableWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -21,9 +21,9 @@ type Widget struct {
} }
// NewWidget creates a new instance of a widget // NewWidget creates a new instance of a widget
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), ScrollableWidget: view.NewScrollableWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -17,9 +17,9 @@ type Widget struct {
err error err error
} }
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), ScrollableWidget: view.NewScrollableWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -27,9 +27,9 @@ type Stream struct {
Title string Title string
} }
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := &Widget{ widget := &Widget{
ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), ScrollableWidget: view.NewScrollableWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
twitch: NewClient(settings.clientId), twitch: NewClient(settings.clientId),
} }

View File

@ -20,10 +20,10 @@ type Widget struct {
settings *Settings settings *Settings
} }
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "screenName", "screenNames"), MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "screenName", "screenNames"),
TextWidget: view.NewTextWidget(app, pages, settings.Common), TextWidget: view.NewTextWidget(tviewApp, pages, settings.Common),
idx: 0, idx: 0,
settings: settings, settings: settings,

View File

@ -14,9 +14,9 @@ type Widget struct {
settings *Settings settings *Settings
} }
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
client: NewClient(settings), client: NewClient(settings),
settings: settings, settings: settings,

View File

@ -13,9 +13,9 @@ type Widget struct {
settings *Settings settings *Settings
} }
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -21,9 +21,9 @@ type Widget struct {
err error err error
} }
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := &Widget{ widget := &Widget{
ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), ScrollableWidget: view.NewScrollableWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -17,9 +17,9 @@ type Widget struct {
} }
// NewWidget creates a new widget // NewWidget creates a new widget
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -15,10 +15,10 @@ type Widget struct {
settings *Settings settings *Settings
} }
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
locationData, err := GetLocationData(settings.city) locationData, err := GetLocationData(settings.city)
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
location: locationData, location: locationData,
lastError: err, lastError: err,

View File

@ -17,9 +17,9 @@ type Widget struct {
settings *Settings settings *Settings
} }
func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
TextWidget: view.NewTextWidget(app, nil, settings.Common), TextWidget: view.NewTextWidget(tviewApp, nil, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -20,10 +20,10 @@ type Widget struct {
} }
// NewWidget creates and returns a new instance of the weather Widget // NewWidget creates and returns a new instance of the weather Widget
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "cityid", "cityids"), MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "cityid", "cityids"),
TextWidget: view.NewTextWidget(app, pages, settings.Common), TextWidget: view.NewTextWidget(tviewApp, pages, settings.Common),
pages: pages, pages: pages,
settings: settings, settings: settings,

View File

@ -18,9 +18,9 @@ type Widget struct {
} }
// NewWidget creates a new instance of a widget // NewWidget creates a new instance of a widget
func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget {
widget := Widget{ widget := Widget{
ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), ScrollableWidget: view.NewScrollableWidget(tviewApp, pages, settings.Common),
settings: settings, settings: settings,
} }

View File

@ -30,10 +30,10 @@ type Bar struct {
} }
// NewBarGraph creates and returns an instance of BarGraph // NewBarGraph creates and returns an instance of BarGraph
func NewBarGraph(app *tview.Application, name string, commonSettings *cfg.Common) BarGraph { func NewBarGraph(tviewApp *tview.Application, name string, commonSettings *cfg.Common) BarGraph {
widget := BarGraph{ widget := BarGraph{
Base: NewBase(app, commonSettings), Base: NewBase(commonSettings),
KeyboardWidget: NewKeyboardWidget(app, nil, commonSettings), KeyboardWidget: NewKeyboardWidget(tviewApp, nil, commonSettings),
maxStars: commonSettings.Config.UInt("graphStars", 20), maxStars: commonSettings.Config.UInt("graphStars", 20),
starChar: commonSettings.Config.UString("graphIcon", "|"), starChar: commonSettings.Config.UString("graphIcon", "|"),

View File

@ -4,32 +4,29 @@ import (
"fmt" "fmt"
"sync" "sync"
"github.com/rivo/tview"
"github.com/wtfutil/wtf/cfg" "github.com/wtfutil/wtf/cfg"
"github.com/wtfutil/wtf/utils" "github.com/wtfutil/wtf/utils"
) )
type Base struct { type Base struct {
app *tview.Application
bordered bool bordered bool
commonSettings *cfg.Common commonSettings *cfg.Common
enabled bool enabled bool
enabledMutex *sync.Mutex
focusChar string focusChar string
focusable bool focusable bool
name string name string
quitChan chan bool quitChan chan bool
refreshing bool
refreshInterval int refreshInterval int
enabledMutex *sync.Mutex refreshing bool
} }
// NewBase creates and returns an instance of the Base module, the lowest-level // NewBase creates and returns an instance of the Base module, the lowest-level
// primitive module from which all others are derived // primitive module from which all others are derived
func NewBase(app *tview.Application, commonSettings *cfg.Common) *Base { func NewBase(commonSettings *cfg.Common) *Base {
base := &Base{ base := &Base{
commonSettings: commonSettings, commonSettings: commonSettings,
app: app,
bordered: commonSettings.Bordered, bordered: commonSettings.Bordered,
enabled: commonSettings.Enabled, enabled: commonSettings.Enabled,
enabledMutex: &sync.Mutex{}, enabledMutex: &sync.Mutex{},

View File

@ -19,10 +19,10 @@ type helpItem struct {
// KeyboardWidget manages keyboard control for a widget // KeyboardWidget manages keyboard control for a widget
type KeyboardWidget struct { type KeyboardWidget struct {
app *tview.Application
pages *tview.Pages pages *tview.Pages
view *tview.TextView
settings *cfg.Common settings *cfg.Common
tviewApp *tview.Application
view *tview.TextView
charMap map[string]func() charMap map[string]func()
keyMap map[tcell.Key]func() keyMap map[tcell.Key]func()
@ -32,9 +32,9 @@ type KeyboardWidget struct {
} }
// NewKeyboardWidget creates and returns a new instance of KeyboardWidget // NewKeyboardWidget creates and returns a new instance of KeyboardWidget
func NewKeyboardWidget(app *tview.Application, pages *tview.Pages, settings *cfg.Common) *KeyboardWidget { func NewKeyboardWidget(tviewApp *tview.Application, pages *tview.Pages, settings *cfg.Common) *KeyboardWidget {
keyWidget := &KeyboardWidget{ keyWidget := &KeyboardWidget{
app: app, tviewApp: tviewApp,
pages: pages, pages: pages,
settings: settings, settings: settings,
charMap: make(map[string]func()), charMap: make(map[string]func()),
@ -168,16 +168,16 @@ func (widget *KeyboardWidget) ShowHelp() {
closeFunc := func() { closeFunc := func() {
widget.pages.RemovePage("help") widget.pages.RemovePage("help")
widget.app.SetFocus(widget.view) widget.tviewApp.SetFocus(widget.view)
} }
modal := NewBillboardModal(widget.HelpText(), closeFunc) modal := NewBillboardModal(widget.HelpText(), closeFunc)
widget.pages.AddPage("help", modal, false, true) widget.pages.AddPage("help", modal, false, true)
widget.app.SetFocus(modal) widget.tviewApp.SetFocus(modal)
widget.app.QueueUpdate(func() { widget.tviewApp.QueueUpdate(func() {
widget.app.Draw() widget.tviewApp.Draw()
}) })
} }

View File

@ -15,9 +15,9 @@ type ScrollableWidget struct {
RenderFunction func() RenderFunction func()
} }
func NewScrollableWidget(app *tview.Application, pages *tview.Pages, commonSettings *cfg.Common) ScrollableWidget { func NewScrollableWidget(tviewApp *tview.Application, pages *tview.Pages, commonSettings *cfg.Common) ScrollableWidget {
widget := ScrollableWidget{ widget := ScrollableWidget{
TextWidget: NewTextWidget(app, pages, commonSettings), TextWidget: NewTextWidget(tviewApp, pages, commonSettings),
} }
widget.Unselect() widget.Unselect()
@ -84,7 +84,7 @@ func (widget *ScrollableWidget) Unselect() {
func (widget *ScrollableWidget) Redraw(data func() (string, string, bool)) { func (widget *ScrollableWidget) Redraw(data func() (string, string, bool)) {
widget.TextWidget.Redraw(data) widget.TextWidget.Redraw(data)
widget.Base.app.QueueUpdateDraw(func() { widget.tviewApp.QueueUpdateDraw(func() {
widget.View.Highlight(strconv.Itoa(widget.Selected)).ScrollToHighlight() widget.View.Highlight(strconv.Itoa(widget.Selected)).ScrollToHighlight()
}) })
} }

View File

@ -17,10 +17,10 @@ type TextWidget struct {
} }
// NewTextWidget creates and returns an instance of TextWidget // NewTextWidget creates and returns an instance of TextWidget
func NewTextWidget(app *tview.Application, pages *tview.Pages, commonSettings *cfg.Common) TextWidget { func NewTextWidget(tviewApp *tview.Application, pages *tview.Pages, commonSettings *cfg.Common) TextWidget {
widget := TextWidget{ widget := TextWidget{
Base: NewBase(app, commonSettings), Base: NewBase(commonSettings),
KeyboardWidget: NewKeyboardWidget(app, pages, commonSettings), KeyboardWidget: NewKeyboardWidget(tviewApp, pages, commonSettings),
} }
widget.View = widget.createView(widget.bordered) widget.View = widget.createView(widget.bordered)
@ -39,7 +39,7 @@ func (widget *TextWidget) TextView() *tview.TextView {
} }
func (widget *TextWidget) Redraw(data func() (string, string, bool)) { func (widget *TextWidget) Redraw(data func() (string, string, bool)) {
widget.Base.app.QueueUpdateDraw(func() { widget.tviewApp.QueueUpdateDraw(func() {
title, content, wrap := data() title, content, wrap := data()
widget.View.Clear() widget.View.Clear()