resizable

package
v2.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 11, 2022 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package resizable provides columns and piles that can be adjusted.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AdjustOffset

func AdjustOffset(w IOffsets, col1 int, col2 int, fn AdjustFn, app gowid.IApp)

Types

type AdjustFn

type AdjustFn func(x int) int
var Add1 AdjustFn = func(x int) int {
	return x + 1
}
var Subtract1 AdjustFn = func(x int) int {
	return x - 1
}

type ColumnsWidget

type ColumnsWidget struct {
	*columns.Widget
	Offsets   []Offset
	Callbacks *gowid.Callbacks
}

func NewColumns

func NewColumns(widgets []gowid.IContainerWidget) *ColumnsWidget

func (*ColumnsWidget) AdjustOffset

func (w *ColumnsWidget) AdjustOffset(col1 int, col2 int, fn AdjustFn, app gowid.IApp)

func (*ColumnsWidget) GetOffsets

func (w *ColumnsWidget) GetOffsets() []Offset

func (*ColumnsWidget) OnOffsetsSet

func (w *ColumnsWidget) OnOffsetsSet(cb gowid.IWidgetChangedCallback)

func (*ColumnsWidget) RemoveOnOffsetsSet

func (w *ColumnsWidget) RemoveOnOffsetsSet(cb gowid.IIdentity)

func (*ColumnsWidget) Render

func (w *ColumnsWidget) Render(size gowid.IRenderSize, focus gowid.Selector, app gowid.IApp) gowid.ICanvas

func (*ColumnsWidget) RenderSubWidgets

func (w *ColumnsWidget) RenderSubWidgets(size gowid.IRenderSize, focus gowid.Selector, focusIdx int, app gowid.IApp) []gowid.ICanvas

func (*ColumnsWidget) RenderedSubWidgetsSizes

func (w *ColumnsWidget) RenderedSubWidgetsSizes(size gowid.IRenderSize, focus gowid.Selector, focusIdx int, app gowid.IApp) []gowid.IRenderBox

func (*ColumnsWidget) SetOffsets

func (w *ColumnsWidget) SetOffsets(offs []Offset, app gowid.IApp)

func (*ColumnsWidget) SubWidgetSize

func (w *ColumnsWidget) SubWidgetSize(size gowid.IRenderSize, newX int, sub gowid.IWidget, dim gowid.IWidgetDimension) gowid.IRenderSize

func (*ColumnsWidget) UserInput

func (w *ColumnsWidget) UserInput(ev interface{}, size gowid.IRenderSize, focus gowid.Selector, app gowid.IApp) bool

func (*ColumnsWidget) WidgetWidths

func (w *ColumnsWidget) WidgetWidths(size gowid.IRenderSize, focus gowid.Selector, focusIdx int, app gowid.IApp) []int

type IOffsets

type IOffsets interface {
	GetOffsets() []Offset
	SetOffsets([]Offset, gowid.IApp)
}

type Offset

type Offset struct {
	Col1   int `json:"col1"`
	Col2   int `json:"col2"`
	Adjust int `json:"adjust"`
}

type OffsetsCB

type OffsetsCB struct{}

type PileAdjuster

type PileAdjuster struct {
	// contains filtered or unexported fields
}

func (PileAdjuster) MakeBox

type PileWidget

type PileWidget struct {
	*pile.Widget
	Offsets   []Offset
	Callbacks *gowid.Callbacks
}

func NewPile

func NewPile(widgets []gowid.IContainerWidget) *PileWidget

func (*PileWidget) AdjustOffset

func (w *PileWidget) AdjustOffset(col1 int, col2 int, fn AdjustFn, app gowid.IApp)

func (*PileWidget) FindNextSelectable

func (w *PileWidget) FindNextSelectable(dir gowid.Direction, wrap bool) (int, bool)

func (*PileWidget) GetOffsets

func (w *PileWidget) GetOffsets() []Offset

func (*PileWidget) OnOffsetsSet

func (w *PileWidget) OnOffsetsSet(cb gowid.IWidgetChangedCallback)

func (*PileWidget) RemoveOnOffsetsSet

func (w *PileWidget) RemoveOnOffsetsSet(cb gowid.IIdentity)

func (*PileWidget) Render

func (w *PileWidget) Render(size gowid.IRenderSize, focus gowid.Selector, app gowid.IApp) gowid.ICanvas

func (*PileWidget) RenderBoxMaker

func (w *PileWidget) RenderBoxMaker(size gowid.IRenderSize, focus gowid.Selector, focusIdx int, app gowid.IApp, sizer pile.IPileBoxMaker) ([]gowid.IRenderBox, []gowid.IRenderSize)

func (*PileWidget) RenderSubWidgets

func (w *PileWidget) RenderSubWidgets(size gowid.IRenderSize, focus gowid.Selector, focusIdx int, app gowid.IApp) []gowid.ICanvas

func (*PileWidget) RenderedSubWidgetsSizes

func (w *PileWidget) RenderedSubWidgetsSizes(size gowid.IRenderSize, focus gowid.Selector, focusIdx int, app gowid.IApp) []gowid.IRenderBox

func (*PileWidget) SetOffsets

func (w *PileWidget) SetOffsets(offs []Offset, app gowid.IApp)

func (*PileWidget) UserInput

func (w *PileWidget) UserInput(ev interface{}, size gowid.IRenderSize, focus gowid.Selector, app gowid.IApp) bool

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL