widget

package
v2.0.1 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2021 License: BSD-3-Clause Imports: 19 Imported by: 1,580

Documentation

Overview

Package widget defines the UI widgets within the Fyne toolkit

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ShowModalPopUp

func ShowModalPopUp(content fyne.CanvasObject, canvas fyne.Canvas)

ShowModalPopUp creates a new popUp for the specified content and displays it on the passed canvas. A modal PopUp blocks interactions with underlying elements, covered with a semi-transparent overlay.

func ShowPopUp

func ShowPopUp(content fyne.CanvasObject, canvas fyne.Canvas)

ShowPopUp creates a new popUp for the specified content and displays it on the passed canvas.

func ShowPopUpAtPosition

func ShowPopUpAtPosition(content fyne.CanvasObject, canvas fyne.Canvas, pos fyne.Position)

ShowPopUpAtPosition creates a new popUp for the specified content at the specified absolute position. It will then display the popup on the passed canvas.

func ShowPopUpMenuAtPosition

func ShowPopUpMenuAtPosition(menu *fyne.Menu, c fyne.Canvas, pos fyne.Position)

ShowPopUpMenuAtPosition creates a PopUp menu populated with items from the passed menu structure. It will automatically be positioned at the provided location and shown as an overlay on the specified canvas.

Types

type Accordion

type Accordion struct {
	BaseWidget
	Items     []*AccordionItem
	MultiOpen bool
}

Accordion displays a list of AccordionItems. Each item is represented by a button that reveals a detailed view when tapped.

func NewAccordion

func NewAccordion(items ...*AccordionItem) *Accordion

NewAccordion creates a new accordion widget.

func (*Accordion) Append

func (a *Accordion) Append(item *AccordionItem)

Append adds the given item to this Accordion.

func (*Accordion) Close

func (a *Accordion) Close(index int)

Close collapses the item at the given index.

func (*Accordion) CloseAll

func (a *Accordion) CloseAll()

CloseAll collapses all items.

func (*Accordion) CreateRenderer

func (a *Accordion) CreateRenderer() fyne.WidgetRenderer

CreateRenderer is a private method to Fyne which links this widget to its renderer

func (*Accordion) MinSize

func (a *Accordion) MinSize() fyne.Size

MinSize returns the size that this widget should not shrink below.

func (*Accordion) Open

func (a *Accordion) Open(index int)

Open expands the item at the given index.

func (*Accordion) OpenAll

func (a *Accordion) OpenAll()

OpenAll expands all items.

func (*Accordion) Remove

func (a *Accordion) Remove(item *AccordionItem)

Remove deletes the given item from this Accordion.

func (*Accordion) RemoveIndex

func (a *Accordion) RemoveIndex(index int)

RemoveIndex deletes the item at the given index from this Accordion.

type AccordionItem

type AccordionItem struct {
	Title  string
	Detail fyne.CanvasObject
	Open   bool
}

AccordionItem represents a single item in an Accordion.

func NewAccordionItem

func NewAccordionItem(title string, detail fyne.CanvasObject) *AccordionItem

NewAccordionItem creates a new item for an Accordion.

type BaseWidget

type BaseWidget struct {
	Hidden bool
	// contains filtered or unexported fields
}

BaseWidget provides a helper that handles basic widget behaviours.

func (*BaseWidget) ExtendBaseWidget

func (w *BaseWidget) ExtendBaseWidget(wid fyne.Widget)

ExtendBaseWidget is used by an extending widget to make use of BaseWidget functionality.

func (*BaseWidget) Hide

func (w *BaseWidget) Hide()

Hide this widget so it is no longer visible

func (*BaseWidget) MinSize

func (w *BaseWidget) MinSize() fyne.Size

MinSize for the widget - it should never be resized below this value.

func (*BaseWidget) Move

func (w *BaseWidget) Move(pos fyne.Position)

Move the widget to a new position, relative to its parent. Note this should not be used if the widget is being managed by a Layout within a Container.

func (*BaseWidget) Position

func (w *BaseWidget) Position() fyne.Position

Position gets the current position of this widget, relative to its parent.

func (*BaseWidget) Refresh

func (w *BaseWidget) Refresh()

Refresh causes this widget to be redrawn in it's current state

func (*BaseWidget) Resize

func (w *BaseWidget) Resize(size fyne.Size)

Resize sets a new size for a widget. Note this should not be used if the widget is being managed by a Layout within a Container.

func (*BaseWidget) Show

func (w *BaseWidget) Show()

Show this widget so it becomes visible

func (*BaseWidget) Size

func (w *BaseWidget) Size() fyne.Size

Size gets the current size of this widget.

func (*BaseWidget) Visible

func (w *BaseWidget) Visible() bool

Visible returns whether or not this widget should be visible. Note that this may not mean it is currently visible if a parent has been hidden.

type Button

type Button struct {
	DisableableWidget
	Text string
	Icon fyne.Resource
	// Specify how prominent the button should be, High will highlight the button and Low will remove some decoration.
	//
	// Since: 1.4
	Importance    ButtonImportance
	Alignment     ButtonAlign
	IconPlacement ButtonIconPlacement

	OnTapped func() `json:"-"`
	// contains filtered or unexported fields
}

Button widget has a text label and triggers an event func when clicked

func NewButton

func NewButton(label string, tapped func()) *Button

NewButton creates a new button widget with the set label and tap handler

func NewButtonWithIcon

func NewButtonWithIcon(label string, icon fyne.Resource, tapped func()) *Button

NewButtonWithIcon creates a new button widget with the specified label, themed icon and tap handler

func (*Button) CreateRenderer

func (b *Button) CreateRenderer() fyne.WidgetRenderer

CreateRenderer is a private method to Fyne which links this widget to its renderer

func (*Button) Cursor

func (b *Button) Cursor() desktop.Cursor

Cursor returns the cursor type of this widget

func (*Button) MinSize

func (b *Button) MinSize() fyne.Size

MinSize returns the size that this widget should not shrink below

func (*Button) MouseIn

func (b *Button) MouseIn(*desktop.MouseEvent)

MouseIn is called when a desktop pointer enters the widget

func (*Button) MouseMoved

func (b *Button) MouseMoved(*desktop.MouseEvent)

MouseMoved is called when a desktop pointer hovers over the widget

func (*Button) MouseOut

func (b *Button) MouseOut()

MouseOut is called when a desktop pointer exits the widget

func (*Button) SetIcon

func (b *Button) SetIcon(icon fyne.Resource)

SetIcon updates the icon on a label - pass nil to hide an icon

func (*Button) SetText

func (b *Button) SetText(text string)

SetText allows the button label to be changed

func (*Button) Tapped

func (b *Button) Tapped(*fyne.PointEvent)

Tapped is called when a pointer tapped event is captured and triggers any tap handler

type ButtonAlign

type ButtonAlign int

ButtonAlign represents the horizontal alignment of a button.

const (
	// ButtonAlignCenter aligns the icon and the text centrally.
	ButtonAlignCenter ButtonAlign = iota
	// ButtonAlignLeading aligns the icon and the text with the leading edge.
	ButtonAlignLeading
	// ButtonAlignTrailing aligns the icon and the text with the trailing edge.
	ButtonAlignTrailing
)

type ButtonIconPlacement

type ButtonIconPlacement int

ButtonIconPlacement represents the ordering of icon & text within a button.

const (
	// ButtonIconLeadingText aligns the icon on the leading edge of the text.
	ButtonIconLeadingText ButtonIconPlacement = iota
	// ButtonIconTrailingText aligns the icon on the trailing edge of the text.
	ButtonIconTrailingText
)

type ButtonImportance

type ButtonImportance int

ButtonImportance represents how prominent the button should appear

Since: 1.4

const (
	// MediumImportance applies a standard appearance.
	MediumImportance ButtonImportance = iota
	// HighImportance applies a prominent appearance.
	HighImportance
	// LowImportance applies a subtle appearance.
	LowImportance
)

type ButtonStyle

type ButtonStyle int

ButtonStyle determines the behaviour and rendering of a button.

type Card

type Card struct {
	BaseWidget
	Title, Subtitle string
	Image           *canvas.Image
	Content         fyne.CanvasObject
}

Card widget groups title, subtitle with content and a header image

Since: 1.4

func NewCard

func NewCard(title, subtitle string, content fyne.CanvasObject) *Card

NewCard creates a new card widget with the specified title, subtitle and content (all optional).

Since: 1.4

func (*Card) CreateRenderer

func (c *Card) CreateRenderer() fyne.WidgetRenderer

CreateRenderer is a private method to Fyne which links this widget to its renderer

func (*Card) MinSize

func (c *Card) MinSize() fyne.Size

MinSize returns the size that this widget should not shrink below

func (*Card) SetContent

func (c *Card) SetContent(obj fyne.CanvasObject)

SetContent changes the body of this card to have the specified content.

func (*Card) SetImage

func (c *Card) SetImage(img *canvas.Image)

SetImage changes the image displayed above the title for this card.

func (*Card) SetSubTitle

func (c *Card) SetSubTitle(text string)

SetSubTitle updates the secondary title for this card.

func (*Card) SetTitle

func (c *Card) SetTitle(text string)

SetTitle updates the main title for this card.

type Check

type Check struct {
	DisableableWidget
	Text    string
	Checked bool

	OnChanged func(bool) `json:"-"`
	// contains filtered or unexported fields
}

Check widget has a text label and a checked (or unchecked) icon and triggers an event func when toggled

func NewCheck

func NewCheck(label string, changed func(bool)) *Check

NewCheck creates a new check widget with the set label and change handler

func NewCheckWithData

func NewCheckWithData(label string, data binding.Bool) *Check

NewCheckWithData returns a check widget connected with the specified data source.

Since: 2.0

func (*Check) Bind

func (c *Check) Bind(data binding.Bool)

Bind connects the specified data source to this Check. The current value will be displayed and any changes in the data will cause the widget to update. User interactions with this Check will set the value into the data source.

Since: 2.0

func (*Check) CreateRenderer

func (c *Check) CreateRenderer() fyne.WidgetRenderer

CreateRenderer is a private method to Fyne which links this widget to its renderer

func (*Check) FocusGained

func (c *Check) FocusGained()

FocusGained is called when the Check has been given focus.

func (*Check) FocusLost

func (c *Check) FocusLost()

FocusLost is called when the Check has had focus removed.

func (*Check) Hide

func (c *Check) Hide()

Hide this widget, if it was previously visible

func (*Check) MinSize

func (c *Check) MinSize() fyne.Size

MinSize returns the size that this widget should not shrink below

func (*Check) MouseIn

func (c *Check) MouseIn(*desktop.MouseEvent)

MouseIn is called when a desktop pointer enters the widget

func (*Check) MouseMoved

func (c *Check) MouseMoved(*desktop.MouseEvent)

MouseMoved is called when a desktop pointer hovers over the widget

func (*Check) MouseOut

func (c *Check) MouseOut()

MouseOut is called when a desktop pointer exits the widget

func (*Check) SetChecked

func (c *Check) SetChecked(checked bool)

SetChecked sets the the checked state and refreshes widget

func (*Check) Tapped

func (c *Check) Tapped(*fyne.PointEvent)

Tapped is called when a pointer tapped event is captured and triggers any change handler

func (*Check) TypedKey

func (c *Check) TypedKey(key *fyne.KeyEvent)

TypedKey receives key input events when the Check is focused.

func (*Check) TypedRune

func (c *Check) TypedRune(r rune)

TypedRune receives text input events when the Check is focused.

func (*Check) Unbind

func (c *Check) Unbind()

Unbind disconnects any configured data source from this Check. The current value will remain at the last value of the data source.

Since: 2.0

type CustomTextGridStyle

type CustomTextGridStyle struct {
	FGColor, BGColor color.Color
}

CustomTextGridStyle is a utility type for those not wanting to define their own style types.

func (*CustomTextGridStyle) BackgroundColor

func (c *CustomTextGridStyle) BackgroundColor() color.Color

BackgroundColor is the color a cell should use for the background.

func (*CustomTextGridStyle) TextColor

func (c *CustomTextGridStyle) TextColor() color.Color

TextColor is the color a cell should use for the text.

type DisableableWidget

type DisableableWidget struct {
	BaseWidget
	// contains filtered or unexported fields
}

DisableableWidget describes an extension to BaseWidget which can be disabled. Disabled widgets should have a visually distinct style when disabled, normally using theme.DisabledButtonColor.

func (*DisableableWidget) Disable

func (w *DisableableWidget) Disable()

Disable this widget so that it cannot be interacted with, updating any style appropriately.

func (*DisableableWidget) Disabled

func (w *DisableableWidget) Disabled() bool

Disabled returns true if this widget is currently disabled or false if it can currently be interacted with.

func (*DisableableWidget) Enable

func (w *DisableableWidget) Enable()

Enable this widget, updating any style or features appropriately.

type Entry

type Entry struct {
	DisableableWidget

	Text string
	// Since: 2.0
	TextStyle   fyne.TextStyle
	PlaceHolder string
	OnChanged   func(string) `json:"-"`
	// Since: 2.0
	OnSubmitted func(string) `json:"-"`
	Password    bool
	MultiLine   bool
	Wrapping    fyne.TextWrap

	// Set a validator that this entry will check against
	// Since: 1.4
	Validator fyne.StringValidator

	CursorRow, CursorColumn int
	OnCursorChanged         func() `json:"-"`

	// ActionItem is a small item which is displayed at the outer right of the entry (like a password revealer)
	ActionItem fyne.CanvasObject
	// contains filtered or unexported fields
}

Entry widget allows simple text to be input when focused.

func NewEntry

func NewEntry() *Entry

NewEntry creates a new single line entry widget.

func NewEntryWithData

func NewEntryWithData(data binding.String) *Entry

NewEntryWithData returns an Entry widget connected to the specified data source.

Since: 2.0

func NewMultiLineEntry

func NewMultiLineEntry() *Entry

NewMultiLineEntry creates a new entry that allows multiple lines

func NewPasswordEntry

func NewPasswordEntry() *Entry

NewPasswordEntry creates a new entry password widget

func (*Entry) Bind

func (e *Entry) Bind(data binding.String)

Bind connects the specified data source to this Entry. The current value will be displayed and any changes in the data will cause the widget to update. User interactions with this Entry will set the value into the data source.

Since: 2.0

func (*Entry) CreateRenderer

func (e *Entry) CreateRenderer() fyne.WidgetRenderer

CreateRenderer is a private method to Fyne which links this widget to its renderer

Implements: fyne.Widget

func (*Entry) Cursor

func (e *Entry) Cursor() desktop.Cursor

Cursor returns the cursor type of this widget

Implements: desktop.Cursorable

func (*Entry) Disable

func (e *Entry) Disable()

