Skip to content

Commit

Permalink
Add support for a new 'border' property on widgets
Browse files Browse the repository at this point in the history
Sets whether or not the widget should be drawn with a border (and by
extension a title).

If 'true', the border is drawn. If 'false', no
border is drawn. Defaults. to 'true'. Optional.
  • Loading branch information
senorprogrammer committed Jul 11, 2019
1 parent 60895c8 commit c2e2400
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 1 deletion.
4 changes: 3 additions & 1 deletion cfg/common_settings.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@ type Common struct {
PositionSettings `help:"Defines where in the grid this module’s widget will be displayed."`
Sigils

Enabled bool `help:"Determines whether or not this module is executed and if its data displayed onscreen." values:"true, false"`
Bordered bool `help:"Whether or not the module should be displayed with a border." values:"true, false" optional:"true" default:"true"`
Enabled bool `help:"Whether or not this module is executed and if its data displayed onscreen." values:"true, false" optional:"true" default:"false"`
RefreshInterval int `help:"How often, in seconds, this module will update its data." values:"A positive integer, 0..n." optional:"true"`
Title string `help:"The title string to show when displaying this module" optional:"true"`
Config *config.Config
Expand Down Expand Up @@ -80,6 +81,7 @@ func NewCommonSettingsFromModule(name, defaultTitle string, moduleConfig *config

PositionSettings: NewPositionSettingsFromYAML(name, moduleConfig),

Bordered: moduleConfig.UBool("border", true),
Enabled: moduleConfig.UBool("enabled", false),
RefreshInterval: moduleConfig.UInt("refreshInterval", 300),
Title: moduleConfig.UString("title", defaultTitle),
Expand Down
8 changes: 8 additions & 0 deletions wtf/text_widget.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
)

type TextWidget struct {
bordered bool
commonSettings *cfg.Common
enabled bool
focusable bool
Expand All @@ -25,6 +26,7 @@ func NewTextWidget(app *tview.Application, commonSettings *cfg.Common, focusable
commonSettings: commonSettings,

app: app,
bordered: commonSettings.Bordered,
enabled: commonSettings.Enabled,
focusable: focusable,
focusChar: commonSettings.FocusChar(),
Expand All @@ -33,12 +35,18 @@ func NewTextWidget(app *tview.Application, commonSettings *cfg.Common, focusable
}

widget.View = widget.addView()
widget.View.SetBorder(widget.bordered)

return widget
}

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

// Bordered returns whether or not this widget should be drawn with a border
func (widget *TextWidget) Bordered() bool {
return widget.bordered
}

func (widget *TextWidget) BorderColor() string {
if widget.Focusable() {
return widget.commonSettings.Colors.BorderFocusable
Expand Down

0 comments on commit c2e2400

Please sign in to comment.