package {{(Lower .Name)}} import ( "github.com/rivo/tview" "github.com/wtfutil/wtf/view" ) // Widget is the container for your module's data type Widget struct { view.TextWidget settings *Settings } // NewWidget creates and returns an instance of Widget func NewWidget(tviewApp *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ TextWidget: view.NewTextWidget(tviewApp, settings.common), settings: settings, } return &widget } /* -------------------- Exported Functions -------------------- */ // Refresh updates the onscreen contents of the widget func (widget *Widget) Refresh() { // The last call should always be to the display function widget.display() } /* -------------------- Unexported Functions -------------------- */ func (widget *Widget) content() string { return "This is my widget" } func (widget *Widget) display() { widget.Redraw(func() (string, string, bool) { return widget.CommonSettings().Title, widget.content(), false }) }