Disable this widget so that it cannot be interacted with, updating any style appropriately.

Implements: fyne.Disableable

func (*Entry) Disabled

func (e *Entry) Disabled() bool

Disabled returns whether the entry is disabled or read-only.

Implements: fyne.Disableable

func (*Entry) DoubleTapped

func (e *Entry) DoubleTapped(p *fyne.PointEvent)

DoubleTapped is called when this entry has been double tapped so we should select text below the pointer

Implements: fyne.DoubleTappable

func (*Entry) DragEnd

func (e *Entry) DragEnd()

DragEnd is called at end of a drag event. It does nothing.

Implements: fyne.Draggable

func (*Entry) Dragged

func (e *Entry) Dragged(d *fyne.DragEvent)

Dragged is called when the pointer moves while a button is held down. It updates the selection accordingly.

Implements: fyne.Draggable

func (*Entry) Enable

func (e *Entry) Enable()

Enable this widget, updating any style or features appropriately.

Implements: fyne.Disableable

func (*Entry) ExtendBaseWidget

func (e *Entry) ExtendBaseWidget(wid fyne.Widget)

ExtendBaseWidget is used by an extending widget to make use of BaseWidget functionality.

func (*Entry) FocusGained

func (e *Entry) FocusGained()

FocusGained is called when the Entry has been given focus.

Implements: fyne.Focusable

func (*Entry) FocusLost

func (e *Entry) FocusLost()

FocusLost is called when the Entry has had focus removed.

Implements: fyne.Focusable

func (*Entry) Hide

func (e *Entry) Hide()

Hide hides the entry.

Implements: fyne.Widget

func (*Entry) KeyDown

func (e *Entry) KeyDown(key *fyne.KeyEvent)

KeyDown handler for keypress events - used to store shift modifier state for text selection

Implements: desktop.Keyable

func (*Entry) KeyUp

func (e *Entry) KeyUp(key *fyne.KeyEvent)

KeyUp handler for key release events - used to reset shift modifier state for text selection

Implements: desktop.Keyable

func (*Entry) Keyboard

func (e *Entry) Keyboard() mobile.KeyboardType

Keyboard implements the Keyboardable interface

Implements: mobile.Keyboardable

func (*Entry) MinSize

func (e *Entry) MinSize() fyne.Size

MinSize returns the size that this widget should not shrink below.

Implements: fyne.Widget

func (*Entry) MouseDown

func (e *Entry) MouseDown(m *desktop.MouseEvent)

MouseDown called on mouse click, this triggers a mouse click which can move the cursor, update the existing selection (if shift is held), or start a selection dragging operation.

Implements: desktop.Mouseable

func (*Entry) MouseUp

func (e *Entry) MouseUp(m *desktop.MouseEvent)

MouseUp called on mouse release If a mouse drag event has completed then check to see if it has resulted in an empty selection, if so, and if a text select key isn't held, then disable selecting

Implements: desktop.Mouseable

func (*Entry) SelectedText

func (e *Entry) SelectedText() string

SelectedText returns the text currently selected in this Entry. If there is no selection it will return the empty string.

func (*Entry) SetOnValidationChanged

func (e *Entry) SetOnValidationChanged(callback func(error))

SetOnValidationChanged is intended for parent widgets or containers to hook into the validation. The function might be overwritten by a parent that cares about child validation (e.g. widget.Form).

func (*Entry) SetPlaceHolder

func (e *Entry) SetPlaceHolder(text string)

SetPlaceHolder sets the text that will be displayed if the entry is otherwise empty

func (*Entry) SetText

func (e *Entry) SetText(text string)

SetText manually sets the text of the Entry to the given text value.

func (*Entry) SetValidationError

func (e *Entry) SetValidationError(err error)

SetValidationError manually updates the validation status until the next input change

func (*Entry) Tapped

func (e *Entry) Tapped(ev *fyne.PointEvent)

Tapped is called when this entry has been tapped so we should update the cursor position.

Implements: fyne.Tappable

func (*Entry) TappedSecondary

func (e *Entry) TappedSecondary(pe *fyne.PointEvent)

TappedSecondary is called when right or alternative tap is invoked.

Opens the PopUpMenu with `Paste` item to paste text from the clipboard.

Implements: fyne.SecondaryTappable

func (*Entry) TypedKey

func (e *Entry) TypedKey(key *fyne.KeyEvent)

TypedKey receives key input events when the Entry widget is focused.

Implements: fyne.Focusable

func (*Entry) TypedRune

func (e *Entry) TypedRune(r rune)

TypedRune receives text input events when the Entry widget is focused.

Implements: fyne.Focusable

func (*Entry) TypedShortcut

func (e *Entry) TypedShortcut(shortcut fyne.Shortcut)

TypedShortcut implements the Shortcutable interface

Implements: fyne.Shortcutable

func (*Entry) Unbind

func (e *Entry) Unbind()

Unbind disconnects any configured data source from this Entry. The current value will remain at the last value of the data source.

Since: 2.0

func (*Entry) Validate

func (e *Entry) Validate() error

Validate validates the current text in the widget

type FileIcon

type FileIcon struct {
	BaseWidget

	Selected bool
	URI      fyne.URI
	// contains filtered or unexported fields
}

FileIcon is an adaption of widget.Icon for showing files and folders

Since: 1.4

func NewFileIcon

func NewFileIcon(uri fyne.URI) *FileIcon

NewFileIcon takes a filepath and creates an icon with an overlayed label using the detected mimetype and extension

Since: 1.4

func (*FileIcon) CreateRenderer

func (i *FileIcon) CreateRenderer() fyne.WidgetRenderer

CreateRenderer is a private method to Fyne which links this widget to its renderer

func (*FileIcon) MinSize

func (i *FileIcon) MinSize() fyne.Size

MinSize returns the size that this widget should not shrink below

func (*FileIcon) SetSelected

func (i *FileIcon) SetSelected(selected bool)

SetSelected makes the file look like it is selected

func (*FileIcon) SetURI

func (i *FileIcon) SetURI(uri fyne.URI)

SetURI changes the URI and makes the icon reflect a different file

type Form

type Form struct {
	BaseWidget

	Items      []*FormItem
	OnSubmit   func()
	OnCancel   func()
	SubmitText string
	CancelText string
	// contains filtered or unexported fields
}

Form widget is two column grid where each row has a label and a widget (usually an input). The last row of the grid will contain the appropriate form control buttons if any should be shown. Setting OnSubmit will set the submit button to be visible and call back the function when tapped. Setting OnCancel will do the same for a cancel button. If you change OnSubmit/OnCancel after the form is created and rendered, you need to call Refresh() to update the form with the correct buttons. Setting OnSubmit/OnCancel to nil will remove the buttons.

func NewForm

func NewForm(items ...*FormItem) *Form

NewForm creates a new form widget with the specified rows of form items and (if any of them should be shown) a form controls row at the bottom

func (*Form) Append

func (f *Form) Append(text string, widget fyne.CanvasObject)

Append adds a new row to the form, using the text as a label next to the specified Widget

func (*Form) AppendItem

func (f *Form) AppendItem(item *FormItem)

AppendItem adds the specified row to the end of the Form

func (*Form) CreateRenderer

func (f *Form) CreateRenderer() fyne.WidgetRenderer

CreateRenderer is a private method to Fyne which links this widget to its renderer

func (*Form) MinSize

func (f *Form) MinSize() fyne.Size

MinSize returns the size that this widget should not shrink below

func (*Form) Refresh

