Documentation ¶
Overview ¶
Package container provides containers that are used to lay out and organise applications.
Index ¶
- Constants
- func New(layout fyne.Layout, objects ...fyne.CanvasObject) *fyne.Container
- func NewAdaptiveGrid(rowcols int, objects ...fyne.CanvasObject) *fyne.Container
- func NewBorder(top, bottom, left, right fyne.CanvasObject, objects ...fyne.CanvasObject) *fyne.Container
- func NewCenter(objects ...fyne.CanvasObject) *fyne.Container
- func NewGridWithColumns(cols int, objects ...fyne.CanvasObject) *fyne.Container
- func NewGridWithRows(rows int, objects ...fyne.CanvasObject) *fyne.Container
- func NewGridWrap(size fyne.Size, objects ...fyne.CanvasObject) *fyne.Container
- func NewHBox(objects ...fyne.CanvasObject) *fyne.Container
- func NewMax(objects ...fyne.CanvasObject) *fyne.Containerdeprecated
- func NewPadded(objects ...fyne.CanvasObject) *fyne.Container
- func NewStack(objects ...fyne.CanvasObject) *fyne.Container
- func NewVBox(objects ...fyne.CanvasObject) *fyne.Container
- func NewWithoutLayout(objects ...fyne.CanvasObject) *fyne.Container
- type AppTabs
- func (t *AppTabs) Append(item *TabItem)
- func (t *AppTabs) CreateRenderer() fyne.WidgetRenderer
- func (t *AppTabs) CurrentTab() *TabItemdeprecated
- func (t *AppTabs) CurrentTabIndex() intdeprecated
- func (t *AppTabs) DisableIndex(i int)
- func (t *AppTabs) DisableItem(item *TabItem)
- func (t *AppTabs) EnableIndex(i int)
- func (t *AppTabs) EnableItem(item *TabItem)
- func (t *AppTabs) ExtendBaseWidget(wid fyne.Widget)deprecated
- func (t *AppTabs) Hide()
- func (t *AppTabs) MinSize() fyne.Size
- func (t *AppTabs) Remove(item *TabItem)
- func (t *AppTabs) RemoveIndex(index int)
- func (t *AppTabs) Select(item *TabItem)
- func (t *AppTabs) SelectIndex(index int)
- func (t *AppTabs) SelectTab(item *TabItem)deprecated
- func (t *AppTabs) SelectTabIndex(index int)deprecated
- func (t *AppTabs) Selected() *TabItem
- func (t *AppTabs) SelectedIndex() int
- func (t *AppTabs) SetItems(items []*TabItem)
- func (t *AppTabs) SetTabLocation(l TabLocation)
- func (t *AppTabs) Show()
- type DocTabs
- func (t *DocTabs) Append(item *TabItem)
- func (t *DocTabs) CreateRenderer() fyne.WidgetRenderer
- func (t *DocTabs) DisableIndex(i int)
- func (t *DocTabs) DisableItem(item *TabItem)
- func (t *DocTabs) EnableIndex(i int)
- func (t *DocTabs) EnableItem(item *TabItem)
- func (t *DocTabs) Hide()
- func (t *DocTabs) MinSize() fyne.Size
- func (t *DocTabs) Remove(item *TabItem)
- func (t *DocTabs) RemoveIndex(index int)
- func (t *DocTabs) Select(item *TabItem)
- func (t *DocTabs) SelectIndex(index int)
- func (t *DocTabs) Selected() *TabItem
- func (t *DocTabs) SelectedIndex() int
- func (t *DocTabs) SetItems(items []*TabItem)
- func (t *DocTabs) SetTabLocation(l TabLocation)
- func (t *DocTabs) Show()
- type InnerWindow
- type MultipleWindows
- type Scroll
- type ScrollDirection
- type Split
- type TabItem
- type TabLocation
- type ThemeOverride
Constants ¶
const ( // ScrollBoth supports horizontal and vertical scrolling. ScrollBoth ScrollDirection = widget.ScrollBoth // ScrollHorizontalOnly specifies the scrolling should only happen left to right. ScrollHorizontalOnly = widget.ScrollHorizontalOnly // ScrollVerticalOnly specifies the scrolling should only happen top to bottom. ScrollVerticalOnly = widget.ScrollVerticalOnly // ScrollNone turns off scrolling for this container. // // Since: 2.1 ScrollNone = widget.ScrollNone )
Constants for valid values of ScrollDirection.
Variables ¶
This section is empty.
Functions ¶
func New ¶
func New(layout fyne.Layout, objects ...fyne.CanvasObject) *fyne.Container
New returns a new Container instance holding the specified CanvasObjects which will be laid out according to the specified Layout.
Since: 2.0
func NewAdaptiveGrid ¶
func NewAdaptiveGrid(rowcols int, objects ...fyne.CanvasObject) *fyne.Container
NewAdaptiveGrid creates a new container with the specified objects and using the grid layout. When in a horizontal arrangement the rowcols parameter will specify the column count, when in vertical it will specify the rows. On mobile this will dynamically refresh when device is rotated.
Since: 1.4
func NewBorder ¶
func NewBorder(top, bottom, left, right fyne.CanvasObject, objects ...fyne.CanvasObject) *fyne.Container
NewBorder creates a new container with the specified objects and using the border layout. The top, bottom, left and right parameters specify the items that should be placed around edges. Nil can be used to an edge if it should not be filled. Passed objects not assigned to any edge (parameters 5 onwards) will be used to fill the space remaining in the middle. Parameters 6 onwards will be stacked over the middle content in the specified order as a Stack container.
Since: 1.4
func NewCenter ¶
func NewCenter(objects ...fyne.CanvasObject) *fyne.Container
NewCenter creates a new container with the specified objects centered in the available space.
Since: 1.4
func NewGridWithColumns ¶
func NewGridWithColumns(cols int, objects ...fyne.CanvasObject) *fyne.Container
NewGridWithColumns creates a new container with the specified objects and using the grid layout with a specified number of columns. The number of rows will depend on how many children are in the container.
Since: 1.4
func NewGridWithRows ¶
func NewGridWithRows(rows int, objects ...fyne.CanvasObject) *fyne.Container
NewGridWithRows creates a new container with the specified objects and using the grid layout with a specified number of rows. The number of columns will depend on how many children are in the container.
Since: 1.4
func NewGridWrap ¶
func NewGridWrap(size fyne.Size, objects ...fyne.CanvasObject) *fyne.Container
NewGridWrap creates a new container with the specified objects and using the gridwrap layout. Every element will be resized to the size parameter and the content will arrange along a row and flow to a new row if the elements don't fit.
Since: 1.4
func NewHBox ¶
func NewHBox(objects ...fyne.CanvasObject) *fyne.Container
NewHBox creates a new container with the specified objects and using the HBox layout. The objects will be placed in the container from left to right and always displayed at their horizontal MinSize. Use a different layout if the objects are intended to be larger then their horizontal MinSize.
Since: 1.4
func NewMax
deprecated
func NewMax(objects ...fyne.CanvasObject) *fyne.Container
NewMax creates a new container with the specified objects filling the available space.
Since: 1.4
Deprecated: Use container.NewStack() instead.
func NewPadded ¶
func NewPadded(objects ...fyne.CanvasObject) *fyne.Container
NewPadded creates a new container with the specified objects inset by standard padding size.
Since: 1.4
func NewStack ¶ added in v2.4.0
func NewStack(objects ...fyne.CanvasObject) *fyne.Container
NewStack returns a new container that stacks objects on top of each other. Objects at the end of the container will be stacked on top of objects before. Having only a single object has no impact as CanvasObjects will fill the available space even without a Stack.
Since: 2.4
func NewVBox ¶
func NewVBox(objects ...fyne.CanvasObject) *fyne.Container
NewVBox creates a new container with the specified objects and using the VBox layout. The objects will be stacked in the container from top to bottom and always displayed at their vertical MinSize. Use a different layout if the objects are intended to be larger then their vertical MinSize.
Since: 1.4
func NewWithoutLayout ¶
func NewWithoutLayout(objects ...fyne.CanvasObject) *fyne.Container
NewWithoutLayout returns a new Container instance holding the specified CanvasObjects that are manually arranged.
Since: 2.0
Types ¶
type AppTabs ¶
type AppTabs struct { widget.BaseWidget Items []*TabItem // Deprecated: Use `OnSelected func(*TabItem)` instead. OnChanged func(*TabItem) `json:"-"` OnSelected func(*TabItem) `json:"-"` OnUnselected func(*TabItem) `json:"-"` // contains filtered or unexported fields }
AppTabs container is used to split your application into various different areas identified by tabs. The tabs contain text and/or an icon and allow the user to switch between the content specified in each TabItem. Each item is represented by a button at the edge of the container.
Since: 1.4
func NewAppTabs ¶
NewAppTabs creates a new tab container that allows the user to choose between different areas of an app.
Since: 1.4
func (*AppTabs) CreateRenderer ¶
func (t *AppTabs) CreateRenderer() fyne.WidgetRenderer
CreateRenderer is a private method to Fyne which links this widget to its renderer
Implements: fyne.Widget
func (*AppTabs) CurrentTab
deprecated
func (*AppTabs) CurrentTabIndex
deprecated
func (*AppTabs) DisableIndex ¶ added in v2.3.0
DisableIndex disables the TabItem at the specified index.
Since: 2.3
func (*AppTabs) DisableItem ¶ added in v2.3.0
DisableItem disables the specified TabItem.
Since: 2.3
func (*AppTabs) EnableIndex ¶ added in v2.3.0
EnableIndex enables the TabItem at the specified index.
Since: 2.3
func (*AppTabs) ExtendBaseWidget
deprecated
added in
v2.0.1
func (t *AppTabs) ExtendBaseWidget(wid fyne.Widget)
ExtendBaseWidget is used by an extending widget to make use of BaseWidget functionality.
Deprecated: Support for extending containers is being removed
func (*AppTabs) Hide ¶ added in v2.1.0
func (t *AppTabs) Hide()
Hide hides the widget.
Implements: fyne.CanvasObject
func (*AppTabs) MinSize ¶
func (t *AppTabs) MinSize() fyne.Size
MinSize returns the size that this widget should not shrink below
Implements: fyne.CanvasObject
func (*AppTabs) RemoveIndex ¶
RemoveIndex removes tab by index.
func (*AppTabs) Select ¶ added in v2.1.0
Select sets the specified TabItem to be selected and its content visible.
func (*AppTabs) SelectIndex ¶ added in v2.1.0
SelectIndex sets the TabItem at the specific index to be selected and its content visible.
func (*AppTabs) SelectTabIndex
deprecated
func (*AppTabs) SelectedIndex ¶ added in v2.1.0
SelectedIndex returns the index of the currently selected TabItem.
func (*AppTabs) SetTabLocation ¶
func (t *AppTabs) SetTabLocation(l TabLocation)
SetTabLocation sets the location of the tab bar
type DocTabs ¶ added in v2.1.0
type DocTabs struct { widget.BaseWidget Items []*TabItem CreateTab func() *TabItem `json:"-"` CloseIntercept func(*TabItem) `json:"-"` OnClosed func(*TabItem) `json:"-"` OnSelected func(*TabItem) `json:"-"` OnUnselected func(*TabItem) `json:"-"` // contains filtered or unexported fields }
DocTabs container is used to display various pieces of content identified by tabs. The tabs contain text and/or an icon and allow the user to switch between the content specified in each TabItem. Each item is represented by a button at the edge of the container.
Since: 2.1
func NewDocTabs ¶ added in v2.1.0
NewDocTabs creates a new tab container that allows the user to choose between various pieces of content.
Since: 2.1
func (*DocTabs) CreateRenderer ¶ added in v2.1.0
func (t *DocTabs) CreateRenderer() fyne.WidgetRenderer
CreateRenderer is a private method to Fyne which links this widget to its renderer
Implements: fyne.Widget
func (*DocTabs) DisableIndex ¶ added in v2.3.0
DisableIndex disables the TabItem at the specified index.
Since: 2.3
func (*DocTabs) DisableItem ¶ added in v2.3.0
DisableItem disables the specified TabItem.
Since: 2.3
func (*DocTabs) EnableIndex ¶ added in v2.3.0
EnableIndex enables the TabItem at the specified index.
Since: 2.3
func (*DocTabs) Hide ¶ added in v2.1.0
func (t *DocTabs) Hide()
Hide hides the widget.
Implements: fyne.CanvasObject
func (*DocTabs) MinSize ¶ added in v2.1.0
func (t *DocTabs) MinSize() fyne.Size
MinSize returns the size that this widget should not shrink below
Implements: fyne.CanvasObject
func (*DocTabs) RemoveIndex ¶ added in v2.1.0
RemoveIndex removes tab by index.
func (*DocTabs) Select ¶ added in v2.1.0
Select sets the specified TabItem to be selected and its content visible.
func (*DocTabs) SelectIndex ¶ added in v2.1.0
SelectIndex sets the TabItem at the specific index to be selected and its content visible.
func (*DocTabs) SelectedIndex ¶ added in v2.1.0
SelectedIndex returns the index of the currently selected TabItem.
func (*DocTabs) SetTabLocation ¶ added in v2.1.0
func (t *DocTabs) SetTabLocation(l TabLocation)
SetTabLocation sets the location of the tab bar
type InnerWindow ¶ added in v2.5.0
type InnerWindow struct { widget.BaseWidget CloseIntercept func() `json:"-"` OnDragged, OnResized func(*fyne.DragEvent) `json:"-"` OnMinimized, OnMaximized, OnTappedBar, OnTappedIcon func() `json:"-"` Icon fyne.Resource // contains filtered or unexported fields }
InnerWindow defines a container that wraps content in a window border - that can then be placed inside a regular container/canvas.
Since: 2.5
func NewInnerWindow ¶ added in v2.5.0
func NewInnerWindow(title string, content fyne.CanvasObject) *InnerWindow
NewInnerWindow creates a new window border around the given `content`, displaying the `title` along the top. This will behave like a normal contain and will probably want to be added to a `MultipleWindows` parent.
Since: 2.5
func (*InnerWindow) Close ¶ added in v2.5.0
func (w *InnerWindow) Close()
func (*InnerWindow) CreateRenderer ¶ added in v2.5.0
func (w *InnerWindow) CreateRenderer() fyne.WidgetRenderer
func (*InnerWindow) SetContent ¶ added in v2.5.0
func (w *InnerWindow) SetContent(obj fyne.CanvasObject)
func (*InnerWindow) SetPadded ¶ added in v2.5.0
func (w *InnerWindow) SetPadded(pad bool)
func (*InnerWindow) SetTitle ¶ added in v2.5.0
func (w *InnerWindow) SetTitle(title string)
type MultipleWindows ¶ added in v2.5.0
type MultipleWindows struct { widget.BaseWidget Windows []*InnerWindow // contains filtered or unexported fields }
MultipleWindows is a container that handles multiple `InnerWindow` containers. Each inner window can be dragged, resized and the stacking will change when the title bar is tapped.
Since: 2.5
func NewMultipleWindows ¶ added in v2.5.0
func NewMultipleWindows(wins ...*InnerWindow) *MultipleWindows
NewMultipleWindows creates a new `MultipleWindows` container to manage many inner windows. The initial window list is passed optionally to this constructor function. You can add new more windows to this container by calling `Add` or updating the `Windows` field and calling `Refresh`.
Since: 2.5
func (*MultipleWindows) Add ¶ added in v2.5.0
func (m *MultipleWindows) Add(w *InnerWindow)
func (*MultipleWindows) CreateRenderer ¶ added in v2.5.0
func (m *MultipleWindows) CreateRenderer() fyne.WidgetRenderer
func (*MultipleWindows) Refresh ¶ added in v2.5.0
func (m *MultipleWindows) Refresh()
type Scroll ¶
Scroll defines a container that is smaller than the Content. The Offset is used to determine the position of the child widgets within the container.
Since: 1.4
func NewHScroll ¶
func NewHScroll(content fyne.CanvasObject) *Scroll
NewHScroll create a scrollable parent wrapping the specified content. Note that this may cause the MinSize.Width to be smaller than that of the passed object.
Since: 1.4
func NewScroll ¶
func NewScroll(content fyne.CanvasObject) *Scroll
NewScroll creates a scrollable parent wrapping the specified content. Note that this may cause the MinSize to be smaller than that of the passed object.
Since: 1.4
func NewVScroll ¶
func NewVScroll(content fyne.CanvasObject) *Scroll
NewVScroll a scrollable parent wrapping the specified content. Note that this may cause the MinSize.Height to be smaller than that of the passed object.
Since: 1.4
type ScrollDirection ¶
type ScrollDirection = widget.ScrollDirection
ScrollDirection represents the directions in which a Scroll container can scroll its child content.
Since: 1.4
type Split ¶
type Split struct { widget.BaseWidget Offset float64 Horizontal bool Leading fyne.CanvasObject Trailing fyne.CanvasObject }
Split defines a container whose size is split between two children.
Since: 1.4
func NewHSplit ¶
func NewHSplit(leading, trailing fyne.CanvasObject) *Split
NewHSplit creates a horizontally arranged container with the specified leading and trailing elements. A vertical split bar that can be dragged will be added between the elements.
Since: 1.4
func NewVSplit ¶
func NewVSplit(top, bottom fyne.CanvasObject) *Split
NewVSplit creates a vertically arranged container with the specified top and bottom elements. A horizontal split bar that can be dragged will be added between the elements.
Since: 1.4
func (*Split) CreateRenderer ¶
func (s *Split) CreateRenderer() fyne.WidgetRenderer
CreateRenderer is a private method to Fyne which links this widget to its renderer
func (*Split) ExtendBaseWidget
deprecated
added in
v2.0.1
func (s *Split) ExtendBaseWidget(wid fyne.Widget)
ExtendBaseWidget is used by an extending widget to make use of BaseWidget functionality.
Deprecated: Support for extending containers is being removed
type TabItem ¶
type TabItem struct { Text string Icon fyne.Resource Content fyne.CanvasObject // contains filtered or unexported fields }
TabItem represents a single view in a tab view. The Text and Icon are used for the tab button and the Content is shown when the corresponding tab is active.
Since: 1.4
func NewTabItem ¶
NewTabItem creates a new item for a tabbed widget - each item specifies the content and a label for its tab.
Since: 1.4
func NewTabItemWithIcon ¶
NewTabItemWithIcon creates a new item for a tabbed widget - each item specifies the content and a label with an icon for its tab.
Since: 1.4
type TabLocation ¶
type TabLocation int
TabLocation is the location where the tabs of a tab container should be rendered
Since: 1.4
const ( TabLocationTop TabLocation = iota TabLocationLeading TabLocationBottom TabLocationTrailing )
TabLocation values
type ThemeOverride ¶ added in v2.5.0
type ThemeOverride struct { widget.BaseWidget Content fyne.CanvasObject Theme fyne.Theme // contains filtered or unexported fields }
ThemeOverride is a container where the child widgets are themed by the specified theme. Containers will be traversed and all child widgets will reflect the theme in this container. This should be used sparingly to avoid a jarring user experience.
Since: 2.5
func NewThemeOverride ¶ added in v2.5.0
func NewThemeOverride(obj fyne.CanvasObject, th fyne.Theme) *ThemeOverride
NewThemeOverride provides a container where the child widgets are themed by the specified theme. Containers will be traversed and all child widgets will reflect the theme in this container. This should be used sparingly to avoid a jarring user experience.
If the content `obj` of this theme override is a container and items are later added to the container or any sub-containers ensure that you call `Refresh()` on this `ThemeOverride` to ensure the new items match the theme.
Since: 2.5
func (*ThemeOverride) CreateRenderer ¶ added in v2.5.0
func (t *ThemeOverride) CreateRenderer() fyne.WidgetRenderer
func (*ThemeOverride) Refresh ¶ added in v2.5.0
func (t *ThemeOverride) Refresh()