Documentation
¶
Overview ¶
Package columns provides a widget for organizing other widgets in columns.
Index ¶
- Variables
- func Render(w IWidget, size gowid.IRenderSize, focus gowid.Selector, app gowid.IApp) gowid.ICanvas
- func RenderSize(w IWidget, size gowid.IRenderSize, focus gowid.Selector, app gowid.IApp) gowid.IRenderBox
- func RenderSubWidgets(w IWidget, size gowid.IRenderSize, focus gowid.Selector, rfocus [][]string, ...) []gowid.ICanvas
- func RenderedSubWidgetsSizes(w IWidget, size gowid.IRenderSize, focus gowid.Selector, app gowid.IApp) []gowid.IRenderBox
- func SubWidgetSize(size gowid.IRenderSize, newX int, dim gowid.IWidgetDimension) gowid.IRenderSize
- func WidgetWidths(w gowid.ICompositeMultipleDimensions, size gowid.IRenderSize, ...) []int
- type IWidget
- type IWidthHelper
- type Widget
- func (w *Widget) Dimensions() []gowid.IWidgetDimension
- func (w *Widget) Focus(id string) int
- func (w *Widget) Render(size gowid.IRenderSize, focus gowid.Selector, app gowid.IApp) gowid.ICanvas
- func (w *Widget) RenderSize(size gowid.IRenderSize, focus gowid.Selector, app gowid.IApp) gowid.IRenderBox
- func (w *Widget) RenderSubWidgets(size gowid.IRenderSize, focus gowid.Selector, rfocus [][]string, ...) []gowid.ICanvas
- func (w *Widget) RenderedSubWidgetsSizes(size gowid.IRenderSize, focus gowid.Selector, app gowid.IApp) []gowid.IRenderBox
- func (w *Widget) ReverseFocus() [][]string
- func (w *Widget) Selectable() bool
- func (w *Widget) SetDimensions(dimensions []gowid.IWidgetDimension, app gowid.IApp)
- func (w *Widget) SetFocus(id string, i int)
- func (w *Widget) SetSubWidgets(widgets []gowid.IWidget, app gowid.IApp)
- func (w *Widget) String() string
- func (w *Widget) SubWidgetSize(size gowid.IRenderSize, newX int, sub gowid.IWidget, ...) gowid.IRenderSize
- func (w *Widget) SubWidgets() []gowid.IWidget
- func (w *Widget) UserInput(ev interface{}, size gowid.IRenderSize, focus gowid.Selector, app gowid.IApp) bool
- func (w *Widget) WidgetWidths(size gowid.IRenderSize, focus gowid.Selector, app gowid.IApp) []int
- func (w *Widget) WidthHelpers() ([]bool, []bool)
Constants ¶
This section is empty.
Variables ¶
var AllChildrenMaxDimension = fmt.Errorf("All columns widgets were rendered Max, so there is no max height to use.")
Functions ¶
func RenderSize ¶
func RenderSize(w IWidget, size gowid.IRenderSize, focus gowid.Selector, app gowid.IApp) gowid.IRenderBox
func RenderSubWidgets ¶
func RenderSubWidgets(w IWidget, size gowid.IRenderSize, focus gowid.Selector, rfocus [][]string, app gowid.IApp) []gowid.ICanvas
RenderSubWidgets returns an array of canvases for each of the subwidgets, rendering them with in the context of a column with the provided size and focus.
func RenderedSubWidgetsSizes ¶
func RenderedSubWidgetsSizes(w IWidget, size gowid.IRenderSize, focus gowid.Selector, app gowid.IApp) []gowid.IRenderBox
RenderedSubWidgetsSizes returns an array of boxes that bound each of the subwidgets as they would be rendered with the given size and focus.
func SubWidgetSize ¶
func SubWidgetSize(size gowid.IRenderSize, newX int, dim gowid.IWidgetDimension) gowid.IRenderSize
func WidgetWidths ¶
func WidgetWidths(w gowid.ICompositeMultipleDimensions, size gowid.IRenderSize, focus gowid.Selector, app gowid.IApp) []int
Types ¶
type IWidget ¶
type IWidget interface { gowid.IWidget gowid.ICompositeMultipleDimensions gowid.ISettableDimensions gowid.ISettableSubWidgets gowid.IIdentity wid.IFocus SubWidgetSize(size gowid.IRenderSize, val int, sub gowid.IWidget, dim gowid.IWidgetDimension) gowid.IRenderSize RenderSubWidgets(size gowid.IRenderSize, focus gowid.Selector, rfocus [][]string, app gowid.IApp) []gowid.ICanvas RenderedSubWidgetsSizes(size gowid.IRenderSize, focus gowid.Selector, app gowid.IApp) []gowid.IRenderBox WidgetWidths(size gowid.IRenderSize, focus gowid.Selector, app gowid.IApp) []int }
type IWidthHelper ¶
type Widget ¶
type Widget struct { gowid.AddressProvidesID // contains filtered or unexported fields }
func (*Widget) Dimensions ¶
func (w *Widget) Dimensions() []gowid.IWidgetDimension
func (*Widget) RenderSize ¶
func (w *Widget) RenderSize(size gowid.IRenderSize, focus gowid.Selector, app gowid.IApp) gowid.IRenderBox
RenderSize computes the size of this widget when it renders. This is done by computing the sizes of each subwidget, then arranging them the same way that Render() does.
func (*Widget) RenderSubWidgets ¶
func (*Widget) RenderedSubWidgetsSizes ¶
func (w *Widget) RenderedSubWidgetsSizes(size gowid.IRenderSize, focus gowid.Selector, app gowid.IApp) []gowid.IRenderBox
func (*Widget) ReverseFocus ¶
func (*Widget) Selectable ¶
func (*Widget) SetDimensions ¶
func (w *Widget) SetDimensions(dimensions []gowid.IWidgetDimension, app gowid.IApp)
func (*Widget) SetSubWidgets ¶
func (*Widget) SubWidgetSize ¶
func (w *Widget) SubWidgetSize(size gowid.IRenderSize, newX int, sub gowid.IWidget, dim gowid.IWidgetDimension) gowid.IRenderSize
Construct the context in which each subwidget will be rendered. It's important to preserve the type of context e.g. a subwidget may only support being rendered in a fixed context. The newX parameter is the width the subwidget will have within the context of the Columns widget.
func (*Widget) SubWidgets ¶
func (*Widget) WidgetWidths ¶
Return a slice of ints representing the width in columns for each of the subwidgets to be rendered in this context given the size argument.