func (f *Form) Refresh()

Refresh updates the widget state when requested.

type FormItem

type FormItem struct {
	Text   string
	Widget fyne.CanvasObject

	// Since: 2.0
	HintText string
	// contains filtered or unexported fields
}

FormItem provides the details for a row in a form

func NewFormItem

func NewFormItem(text string, widget fyne.CanvasObject) *FormItem

NewFormItem creates a new form item with the specified label text and input widget

type Hyperlink struct {
	BaseWidget
	Text      string
	URL       *url.URL
	Alignment fyne.TextAlign // The alignment of the Text
	Wrapping  fyne.TextWrap  // The wrapping of the Text
	TextStyle fyne.TextStyle // The style of the hyperlink text
	// contains filtered or unexported fields
}

Hyperlink widget is a text component with appropriate padding and layout. When clicked, the default web browser should open with a URL

func NewHyperlink(text string, url *url.URL) *Hyperlink

NewHyperlink creates a new hyperlink widget with the set text content

func NewHyperlinkWithStyle

func NewHyperlinkWithStyle(text string, url *url.URL, alignment fyne.TextAlign, style fyne.TextStyle) *Hyperlink

NewHyperlinkWithStyle creates a new hyperlink widget with the set text content

func (*Hyperlink) CreateRenderer

func (hl *Hyperlink) CreateRenderer() fyne.WidgetRenderer

CreateRenderer is a private method to Fyne which links this widget to its renderer

func (*Hyperlink) Cursor

func (hl *Hyperlink) Cursor() desktop.Cursor

Cursor returns the cursor type of this widget

func (*Hyperlink) MinSize

func (hl *Hyperlink) MinSize() fyne.Size

MinSize returns the smallest size this widget can shrink to

func (*Hyperlink) Resize

func (hl *Hyperlink) Resize(size fyne.Size)

Resize sets a new size for the hyperlink. Note this should not be used if the widget is being managed by a Layout within a Container.

func (*Hyperlink) SetText

func (hl *Hyperlink) SetText(text string)

SetText sets the text of the hyperlink

func (*Hyperlink) SetURL

func (hl *Hyperlink) SetURL(url *url.URL)

SetURL sets the URL of the hyperlink, taking in a URL type

func (*Hyperlink) SetURLFromString

func (hl *Hyperlink) SetURLFromString(str string) error

SetURLFromString sets the URL of the hyperlink, taking in a string type

func (*Hyperlink) Tapped

func (hl *Hyperlink) Tapped(*fyne.PointEvent)

Tapped is called when a pointer tapped event is captured and triggers any change handler

type Icon

type Icon struct {
	BaseWidget

	Resource fyne.Resource // The resource for this icon
	// contains filtered or unexported fields
}

Icon widget is a basic image component that load's its resource to match the theme.

func NewIcon

func NewIcon(res fyne.Resource) *Icon

NewIcon returns a new icon widget that displays a themed icon resource

func (*Icon) CreateRenderer

func (i *Icon) CreateRenderer() fyne.WidgetRenderer

CreateRenderer is a private method to Fyne which links this widget to its renderer

func (*Icon) MinSize

func (i *Icon) MinSize() fyne.Size

MinSize returns the size that this widget should not shrink below

func (*Icon) SetResource

func (i *Icon) SetResource(res fyne.Resource)

SetResource updates the resource rendered in this icon widget

type Label

type Label struct {
	BaseWidget
	Text      string
	Alignment fyne.TextAlign // The alignment of the Text
	Wrapping  fyne.TextWrap  // The wrapping of the Text
	TextStyle fyne.TextStyle // The style of the label text
	// contains filtered or unexported fields
}

Label widget is a label component with appropriate padding and layout.

func NewLabel

func NewLabel(text string) *Label

NewLabel creates a new label widget with the set text content

func NewLabelWithData

func NewLabelWithData(data binding.String) *Label

NewLabelWithData returns an Label widget connected to the specified data source.

Since: 2.0

func NewLabelWithStyle

func NewLabelWithStyle(text string, alignment fyne.TextAlign, style fyne.TextStyle) *Label

NewLabelWithStyle creates a new label widget with the set text content

func (*Label) Bind

func (l *Label) Bind(data binding.String)

Bind connects the specified data source to this Label. The current value will be displayed and any changes in the data will cause the widget to update.

Since: 2.0

func (*Label) CreateRenderer

func (l *Label) CreateRenderer() fyne.WidgetRenderer

CreateRenderer is a private method to Fyne which links this widget to its renderer

func (*Label) MinSize

func (l *Label) MinSize() fyne.Size

MinSize returns the size that this widget should not shrink below

func (*Label) Refresh

func (l *Label) Refresh()

Refresh checks if the text content should be updated then refreshes the graphical context

func (*Label) Resize

func (l *Label) Resize(size fyne.Size)

Resize sets a new size for the label. Note this should not be used if the widget is being managed by a Layout within a Container.

func (*Label) SetText

func (l *Label) SetText(text string)

SetText sets the text of the label

func (*Label) Unbind

func (l *Label) Unbind()

Unbind disconnects any configured data source from this Label. The current value will remain at the last value of the data source.

Since: 2.0

type List

type List struct {
	BaseWidget

	Length       func() int
	CreateItem   func() fyne.CanvasObject
	UpdateItem   func(id ListItemID, item fyne.CanvasObject)
	OnSelected   func(id ListItemID)
	OnUnselected func(id ListItemID)
	// contains filtered or unexported fields
}

List is a widget that pools list items for performance and lays the items out in a vertical direction inside of a scroller. List requires that all items are the same size.

Since: 1.4

func NewList

func NewList(length func() int, createItem func() fyne.CanvasObject, updateItem func(ListItemID, fyne.CanvasObject)) *List

NewList creates and returns a list widget for displaying items in a vertical layout with scrolling and caching for performance.

Since: 1.4

func NewListWithData

func NewListWithData(data binding.DataList, createItem func() fyne.CanvasObject, updateItem func(binding.DataItem, fyne.CanvasObject)) *List

NewListWithData creates a new list widget that will display the contents of the provided data.

Since: 2.0

func (*List) CreateRenderer

func (l *List) CreateRenderer() fyne.WidgetRenderer

CreateRenderer is a private method to Fyne which links this widget to its renderer.

func (*List) MinSize

func (l *List) MinSize() fyne.Size

MinSize returns the size that this widget should not shrink below.

func (*List) Select

func (l *List) Select(id ListItemID)

Select add the item identified by the given ID to the selection.

func (*List) Unselect

func (l *List) Unselect(id ListItemID)

Unselect removes the item identified by the given ID from the selection.

type ListItemID

type ListItemID = int

ListItemID uniquely identifies an item within a list.

type Menu struct {
	widget.Base
	Items     []fyne.CanvasObject
	OnDismiss func()
	// contains filtered or unexported fields
}

Menu is a widget for displaying a fyne.Menu.

func NewMenu

func NewMenu(menu *fyne.Menu) *Menu

NewMenu creates a new Menu.

func (m *Menu) ActivateLastSubmenu() bool

ActivateLastSubmenu finds the last active menu item traversing through the open submenus and activates its submenu if any. It returns `true` if there was a submenu and it was activated and `false` elsewhere. Activating a submenu does show it and activate its first item.

func (m *Menu) ActivateNext()

ActivateNext activates the menu item following the currently active menu item. If there is no menu item active, it activates the first menu item. If there is no menu item after the current active one, it does nothing. If a submenu is open, it delegates the activation to this submenu.

