mirror of
https://github.com/taigrr/wtf
synced 2025-01-18 04:03:14 -08:00
Add support for a new 'border' property on widgets
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.
This commit is contained in:
parent
60895c84a2
commit
c2e240014d
@ -47,7 +47,8 @@ type Common struct {
|
|||||||
PositionSettings `help:"Defines where in the grid this module’s widget will be displayed."`
|
PositionSettings `help:"Defines where in the grid this module’s widget will be displayed."`
|
||||||
Sigils
|
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"`
|
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"`
|
Title string `help:"The title string to show when displaying this module" optional:"true"`
|
||||||
Config *config.Config
|
Config *config.Config
|
||||||
@ -80,6 +81,7 @@ func NewCommonSettingsFromModule(name, defaultTitle string, moduleConfig *config
|
|||||||
|
|
||||||
PositionSettings: NewPositionSettingsFromYAML(name, moduleConfig),
|
PositionSettings: NewPositionSettingsFromYAML(name, moduleConfig),
|
||||||
|
|
||||||
|
Bordered: moduleConfig.UBool("border", true),
|
||||||
Enabled: moduleConfig.UBool("enabled", false),
|
Enabled: moduleConfig.UBool("enabled", false),
|
||||||
RefreshInterval: moduleConfig.UInt("refreshInterval", 300),
|
RefreshInterval: moduleConfig.UInt("refreshInterval", 300),
|
||||||
Title: moduleConfig.UString("title", defaultTitle),
|
Title: moduleConfig.UString("title", defaultTitle),
|
||||||
|
@ -9,6 +9,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type TextWidget struct {
|
type TextWidget struct {
|
||||||
|
bordered bool
|
||||||
commonSettings *cfg.Common
|
commonSettings *cfg.Common
|
||||||
enabled bool
|
enabled bool
|
||||||
focusable bool
|
focusable bool
|
||||||
@ -25,6 +26,7 @@ func NewTextWidget(app *tview.Application, commonSettings *cfg.Common, focusable
|
|||||||
commonSettings: commonSettings,
|
commonSettings: commonSettings,
|
||||||
|
|
||||||
app: app,
|
app: app,
|
||||||
|
bordered: commonSettings.Bordered,
|
||||||
enabled: commonSettings.Enabled,
|
enabled: commonSettings.Enabled,
|
||||||
focusable: focusable,
|
focusable: focusable,
|
||||||
focusChar: commonSettings.FocusChar(),
|
focusChar: commonSettings.FocusChar(),
|
||||||
@ -33,12 +35,18 @@ func NewTextWidget(app *tview.Application, commonSettings *cfg.Common, focusable
|
|||||||
}
|
}
|
||||||
|
|
||||||
widget.View = widget.addView()
|
widget.View = widget.addView()
|
||||||
|
widget.View.SetBorder(widget.bordered)
|
||||||
|
|
||||||
return widget
|
return widget
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------- Exported Functions -------------------- */
|
/* -------------------- 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 {
|
func (widget *TextWidget) BorderColor() string {
|
||||||
if widget.Focusable() {
|
if widget.Focusable() {
|
||||||
return widget.commonSettings.Colors.BorderFocusable
|
return widget.commonSettings.Colors.BorderFocusable
|
||||||
|
Loading…
x
Reference in New Issue
Block a user