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."`
|
||||
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
|
||||
@ -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),
|
||||
|
@ -9,6 +9,7 @@ import (
|
||||
)
|
||||
|
||||
type TextWidget struct {
|
||||
bordered bool
|
||||
commonSettings *cfg.Common
|
||||
enabled bool
|
||||
focusable bool
|
||||
@ -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(),
|
||||
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user