func (m *Menu) ActivatePrevious()

ActivatePrevious activates the menu item preceding the currently active menu item. If there is no menu item active, it activates the last menu item. If there is no menu item before the current active one, it does nothing. If a submenu is open, it delegates the activation to this submenu.

func (m *Menu) CreateRenderer() fyne.WidgetRenderer

CreateRenderer returns a new renderer for the menu.

Implements: fyne.Widget

func (m *Menu) DeactivateChild()

DeactivateChild deactivates the active menu item and hides its submenu if any.

func (m *Menu) DeactivateLastSubmenu() bool

DeactivateLastSubmenu finds the last open submenu traversing through the open submenus, deactivates its active item and hides it. This also deactivates any submenus of the deactivated submenu. It returns `true` if there was a submenu open and closed and `false` elsewhere.

func (m *Menu) Dismiss()

Dismiss dismisses the menu by dismissing and hiding the active child and performing OnDismiss.

func (m *Menu) Hide()

Hide hides the menu.

Implements: fyne.Widget

func (m *Menu) MinSize() fyne.Size

MinSize returns the minimal size of the menu.

Implements: fyne.Widget

func (m *Menu) Move(pos fyne.Position)

Move sets the position of the widget relative to its parent.

Implements: fyne.Widget

func (m *Menu) Refresh()

Refresh triggers a redraw of the menu.

Implements: fyne.Widget

func (m *Menu) Resize(size fyne.Size)

Resize has no effect because menus are always displayed with their minimal size.

Implements: fyne.Widget

func (m *Menu) Show()

Show makes the menu visible.

Implements: fyne.Widget

func (m *Menu) Tapped(*fyne.PointEvent)

Tapped catches taps on separators and the menu background. It doesn’t perform any action.

Implements: fyne.Tappable

func (m *Menu) TriggerLast()

TriggerLast finds the last active menu item traversing through the open submenus and triggers it.

type Orientation

type Orientation int

Orientation controls the horizontal/vertical layout of a widget

const (
	Horizontal Orientation = 0
	Vertical   Orientation = 1
)

Orientation constants to control widget layout

type PopUp struct {
	BaseWidget

	Content fyne.CanvasObject
	Canvas  fyne.Canvas
	// contains filtered or unexported fields
}

PopUp is a widget that can float above the user interface. It wraps any standard elements with padding and a shadow. If it is modal then the shadow will cover the entire canvas it hovers over and block interactions.

func NewModalPopUp

func NewModalPopUp(content fyne.CanvasObject, canvas fyne.Canvas) *PopUp

NewModalPopUp creates a new popUp for the specified content and displays it on the passed canvas. A modal PopUp blocks interactions with underlying elements, covered with a semi-transparent overlay.

func NewPopUp

func NewPopUp(content fyne.CanvasObject, canvas fyne.Canvas) *PopUp

NewPopUp creates a new popUp for the specified content and displays it on the passed canvas.

func (*PopUp) CreateRenderer

func (p *PopUp) CreateRenderer() fyne.WidgetRenderer

CreateRenderer is a private method to Fyne which links this widget to its renderer

func (*PopUp) Hide

func (p *PopUp) Hide()

Hide this widget, if it was previously visible

func (*PopUp) MinSize

func (p *PopUp) MinSize() fyne.Size

MinSize returns the size that this widget should not shrink below

func (*PopUp) Move

func (p *PopUp) Move(pos fyne.Position)

Move the widget to a new position. A PopUp position is absolute to the top, left of its canvas. For PopUp this actually moves the content so checking Position() will not return the same value as is set here.

func (*PopUp) Resize

func (p *PopUp) Resize(size fyne.Size)

Resize changes the size of the PopUp. PopUps always have the size of their canvas. However, Resize changes the size of the PopUp's content.

Implements: fyne.Widget

func (*PopUp) Show

func (p *PopUp) Show()

Show this pop-up as overlay if not already shown.

func (*PopUp) ShowAtPosition

func (p *PopUp) ShowAtPosition(pos fyne.Position)

ShowAtPosition shows this pop-up at the given position.

func (*PopUp) Tapped

func (p *PopUp) Tapped(_ *fyne.PointEvent)

Tapped is called when the user taps the popUp background - if not modal then dismiss this widget

func (*PopUp) TappedSecondary

func (p *PopUp) TappedSecondary(_ *fyne.PointEvent)

TappedSecondary is called when the user right/alt taps the background - if not modal then dismiss this widget

type PopUpMenu

type PopUpMenu struct {
	*Menu
	// contains filtered or unexported fields
}

PopUpMenu is a Menu which displays itself in an OverlayContainer.

func NewPopUpMenu

func NewPopUpMenu(menu *fyne.Menu, c fyne.Canvas) *PopUpMenu

NewPopUpMenu creates a new, reusable popup menu. You can show it using ShowAtPosition.

Since: 2.0

func (*PopUpMenu) CreateRenderer

func (p *PopUpMenu) CreateRenderer() fyne.WidgetRenderer

CreateRenderer returns a new renderer for the pop-up menu.

Implements: fyne.Widget

func (*PopUpMenu) Hide

func (p *PopUpMenu) Hide()

Hide hides the pop-up menu.

Implements: fyne.Widget

func (*PopUpMenu) Move

func (p *PopUpMenu) Move(pos fyne.Position)

Move moves the pop-up menu. The position is absolute because pop-up menus are shown in an overlay which covers the whole canvas.

Implements: fyne.Widget

func (*PopUpMenu) Resize

func (p *PopUpMenu) Resize(size fyne.Size)

Resize changes the size of the pop-up menu.

Implements: fyne.Widget

func (*PopUpMenu) Show

func (p *PopUpMenu) Show()

Show makes the pop-up menu visible.

Implements: fyne.Widget

func (*PopUpMenu) ShowAtPosition

func (p *PopUpMenu) ShowAtPosition(pos fyne.Position)

ShowAtPosition shows the pop-up menu at the specified position.

type ProgressBar

type ProgressBar struct {
	BaseWidget

	Min, Max, Value float64

	// TextFormatter can be used to have a custom format of progress text.
	// If set, it overrides the percentage readout and runs each time the value updates.
	//
	// Since: 1.4
	TextFormatter func() string
	// contains filtered or unexported fields
}

ProgressBar widget creates a horizontal panel that indicates progress

func NewProgressBar

func NewProgressBar() *ProgressBar

NewProgressBar creates a new progress bar widget. The default Min is 0 and Max is 1, Values set should be between those numbers. The display will convert this to a percentage.

func NewProgressBarWithData

func NewProgressBarWithData(data binding.Float) *ProgressBar

NewProgressBarWithData returns a progress bar connected with the specified data source.

Since: 2.0

func (*ProgressBar) Bind

func (p *ProgressBar) Bind(data binding.Float)

Bind connects the specified data source to this ProgressBar. The current value will be displayed and any changes in the data will cause the widget to update.

Since: 2.0

func (*ProgressBar) CreateRenderer

func (p *ProgressBar) CreateRenderer() fyne.WidgetRenderer

CreateRenderer is a private method to Fyne which links this widget to its renderer

func (*ProgressBar) MinSize

func (p *ProgressBar) MinSize() fyne.Size

MinSize returns the size that this widget should not shrink below

func (*ProgressBar) SetValue

func (p *ProgressBar) SetValue(v float64)

SetValue changes the current value of this progress bar (from p.Min to p.Max). The widget will be refreshed to indicate the change.

func (*ProgressBar) Unbind

func (p *ProgressBar) Unbind()

Unbind disconnects any configured data source from this ProgressBar. The current value will remain at the last value of the data source.

Since: 2.0

type ProgressBarInfinite

type ProgressBarInfinite struct {
	BaseWidget
}

ProgressBarInfinite widget creates a horizontal panel that indicates waiting indefinitely An infinite progress bar loops 0% -> 100% repeatedly until Stop() is called

func NewProgressBarInfinite

func NewProgressBarInfinite() *ProgressBarInfinite

NewProgressBarInfinite creates a new progress bar widget that loops indefinitely from 0% -> 100% SetValue() is not defined for infinite progress bar To stop the looping progress and set the progress bar to 100%, call ProgressBarInfinite.Stop()

func (*ProgressBarInfinite) CreateRenderer

func (p *ProgressBarInfinite) CreateRenderer() fyne.WidgetRenderer

CreateRenderer is a private method to Fyne which links this widget to its renderer

func (*ProgressBarInfinite) Hide

func (p *ProgressBarInfinite) Hide()

Hide this widget, if it was previously visible

func (*ProgressBarInfinite) MinSize

func (p *ProgressBarInfinite) MinSize() fyne.Size

MinSize returns the size that this widget should not shrink below

func (*ProgressBarInfinite) Running

func (p *ProgressBarInfinite) Running() bool

Running returns the current state of the infinite progress animation

func (*ProgressBarInfinite) Show

func (p *ProgressBarInfinite) Show()

Show this widget, if it was previously hidden

func (*ProgressBarInfinite) Start

func (p *ProgressBarInfinite) Start()

Start the infinite progress bar animation

func (*ProgressBarInfinite) Stop

func (p *ProgressBarInfinite) Stop()

Stop the infinite progress bar animation

type RadioGroup

type RadioGroup struct {
	DisableableWidget
	Horizontal bool
	Required   bool
	OnChanged  func(string) `json:"-"`
	Options    []string
	Selected   string
	// contains filtered or unexported fields
}

RadioGroup widget has a list of text labels and radio check icons next to each. Changing the selection (only one can be selected) will trigger the changed func.

Since: 1.4

func NewRadioGroup

func NewRadioGroup(options []string, changed func(string)) *RadioGroup

NewRadioGroup creates a new radio widget with the set options and change handler

Since: 1.4

func (*RadioGroup) Append

func (r *RadioGroup) Append(option string)

Append adds a new option to the end of a RadioGroup widget.

func (*RadioGroup) CreateRenderer

func (r *RadioGroup) CreateRenderer() fyne.WidgetRenderer

CreateRenderer is a private method to Fyne which links this widget to its renderer

func (*RadioGroup) MinSize

func (r *RadioGroup) MinSize() fyne.Size

MinSize returns the size that this widget should not shrink below

func (*RadioGroup) Refresh

func (r *RadioGroup) Refresh()

Refresh causes this widget to be redrawn in it's current state.

Implements: fyne.CanvasObject

func (*RadioGroup) SetSelected

func (r *RadioGroup) SetSelected(option string)

SetSelected sets the radio option, it can be used to set a default option.

type Select

type Select struct {
	DisableableWidget

	Selected    string
	Options     []string
	PlaceHolder string
	OnChanged   func(string) `json:"-"`
	// contains filtered or unexported fields
}

Select widget has a list of options, with the current one shown, and triggers an event func when clicked

func NewSelect

func NewSelect(options []string, changed func(string)) *Select

NewSelect creates a new select widget with the set list of options and changes handler

func (*Select) ClearSelected

func (s *Select) ClearSelected()

ClearSelected clears the current option of the select widget. After clearing the current option, the Select widget's PlaceHolder will be displayed.

func (*Select) CreateRenderer

func (s *Select) CreateRenderer() fyne.WidgetRenderer

CreateRenderer is a private method to Fyne which links this widget to its renderer

func (*Select) FocusGained

func (s *Select) FocusGained()

FocusGained is called after this Select has gained focus.

Implements: fyne.Focusable

func (*Select) FocusLost

func (s *Select) FocusLost()

FocusLost is called after this Select has lost focus.

Implements: fyne.Focusable

func (*Select) Hide

func (s *Select) Hide()

Hide hides the select.

Implements: fyne.Widget

func (*Select) MinSize

func (s *Select) MinSize() fyne.Size

MinSize returns the size that this widget should not shrink below

func (*Select) MouseIn

func (s *Select) MouseIn(*desktop.MouseEvent)

MouseIn is called when a desktop pointer enters the widget

func (*Select) MouseMoved

func (s *Select) MouseMoved(*desktop.MouseEvent)

MouseMoved is called when a desktop pointer hovers over the widget

func (*Select) MouseOut

func (s *Select) MouseOut()

MouseOut is called when a desktop pointer exits the widget

func (*Select) Move

func (s *Select) Move(pos fyne.Position)

Move changes the relative position of the select.

Implements: fyne.Widget

func (*Select) Resize

func (s *Select) Resize(size fyne.Size)

Resize sets a new size for a widget. Note this should not be used if the widget is being managed by a Layout within a Container.

func (*Select) SelectedIndex

func (s *Select) SelectedIndex() int

SelectedIndex returns the index value of the currently selected item in Options list. It will return -1 if there is no selection.

func (*Select) SetSelected

func (s *Select) SetSelected(text string)

SetSelected sets the current option of the select widget

func (*Select) SetSelectedIndex

func (s *Select) SetSelectedIndex(index int)

SetSelectedIndex will set the Selected option from the value in Options list at index position.

func (*Select) Tapped

func (s *Select) Tapped(*fyne.PointEvent)

Tapped is called when a pointer tapped event is captured and triggers any tap handler

func (*Select) TypedKey

func (s *Select) TypedKey(event *fyne.KeyEvent)

TypedKey is called if a key event happens while this Select is focused.

Implements: fyne.Focusable

func (*Select) TypedRune

func (s *Select) TypedRune(_ rune)

TypedRune is called if a text event happens while this Select is focused.

Implements: fyne.Focusable

type SelectEntry

type SelectEntry struct {
	Entry
	// contains filtered or unexported fields
}

SelectEntry is an input field which supports selecting from a fixed set of options.

func NewSelectEntry

func NewSelectEntry(options []string) *SelectEntry

NewSelectEntry creates a SelectEntry.

func (*SelectEntry) CreateRenderer

func (e *SelectEntry) CreateRenderer() fyne.WidgetRenderer

CreateRenderer returns a new renderer for this select entry.

Implements: fyne.Widget

func (*SelectEntry) Disable

func (e *SelectEntry) Disable()

Disable this widget so that it cannot be interacted with, updating any style appropriately.

Implements: fyne.DisableableWidget

func (*SelectEntry) Enable

func (e *SelectEntry) Enable()

Enable this widget, updating any style or features appropriately.

Implements: fyne.DisableableWidget

func (*SelectEntry) MinSize

func (e *SelectEntry) MinSize() fyne.Size

MinSize returns the minimal size of the select entry.

Implements: fyne.Widget

func (*SelectEntry) Resize

func (e *SelectEntry) Resize(size fyne.Size)

Resize changes the size of the select entry.

Implements: fyne.Widget

func (*SelectEntry) SetOptions

func (e *SelectEntry) SetOptions(options []string)

SetOptions sets the options the user might select from.

type Separator

type Separator struct {
	widget.Base
}

Separator is a widget for displaying a separator with themeable color.

Since: 1.4

func NewSeparator

func NewSeparator() *Separator

NewSeparator creates a new separator.

Since: 1.4

func (*Separator) CreateRenderer

func (s *Separator) CreateRenderer() fyne.WidgetRenderer

CreateRenderer returns a new renderer for the separator.

Implements: fyne.Widget

func (*Separator) Hide

func (s *Separator) Hide()

Hide hides the separator.

Implements: fyne.Widget

func (*Separator) MinSize

func (s *Separator) MinSize() fyne.Size

MinSize returns the minimal size of the separator.

Implements: fyne.Widget

func (*Separator) Move

func (s *Separator) Move(pos fyne.Position)

Move sets the position of the separator relative to its parent.

Implements: fyne.Widget

func (*Separator) Refresh

func (s *Separator) Refresh()

Refresh triggers a redraw of the separator.

Implements: fyne.Widget

func (*Separator) Resize

func (s *Separator) Resize(size fyne.Size)

Resize changes the size of the separator.

Implements: fyne.Widget

func (*Separator) Show

func (s *Separator) Show()

Show makes the separator visible.

Implements: fyne.Widget

type Slider

type Slider struct {
	BaseWidget

	Value float64
	Min   float64
	Max   float64
	Step  float64

	Orientation Orientation
	OnChanged   func(float64)
	// contains filtered or unexported fields
}

Slider is a widget that can slide between two fixed values.

func NewSlider

func NewSlider(min, max float64) *Slider

NewSlider returns a basic slider.

func NewSliderWithData

func NewSliderWithData(min, max float64, data binding.Float) *Slider

NewSliderWithData returns a slider connected with the specified data source.

Since: 2.0

func (*Slider) Bind

func (s *Slider) Bind(data binding.Float)

Bind connects the specified data source to this Slider. The current value will be displayed and any changes in the data will cause the widget to update. User interactions with this Slider will set the value into the data source.

Since: 2.0

func (*Slider) CreateRenderer

func (s *Slider) CreateRenderer() fyne.WidgetRenderer

CreateRenderer links this widget to its renderer.

func (*Slider) DragEnd

func (s *Slider) DragEnd()

DragEnd function.

func (*Slider) Dragged

func (s *Slider) Dragged(e *fyne.DragEvent)

Dragged function.

func (*Slider) MinSize

func (s *Slider) MinSize() fyne.Size

MinSize returns the size that this widget should not shrink below

func (*Slider) SetValue

func (s *Slider) SetValue(value float64)

SetValue updates the value of the slider and clamps the value to be within the range.

func (*Slider) Unbind

func (s *Slider) Unbind()

Unbind disconnects any configured data source from this Slider. The current value will remain at the last value of the data source.

Since: 2.0

type Table

type Table struct {
	BaseWidget

	Length       func() (int, int)
	CreateCell   func() fyne.CanvasObject
	UpdateCell   func(id TableCellID, template fyne.CanvasObject)
	OnSelected   func(id TableCellID)
	OnUnselected func(id TableCellID)
	// contains filtered or unexported fields
}

Table widget is a grid of items that can be scrolled and a cell selected. It's performance is provided by caching cell templates created with CreateCell and re-using them with UpdateCell. The size of the content rows/columns is returned by the Length callback.

Since: 1.4

func NewTable

func NewTable(length func() (int, int), create func() fyne.CanvasObject, update func(TableCellID, fyne.CanvasObject)) *Table

NewTable returns a new performant table widget defined by the passed functions. The first returns the data size in rows and columns, second parameter is a function that returns cell template objects that can be cached and the third is used to apply data at specified data location to the passed template CanvasObject.

Since: 1.4

func (*Table) CreateRenderer

func (t *Table) CreateRenderer() fyne.WidgetRenderer

CreateRenderer returns a new renderer for the table.

Implements: fyne.Widget

func (*Table) Select

func (t *Table) Select(id TableCellID)

Select will mark the specified cell as selected.

func (*Table) SetColumnWidth

func (t *Table) SetColumnWidth(id int, width float32)

SetColumnWidth supports changing the width of the specified column. Columns normally take the width of the template cell returned from the CreateCell callback. The width parameter uses the same units as a fyne.Size type and refers to the internal content width not including any standard padding or divider size.

Since: 1.4.1

func (*Table) Unselect

func (t *Table) Unselect(id TableCellID)

Unselect will mark the cell provided by id as unselected.

type TableCellID

type TableCellID struct {
	Row int
	Col int
}

TableCellID is a type that represents a cell's position in a table based on it's row and column location.

type TextGrid

type TextGrid struct {
	BaseWidget
	Rows []TextGridRow

	ShowLineNumbers bool
	ShowWhitespace  bool
}

TextGrid is a monospaced grid of characters. This is designed to be used by a text editor, code preview or terminal emulator.

func NewTextGrid

func NewTextGrid() *TextGrid

NewTextGrid creates a new empty TextGrid widget.

func NewTextGridFromString

func NewTextGridFromString(content string) *TextGrid

NewTextGridFromString creates a new TextGrid widget with the specified string content.

func (*TextGrid) CreateRenderer

func (t *TextGrid) CreateRenderer() fyne.WidgetRenderer

CreateRenderer is a private method to Fyne which links this widget to it's renderer

func (*TextGrid) MinSize

func (t *TextGrid) MinSize() fyne.Size

MinSize returns the smallest size this widget can shrink to

func (*TextGrid) Resize

func (t *TextGrid) Resize(size fyne.Size)

Resize is called when this widget changes size. We should make sure that we refresh cells.

func (*TextGrid) Row

func (t *TextGrid) Row(row int) TextGridRow

Row returns a copy of the content in a specified row as a TextGridRow. If the index is out of bounds it returns an empty row object.

func (*TextGrid) RowText

func (t *TextGrid) RowText(row int) string

RowText returns a string representation of the content at the row specified. If the index is out of bounds it returns an empty string.

func (*TextGrid) SetCell

func (t *TextGrid) SetCell(row, col int, cell TextGridCell)

SetCell sets a grid data to the cell at named row and column.

func (*TextGrid) SetRow

func (t *TextGrid) SetRow(row int, content TextGridRow)

SetRow updates the specified row of the grid's contents using the specified content and style and then refreshes. If the row is beyond the end of the current buffer it will be expanded.

func (*TextGrid) SetRowStyle

func (t *TextGrid) SetRowStyle(row int, style TextGridStyle)

SetRowStyle sets a grid style to all the cells cell at the specified row. Any cells in this row with their own style will override this value when displayed.

func (*TextGrid) SetRune

func (t *TextGrid) SetRune(row, col int, r rune)

SetRune sets a character to the cell at named row and column.

func (*TextGrid) SetStyle

func (t *TextGrid) SetStyle(row, col int, style TextGridStyle)

SetStyle sets a grid style to the cell at named row and column.

func (*TextGrid) SetStyleRange

func (t *TextGrid) SetStyleRange(startRow, startCol, endRow, endCol int, style TextGridStyle)

SetStyleRange sets a grid style to all the cells between the start row and column through to the end row and column.

func (*TextGrid) SetText

func (t *TextGrid) SetText(text string)

SetText updates the buffer of this textgrid to contain the specified text. New lines and columns will be added as required. Lines are separated by '\n'. The grid will use default text style and any previous content and style will be removed.

func (*TextGrid) Text

func (t *TextGrid) Text() string

Text returns the contents of the buffer as a single string (with no style information). It reconstructs the lines by joining with a `\n` character.

type TextGridCell

type TextGridCell struct {
	Rune  rune
	Style TextGridStyle
}

TextGridCell represents a single cell in a text grid. It has a rune for the text content and a style associated with it.

type TextGridRow

type TextGridRow struct {
	Cells []TextGridCell
	Style TextGridStyle
}

TextGridRow represents a row of cells cell in a text grid. It contains the cells for the row and an optional style.

type TextGridStyle

type TextGridStyle interface {
	TextColor() color.Color
	BackgroundColor() color.Color
}

TextGridStyle defines a style that can be applied to a TextGrid cell.

var (
	// TextGridStyleDefault is a default style for test grid cells
	TextGridStyleDefault TextGridStyle
	// TextGridStyleWhitespace is the style used for whitespace characters, if enabled
	TextGridStyleWhitespace TextGridStyle
)

type Toolbar

type Toolbar struct {
	BaseWidget
	Items []ToolbarItem
}

Toolbar widget creates a horizontal list of tool buttons

func NewToolbar

func NewToolbar(items ...ToolbarItem) *Toolbar

NewToolbar creates a new toolbar widget.

func (*Toolbar) Append

func (t *Toolbar) Append(item ToolbarItem)

Append a new ToolbarItem to the end of this Toolbar

func (*Toolbar) CreateRenderer

func (t *Toolbar) CreateRenderer() fyne.WidgetRenderer

CreateRenderer is a private method to Fyne which links this widget to its renderer

func (*Toolbar) MinSize

func (t *Toolbar) MinSize() fyne.Size

MinSize returns the size that this widget should not shrink below

func (*Toolbar) Prepend

func (t *Toolbar) Prepend(item ToolbarItem)

Prepend a new ToolbarItem to the start of this Toolbar

type ToolbarAction

type ToolbarAction struct {
	Icon        fyne.Resource
	OnActivated func()
}

ToolbarAction is push button style of ToolbarItem

func (*ToolbarAction) ToolbarObject

func (t *ToolbarAction) ToolbarObject() fyne.CanvasObject

ToolbarObject gets a button to render this ToolbarAction

type ToolbarItem

type ToolbarItem interface {
	ToolbarObject() fyne.CanvasObject
}

ToolbarItem represents any interface element that can be added to a toolbar

func NewToolbarAction

func NewToolbarAction(icon fyne.Resource, onActivated func()) ToolbarItem

NewToolbarAction returns a new push button style ToolbarItem

func NewToolbarSeparator

func NewToolbarSeparator() ToolbarItem

NewToolbarSeparator returns a new separator item for a Toolbar to assist with ToolbarItem grouping

func NewToolbarSpacer

func NewToolbarSpacer() ToolbarItem

NewToolbarSpacer returns a new spacer item for a Toolbar to assist with ToolbarItem alignment

type ToolbarSeparator

type ToolbarSeparator struct {
}

ToolbarSeparator is a thin, visible divide that can be added to a Toolbar. This is typically used to assist visual grouping of ToolbarItems.

func (*ToolbarSeparator) ToolbarObject

func (t *ToolbarSeparator) ToolbarObject() fyne.CanvasObject

ToolbarObject gets the visible line object for this ToolbarSeparator

type ToolbarSpacer

type ToolbarSpacer struct {
}

ToolbarSpacer is a blank, stretchable space for a toolbar. This is typically used to assist layout if you wish some left and some right aligned items. Space will be split evebly amongst all the spacers on a toolbar.

func (*ToolbarSpacer) ToolbarObject

func (t *ToolbarSpacer) ToolbarObject() fyne.CanvasObject

ToolbarObject gets the actual spacer object for this ToolbarSpacer

type Tree

type Tree struct {
	BaseWidget
	Root TreeNodeID

	ChildUIDs      func(uid TreeNodeID) (c []TreeNodeID)                     // Return a sorted slice of Children TreeNodeIDs for the given Node TreeNodeID
	CreateNode     func(branch bool) (o fyne.CanvasObject)                   // Return a CanvasObject that can represent a Branch (if branch is true), or a Leaf (if branch is false)
	IsBranch       func(uid TreeNodeID) (ok bool)                            // Return true if the given TreeNodeID represents a Branch
	OnBranchClosed func(uid TreeNodeID)                                      // Called when a Branch is closed
	OnBranchOpened func(uid TreeNodeID)                                      // Called when a Branch is opened
	OnSelected     func(uid TreeNodeID)                                      // Called when the Node with the given TreeNodeID is selected.
	OnUnselected   func(uid TreeNodeID)                                      // Called when the Node with the given TreeNodeID is unselected.
	UpdateNode     func(uid TreeNodeID, branch bool, node fyne.CanvasObject) // Called to update the given CanvasObject to represent the data at the given TreeNodeID
	// contains filtered or unexported fields
}

Tree widget displays hierarchical data. Each node of the tree must be identified by a Unique TreeNodeID.

Since: 1.4

func NewTree

func NewTree(childUIDs func(TreeNodeID) []TreeNodeID, isBranch func(TreeNodeID) bool, create func(bool) fyne.CanvasObject, update func(TreeNodeID, bool, fyne.CanvasObject)) *Tree

NewTree returns a new performant tree widget defined by the passed functions. childUIDs returns the child TreeNodeIDs of the given node. isBranch returns true if the given node is a branch, false if it is a leaf. create returns a new template object that can be cached. update is used to apply data at specified data location to the passed template CanvasObject.

Since: 1.4

func NewTreeWithStrings

func NewTreeWithStrings(data map[string][]string) (t *Tree)

NewTreeWithStrings creates a new tree with the given string map. Data must contain a mapping for the root, which defaults to empty string ("").

Since: 1.4

func (*Tree) CloseAllBranches

func (t *Tree) CloseAllBranches()

CloseAllBranches closes all branches in the tree.

func (*Tree) CloseBranch

func (t *Tree) CloseBranch(uid TreeNodeID)

CloseBranch closes the branch with the given TreeNodeID.

func (*Tree) CreateRenderer

func (t *Tree) CreateRenderer() fyne.WidgetRenderer

CreateRenderer is a private method to Fyne which links this widget to its renderer.

func (*Tree) IsBranchOpen

func (t *Tree) IsBranchOpen(uid TreeNodeID) bool

IsBranchOpen returns true if the branch with the given TreeNodeID is expanded.

func (*Tree) MinSize

func (t *Tree) MinSize() fyne.Size

MinSize returns the size that this widget should not shrink below.

func (*Tree) OpenAllBranches

func (t *Tree) OpenAllBranches()

OpenAllBranches opens all branches in the tree.

func (*Tree) OpenBranch

func (t *Tree) OpenBranch(uid TreeNodeID)

OpenBranch opens the branch with the given TreeNodeID.

func (*Tree) Resize

func (t *Tree) Resize(size fyne.Size)

Resize sets a new size for a widget.

func (*Tree) Select

func (t *Tree) Select(uid TreeNodeID)

Select marks the specified node to be selected

func (*Tree) ToggleBranch

func (t *Tree) ToggleBranch(uid string)

ToggleBranch flips the state of the branch with the given TreeNodeID.

func (*Tree) Unselect

func (t *Tree) Unselect(uid TreeNodeID)

Unselect marks the specified node to be not selected

type TreeNodeID

type TreeNodeID = string

TreeNodeID represents the unique id of a tree node.

Jump to

Keyboard shortcuts

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