Documentation ¶
Index ¶
- Constants
- func ColNumber(colName string) int
- func NewClearTextButton(onTapped func()) *clearTextButton
- func NewDisabledGridWrap(len func() int, create func() fyne.CanvasObject, ...) *disabledGridWrap
- func NewLabelMinSize(text string, minWidth float32) *labelMinSize
- func NewVolumeSlider(width float32) *volumeSlider
- type AlbumFilterButton
- type AlbumFilterPopup
- type Aspectable
- type AuxControls
- type BatchingIterator
- type CaptionedImage
- type CharAllowedFunc
- type FavoriteButton
- type FavoriteIcon
- type FilterButton
- type FocusList
- type FocusListRow
- type FocusListRowBase
- func (l *FocusListRowBase) CreateRenderer() fyne.WidgetRenderer
- func (l *FocusListRowBase) EnsureUnfocused()
- func (l *FocusListRowBase) FocusGained()
- func (l *FocusListRowBase) FocusLost()
- func (l *FocusListRowBase) ItemID() widget.ListItemID
- func (l *FocusListRowBase) Refresh()
- func (l *FocusListRowBase) Tapped(*fyne.PointEvent)
- func (l *FocusListRowBase) TypedKey(e *fyne.KeyEvent)
- func (l *FocusListRowBase) TypedRune(r rune)
- type GenreFilterSubsection
- type GridView
- func (g *GridView) Clear()
- func (g *GridView) CreateRenderer() fyne.WidgetRenderer
- func (g *GridView) GetScrollOffset() float32
- func (g *GridView) Reset(iter GridViewIterator)
- func (g *GridView) ResetFixed(items []GridViewItemModel)
- func (g *GridView) ResetFromState(state *GridViewState)
- func (g *GridView) Resize(size fyne.Size)
- func (g *GridView) SaveToState() *GridViewState
- func (g *GridView) ScrollToOffset(offs float32)
- func (g *GridView) Tapped(*fyne.PointEvent)
- type GridViewItem
- func (g *GridViewItem) CreateRenderer() fyne.WidgetRenderer
- func (g *GridViewItem) FocusGained()
- func (g *GridViewItem) FocusLost()
- func (g *GridViewItem) ItemID() string
- func (g *GridViewItem) MouseIn(e *desktop.MouseEvent)
- func (g *GridViewItem) MouseMoved(e *desktop.MouseEvent)
- func (g *GridViewItem) MouseOut()
- func (g *GridViewItem) NeedsUpdate(model GridViewItemModel) bool
- func (g *GridViewItem) Refresh()
- func (g *GridViewItem) Tapped(*fyne.PointEvent)
- func (g *GridViewItem) TypedKey(e *fyne.KeyEvent)
- func (g *GridViewItem) TypedRune(rune)
- func (g *GridViewItem) Update(model GridViewItemModel)
- type GridViewItemModel
- type GridViewIterator
- type GridViewState
- type ImagePlaceholder
- func (i *ImagePlaceholder) Aspect() float32
- func (i *ImagePlaceholder) CreateRenderer() fyne.WidgetRenderer
- func (i *ImagePlaceholder) HaveImage() bool
- func (i *ImagePlaceholder) Image() image.Image
- func (i *ImagePlaceholder) MinSize() fyne.Size
- func (i *ImagePlaceholder) Refresh()
- func (i *ImagePlaceholder) SetImage(img image.Image, tappable bool)
- type LargeNowPlayingCard
- type ListColumn
- type ListHeader
- type ListHeaderSort
- type LoadingDots
- type LyricsViewer
- type MaxRowsLabel
- type MultiHyperlink
- type MultiHyperlinkSegment
- type NowPlayingCard
- type PlayQueueList
- type PlayQueueListRow
- type PlayerControls
- func (p *PlayerControls) CreateRenderer() fyne.WidgetRenderer
- func (pc *PlayerControls) OnPlayPause(f func())
- func (pc *PlayerControls) OnSeek(f func(float64))
- func (pc *PlayerControls) OnSeekNext(f func())
- func (pc *PlayerControls) OnSeekPrevious(f func())
- func (pc *PlayerControls) SetPlaying(playing bool)
- func (pc *PlayerControls) UpdatePlayTime(curTime, totalTime float64)
- type SearchEntry
- type SortType
- type StarRating
- func (s *StarRating) CreateRenderer() fyne.WidgetRenderer
- func (s *StarRating) Disable()
- func (s *StarRating) Disabled() bool
- func (s *StarRating) Enable()
- func (s *StarRating) MinSize() fyne.Size
- func (s *StarRating) MouseIn(e *desktop.MouseEvent)
- func (s *StarRating) MouseMoved(e *desktop.MouseEvent)
- func (s *StarRating) MouseOut()
- func (s *StarRating) Refresh()
- func (s *StarRating) Tapped(*fyne.PointEvent)
- type TappableIcon
- type TappableImage
- func (t *TappableImage) CreateRenderer() fyne.WidgetRenderer
- func (t *TappableImage) Cursor() desktop.Cursor
- func (t *TappableImage) Hide()
- func (t *TappableImage) MinSize() fyne.Size
- func (t *TappableImage) Move(pos fyne.Position)
- func (t *TappableImage) Refresh()
- func (t *TappableImage) Resize(size fyne.Size)
- func (t *TappableImage) Show()
- func (t *TappableImage) Tapped(e *fyne.PointEvent)
- func (t *TappableImage) TappedSecondary(e *fyne.PointEvent)
- type TextRestrictedEntry
- type ToggleButtonGroup
- type ToggleText
- type TrackPosSlider
- type TrackRow
- type Tracklist
- func (t *Tracklist) AppendTracks(trs []*mediaprovider.Track)
- func (t *Tracklist) Clear()
- func (t *Tracklist) CreateRenderer() fyne.WidgetRenderer
- func (t *Tracklist) GetTracks() []*mediaprovider.Track
- func (t *Tracklist) IncrementPlayCount(trackID string)
- func (t *Tracklist) Refresh()
- func (t *Tracklist) Reset()
- func (t *Tracklist) Scroll(amount float32)
- func (t *Tracklist) SelectAll()
- func (t *Tracklist) SelectAndScrollToTrack(trackID string)
- func (t *Tracklist) SelectedTrackIDs() []string
- func (t *Tracklist) SetNowPlaying(trackID string)
- func (t *Tracklist) SetSorting(sorting TracklistSort)
- func (t *Tracklist) SetTracks(trs []*mediaprovider.Track)
- func (t *Tracklist) SetVisibleColumns(cols []string)
- func (t *Tracklist) Sorting() TracklistSort
- func (t *Tracklist) Tapped(*fyne.PointEvent)
- func (t *Tracklist) TrackAt(idx int) *mediaprovider.Track
- func (t *Tracklist) UnselectAll()
- func (t *Tracklist) VisibleColumns() []string
- type TracklistLoader
- type TracklistOptions
- type TracklistSort
- type VolumeControl
Constants ¶
const ( ColumnNum = "Num" ColumnTitle = "Title" ColumnArtist = "Artist" ColumnAlbum = "Album" ColumnTime = "Time" ColumnYear = "Year" ColumnFavorite = "Favorite" ColumnRating = "Rating" ColumnPlays = "Plays" ColumnComment = "Comment" ColumnBitrate = "Bitrate" ColumnSize = "Size" ColumnPath = "Path" )
Variables ¶
This section is empty.
Functions ¶
func NewClearTextButton ¶
func NewClearTextButton(onTapped func()) *clearTextButton
func NewDisabledGridWrap ¶ added in v0.7.0
func NewDisabledGridWrap(len func() int, create func() fyne.CanvasObject, update func(widget.GridWrapItemID, fyne.CanvasObject)) *disabledGridWrap
func NewLabelMinSize ¶
func NewVolumeSlider ¶
func NewVolumeSlider(width float32) *volumeSlider
Types ¶
type AlbumFilterButton ¶
type AlbumFilterButton struct { widget.Button OnChanged func() GenreDisabled bool FavoriteDisabled bool // contains filtered or unexported fields }
func NewAlbumFilterButton ¶
func NewAlbumFilterButton(filter mediaprovider.AlbumFilter, fetchGenresFunc func() ([]*mediaprovider.Genre, error)) *AlbumFilterButton
func (*AlbumFilterButton) Filter ¶ added in v0.10.0
func (a *AlbumFilterButton) Filter() mediaprovider.AlbumFilter
func (*AlbumFilterButton) Refresh ¶
func (a *AlbumFilterButton) Refresh()
func (*AlbumFilterButton) SetOnChanged ¶ added in v0.10.0
func (a *AlbumFilterButton) SetOnChanged(fn func())
type AlbumFilterPopup ¶
type AlbumFilterPopup struct { widget.BaseWidget OnChanged func() // contains filtered or unexported fields }
func NewAlbumFilterPopup ¶
func NewAlbumFilterPopup(filter *AlbumFilterButton) *AlbumFilterPopup
func (*AlbumFilterPopup) CreateRenderer ¶
func (a *AlbumFilterPopup) CreateRenderer() fyne.WidgetRenderer
func (*AlbumFilterPopup) Refresh ¶
func (a *AlbumFilterPopup) Refresh()
func (*AlbumFilterPopup) Tapped ¶
func (a *AlbumFilterPopup) Tapped(_ *fyne.PointEvent)
type Aspectable ¶ added in v0.10.0
type Aspectable interface {
fyne.CanvasObject
Aspect() float32
}
type AuxControls ¶
type AuxControls struct { widget.BaseWidget VolumeControl *VolumeControl // contains filtered or unexported fields }
The "aux" controls for playback, positioned to the right of the BottomPanel. Currently only volume control.
func NewAuxControls ¶
func NewAuxControls(initialVolume int) *AuxControls
func (*AuxControls) CreateRenderer ¶
func (a *AuxControls) CreateRenderer() fyne.WidgetRenderer
func (*AuxControls) OnChangeLoopMode ¶ added in v0.4.0
func (a *AuxControls) OnChangeLoopMode(f func())
func (*AuxControls) SetLoopMode ¶ added in v0.4.0
func (a *AuxControls) SetLoopMode(mode backend.LoopMode)
type BatchingIterator ¶
type BatchingIterator[M any] struct { // contains filtered or unexported fields }
func NewBatchingIterator ¶
func NewBatchingIterator[M any](iter mediaprovider.MediaIterator[M]) BatchingIterator[M]
func (*BatchingIterator[M]) NextN ¶
func (b *BatchingIterator[M]) NextN(n int) []*M
type CaptionedImage ¶ added in v0.10.0
type CaptionedImage struct { widget.BaseWidget Content Aspectable Caption fyne.CanvasObject }
func NewCaptionedImage ¶ added in v0.10.0
func NewCaptionedImage(content Aspectable, caption fyne.CanvasObject) *CaptionedImage
func (*CaptionedImage) CreateRenderer ¶ added in v0.10.0
func (c *CaptionedImage) CreateRenderer() fyne.WidgetRenderer
type FavoriteButton ¶
func NewFavoriteButton ¶
func NewFavoriteButton(onTapped func()) *FavoriteButton
func (*FavoriteButton) Refresh ¶
func (f *FavoriteButton) Refresh()
func (*FavoriteButton) Tapped ¶
func (f *FavoriteButton) Tapped(e *fyne.PointEvent)
type FavoriteIcon ¶ added in v0.10.0
type FavoriteIcon struct { TappableIcon Favorite bool }
func NewFavoriteIcon ¶ added in v0.10.0
func NewFavoriteIcon() *FavoriteIcon
func (*FavoriteIcon) Refresh ¶ added in v0.10.0
func (f *FavoriteIcon) Refresh()
type FilterButton ¶ added in v0.10.0
type FilterButton[M, F any] interface { fyne.CanvasObject Filter() mediaprovider.MediaFilter[M, F] SetOnChanged(func()) }
type FocusList ¶ added in v0.9.1
FocusList extends List to be disabled so that the focus manager considers it unfocusable, and adds utilities for handling our own focus navigation on the rows directly (with FocusListRow
func NewFocusList ¶ added in v0.9.1
func NewFocusList(len func() int, create func() fyne.CanvasObject, update func(widget.GridWrapItemID, fyne.CanvasObject)) *FocusList
func (*FocusList) ClearItemForIDMap ¶ added in v0.9.1
func (g *FocusList) ClearItemForIDMap()
func (*FocusList) FocusNeighbor ¶ added in v0.9.1
func (g *FocusList) FocusNeighbor(curItem widget.ListItemID, up bool)
func (*FocusList) SetItemForID ¶ added in v0.9.1
func (g *FocusList) SetItemForID(id widget.ListItemID, item FocusListRow)
MUST be called *before* updating the ListItemID field to the new ItemID this row will be bound to.
type FocusListRow ¶ added in v0.9.1
type FocusListRow interface {
fyne.Focusable
ItemID() widget.ListItemID
}
type FocusListRowBase ¶ added in v0.9.1
type FocusListRowBase struct { widget.BaseWidget ListItemID widget.ListItemID Content fyne.CanvasObject Selected bool Focused bool OnTapped func() OnDoubleTapped func() OnFocusNeighbor func(up bool) //TODO: func(up, selecting bool) // contains filtered or unexported fields }
Base type used for all list rows in widgets such as Tracklist, etc.
func (*FocusListRowBase) CreateRenderer ¶ added in v0.9.1
func (l *FocusListRowBase) CreateRenderer() fyne.WidgetRenderer
func (*FocusListRowBase) EnsureUnfocused ¶ added in v0.9.1
func (l *FocusListRowBase) EnsureUnfocused()
func (*FocusListRowBase) FocusGained ¶ added in v0.9.1
func (l *FocusListRowBase) FocusGained()
func (*FocusListRowBase) FocusLost ¶ added in v0.9.1
func (l *FocusListRowBase) FocusLost()
func (*FocusListRowBase) ItemID ¶ added in v0.9.1
func (l *FocusListRowBase) ItemID() widget.ListItemID
func (*FocusListRowBase) Refresh ¶ added in v0.9.1
func (l *FocusListRowBase) Refresh()
func (*FocusListRowBase) Tapped ¶ added in v0.9.1
func (l *FocusListRowBase) Tapped(*fyne.PointEvent)
We implement our own double tapping so that the Tapped behavior can be triggered instantly.
func (*FocusListRowBase) TypedKey ¶ added in v0.9.1
func (l *FocusListRowBase) TypedKey(e *fyne.KeyEvent)
func (*FocusListRowBase) TypedRune ¶ added in v0.9.1
func (l *FocusListRowBase) TypedRune(r rune)
type GenreFilterSubsection ¶
type GenreFilterSubsection struct { widget.BaseWidget // contains filtered or unexported fields }
func NewGenreFilterSubsection ¶
func NewGenreFilterSubsection(onChanged func([]string), initialSelectedGenres []string) *GenreFilterSubsection
func (*GenreFilterSubsection) CreateRenderer ¶
func (g *GenreFilterSubsection) CreateRenderer() fyne.WidgetRenderer
func (*GenreFilterSubsection) MinSize ¶
func (g *GenreFilterSubsection) MinSize() fyne.Size
func (*GenreFilterSubsection) SetGenreList ¶
func (g *GenreFilterSubsection) SetGenreList(genres []string)
type GridView ¶
type GridView struct { widget.BaseWidget GridViewState // contains filtered or unexported fields }
func NewFixedGridView ¶
func NewFixedGridView(items []GridViewItemModel, fetch util.ImageFetcher, placeholder fyne.Resource) *GridView
func NewGridView ¶
func NewGridView(iter GridViewIterator, fetch util.ImageFetcher, placeholder fyne.Resource) *GridView
func NewGridViewFromState ¶
func NewGridViewFromState(state *GridViewState) *GridView
func (*GridView) CreateRenderer ¶
func (g *GridView) CreateRenderer() fyne.WidgetRenderer
func (*GridView) GetScrollOffset ¶
func (*GridView) Reset ¶
func (g *GridView) Reset(iter GridViewIterator)
func (*GridView) ResetFixed ¶
func (g *GridView) ResetFixed(items []GridViewItemModel)
func (*GridView) ResetFromState ¶ added in v0.5.0
func (g *GridView) ResetFromState(state *GridViewState)
func (*GridView) SaveToState ¶
func (g *GridView) SaveToState() *GridViewState
func (*GridView) ScrollToOffset ¶
type GridViewItem ¶
type GridViewItem struct { widget.BaseWidget // updated by GridView Cover *coverImage ImgLoader util.ThumbnailLoader ItemIndex int OnPlay func() OnShowContextMenu func(fyne.Position) OnShowItemPage func() OnShowSecondaryPage func(string) // Invoked with arg 0-3 when left, right, up, or down neighbor should be focused, respectively OnFocusNeighbor func(int) // contains filtered or unexported fields }
func NewGridViewItem ¶
func NewGridViewItem(placeholderResource fyne.Resource) *GridViewItem
func (*GridViewItem) CreateRenderer ¶
func (g *GridViewItem) CreateRenderer() fyne.WidgetRenderer
func (*GridViewItem) FocusGained ¶ added in v0.9.1
func (g *GridViewItem) FocusGained()
func (*GridViewItem) FocusLost ¶ added in v0.9.1
func (g *GridViewItem) FocusLost()
func (*GridViewItem) ItemID ¶
func (g *GridViewItem) ItemID() string
func (*GridViewItem) MouseIn ¶ added in v0.7.0
func (g *GridViewItem) MouseIn(e *desktop.MouseEvent)
func (*GridViewItem) MouseMoved ¶ added in v0.7.0
func (g *GridViewItem) MouseMoved(e *desktop.MouseEvent)
func (*GridViewItem) MouseOut ¶ added in v0.7.0
func (g *GridViewItem) MouseOut()
func (*GridViewItem) NeedsUpdate ¶ added in v0.5.2
func (g *GridViewItem) NeedsUpdate(model GridViewItemModel) bool
func (*GridViewItem) Refresh ¶ added in v0.5.0
func (g *GridViewItem) Refresh()
func (*GridViewItem) Tapped ¶ added in v0.9.1
func (g *GridViewItem) Tapped(*fyne.PointEvent)
func (*GridViewItem) TypedKey ¶ added in v0.9.1
func (g *GridViewItem) TypedKey(e *fyne.KeyEvent)
func (*GridViewItem) TypedRune ¶ added in v0.9.1
func (g *GridViewItem) TypedRune(rune)
func (*GridViewItem) Update ¶
func (g *GridViewItem) Update(model GridViewItemModel)
type GridViewItemModel ¶
type GridViewIterator ¶
type GridViewIterator interface {
NextN(int) []GridViewItemModel
}
func NewGridViewAlbumIterator ¶
func NewGridViewAlbumIterator(iter mediaprovider.AlbumIterator) GridViewIterator
func NewGridViewArtistIterator ¶ added in v0.10.0
func NewGridViewArtistIterator(iter mediaprovider.ArtistIterator) GridViewIterator
type GridViewState ¶
type GridViewState struct { Placeholder fyne.Resource DisableSharing bool OnPlay func(id string, shuffle bool) OnPlayNext func(id string) OnAddToQueue func(id string) OnAddToPlaylist func(id string) OnDownload func(id string) OnShowItemPage func(id string) OnShowSecondaryPage func(id string) // contains filtered or unexported fields }
type ImagePlaceholder ¶
type ImagePlaceholder struct { ScaleMode canvas.ImageScale CenterIcon fyne.Resource widget.BaseWidget OnTapped func(*fyne.PointEvent) OnTappedSecondary func(*fyne.PointEvent) // contains filtered or unexported fields }
A widget that can display an image or else a placeholder with a rectangular border frame and an icon positioned in the center of the frame.
func NewImagePlaceholder ¶
func NewImagePlaceholder(centerIcon fyne.Resource, minSize float32) *ImagePlaceholder
func (*ImagePlaceholder) Aspect ¶ added in v0.10.0
func (i *ImagePlaceholder) Aspect() float32
func (*ImagePlaceholder) CreateRenderer ¶
func (i *ImagePlaceholder) CreateRenderer() fyne.WidgetRenderer
func (*ImagePlaceholder) HaveImage ¶
func (i *ImagePlaceholder) HaveImage() bool
func (*ImagePlaceholder) Image ¶
func (i *ImagePlaceholder) Image() image.Image
func (*ImagePlaceholder) MinSize ¶
func (i *ImagePlaceholder) MinSize() fyne.Size
func (*ImagePlaceholder) Refresh ¶
func (i *ImagePlaceholder) Refresh()
type LargeNowPlayingCard ¶ added in v0.10.0
type LargeNowPlayingCard struct { CaptionedImage DisableRating bool OnArtistNameTapped func(artistID string) OnAlbumNameTapped func() OnSetRating func(rating int) OnSetFavorite func(favorite bool) // contains filtered or unexported fields }
Shows the current album art, track name, artist name, and album name for the currently playing track. Placed into the left side of the BottomPanel.
func NewLargeNowPlayingCard ¶ added in v0.10.0
func NewLargeNowPlayingCard() *LargeNowPlayingCard
func (*LargeNowPlayingCard) SetCoverImage ¶ added in v0.10.0
func (n *LargeNowPlayingCard) SetCoverImage(im image.Image)
func (*LargeNowPlayingCard) SetDisplayedFavorite ¶ added in v0.10.0
func (n *LargeNowPlayingCard) SetDisplayedFavorite(favorite bool)
func (*LargeNowPlayingCard) SetDisplayedRating ¶ added in v0.10.0
func (n *LargeNowPlayingCard) SetDisplayedRating(rating int)
func (*LargeNowPlayingCard) Update ¶ added in v0.10.0
func (n *LargeNowPlayingCard) Update(track *mediaprovider.Track)
type ListColumn ¶
type ListHeader ¶
type ListHeader struct { widget.BaseWidget DisableSorting bool OnColumnSortChanged func(ListHeaderSort) OnColumnVisibilityChanged func(int, bool) OnColumnVisibilityMenuShown func(*widget.PopUp) // contains filtered or unexported fields }
func NewListHeader ¶
func NewListHeader(cols []ListColumn, layout *layouts.ColumnsLayout) *ListHeader
func (*ListHeader) CreateRenderer ¶
func (l *ListHeader) CreateRenderer() fyne.WidgetRenderer
func (*ListHeader) SetColumnVisible ¶
func (l *ListHeader) SetColumnVisible(colNum int, visible bool)
func (*ListHeader) SetSorting ¶
func (l *ListHeader) SetSorting(sort ListHeaderSort)
Sets the sorting for the ListHeader. Will invoke OnColumnSortChanged if set.
func (*ListHeader) TappedSecondary ¶
func (l *ListHeader) TappedSecondary(e *fyne.PointEvent)
type ListHeaderSort ¶
type LoadingDots ¶ added in v0.9.1
type LoadingDots struct { widget.BaseWidget // contains filtered or unexported fields }
func NewLoadingDots ¶ added in v0.9.1
func NewLoadingDots() *LoadingDots
func (*LoadingDots) CreateRenderer ¶ added in v0.9.1
func (l *LoadingDots) CreateRenderer() fyne.WidgetRenderer
func (*LoadingDots) Start ¶ added in v0.9.1
func (l *LoadingDots) Start()
func (*LoadingDots) Stop ¶ added in v0.9.1
func (l *LoadingDots) Stop()
type LyricsViewer ¶ added in v0.10.0
type LyricsViewer struct { widget.BaseWidget // contains filtered or unexported fields }
func NewLyricsViewer ¶ added in v0.10.0
func NewLyricsViewer() *LyricsViewer
func (*LyricsViewer) CreateRenderer ¶ added in v0.10.0
func (l *LyricsViewer) CreateRenderer() fyne.WidgetRenderer
func (*LyricsViewer) SetLyrics ¶ added in v0.10.0
func (l *LyricsViewer) SetLyrics(lyrics *mediaprovider.Lyrics)
type MaxRowsLabel ¶ added in v0.8.1
func NewMaxRowsLabel ¶ added in v0.8.1
func NewMaxRowsLabel(maxRows int, text string) *MaxRowsLabel
func (*MaxRowsLabel) MinSize ¶ added in v0.8.1
func (m *MaxRowsLabel) MinSize() fyne.Size
type MultiHyperlink ¶ added in v0.6.0
type MultiHyperlink struct { widget.BaseWidget Segments []MultiHyperlinkSegment OnTapped func(string) // contains filtered or unexported fields }
func NewMultiHyperlink ¶ added in v0.6.0
func NewMultiHyperlink() *MultiHyperlink
func (*MultiHyperlink) BuildSegments ¶ added in v0.6.0
func (m *MultiHyperlink) BuildSegments(texts, links []string)
func (*MultiHyperlink) CreateRenderer ¶ added in v0.6.0
func (c *MultiHyperlink) CreateRenderer() fyne.WidgetRenderer
func (*MultiHyperlink) MinSize ¶ added in v0.6.0
func (c *MultiHyperlink) MinSize() fyne.Size
func (*MultiHyperlink) Refresh ¶ added in v0.6.0
func (c *MultiHyperlink) Refresh()
func (*MultiHyperlink) Resize ¶ added in v0.6.0
func (c *MultiHyperlink) Resize(size fyne.Size)
type MultiHyperlinkSegment ¶ added in v0.6.0
type NowPlayingCard ¶
type NowPlayingCard struct { widget.BaseWidget DisableRating bool OnTrackNameTapped func() OnArtistNameTapped func(artistID string) OnAlbumNameTapped func() OnCoverTapped func() OnSetRating func(rating int) OnSetFavorite func(favorite bool) OnAddToPlaylist func() // contains filtered or unexported fields }
Shows the current album art, track name, artist name, and album name for the currently playing track. Placed into the left side of the BottomPanel.
func NewNowPlayingCard ¶
func NewNowPlayingCard() *NowPlayingCard
func (*NowPlayingCard) CreateRenderer ¶
func (n *NowPlayingCard) CreateRenderer() fyne.WidgetRenderer
func (*NowPlayingCard) MinSize ¶ added in v0.7.0
func (n *NowPlayingCard) MinSize() fyne.Size
type PlayQueueList ¶ added in v0.10.0
type PlayQueueList struct { widget.BaseWidget DisableRating bool DisableSharing bool // user action callbacks OnAddToPlaylist func(trackIDs []string) OnSetFavorite func(trackIDs []string, fav bool) OnSetRating func(trackIDs []string, rating int) OnRemoveFromQueue func(trackIDs []string) OnDownload func(tracks []*mediaprovider.Track, downloadName string) OnShowArtistPage func(artistID string) OnPlayTrackAt func(idx int) OnReorderTracks func(trackIDs []string, op sharedutil.TrackReorderOp) // contains filtered or unexported fields }
func NewPlayQueueList ¶ added in v0.10.0
func NewPlayQueueList(im *backend.ImageManager) *PlayQueueList
func (*PlayQueueList) CreateRenderer ¶ added in v0.10.0
func (p *PlayQueueList) CreateRenderer() fyne.WidgetRenderer
func (*PlayQueueList) SelectAll ¶ added in v0.10.0
func (p *PlayQueueList) SelectAll()
func (*PlayQueueList) SetNowPlaying ¶ added in v0.10.0
func (p *PlayQueueList) SetNowPlaying(trackID string)
Sets the currently playing track ID and updates the list rendering
func (*PlayQueueList) SetTracks ¶ added in v0.10.0
func (p *PlayQueueList) SetTracks(trs []*mediaprovider.Track)
func (*PlayQueueList) UnselectAll ¶ added in v0.10.0
func (p *PlayQueueList) UnselectAll()
type PlayQueueListRow ¶ added in v0.10.0
type PlayQueueListRow struct { FocusListRowBase OnTappedSecondary func(e *fyne.PointEvent, trackIdx int) // contains filtered or unexported fields }
func NewPlayQueueListRow ¶ added in v0.10.0
func NewPlayQueueListRow(playQueueList *PlayQueueList, im *backend.ImageManager, playingIcon fyne.CanvasObject) *PlayQueueListRow
func (*PlayQueueListRow) TappedSecondary ¶ added in v0.10.0
func (p *PlayQueueListRow) TappedSecondary(e *fyne.PointEvent)
func (*PlayQueueListRow) Update ¶ added in v0.10.0
func (p *PlayQueueListRow) Update(tm *util.TrackListModel, rowNum int)
type PlayerControls ¶
type PlayerControls struct { widget.BaseWidget // contains filtered or unexported fields }
func NewPlayerControls ¶
func NewPlayerControls() *PlayerControls
NewPlayerControls sets up the seek bar, and transport buttons.
func (*PlayerControls) CreateRenderer ¶
func (p *PlayerControls) CreateRenderer() fyne.WidgetRenderer
func (*PlayerControls) OnPlayPause ¶
func (pc *PlayerControls) OnPlayPause(f func())
func (*PlayerControls) OnSeek ¶
func (pc *PlayerControls) OnSeek(f func(float64))
func (*PlayerControls) OnSeekNext ¶
func (pc *PlayerControls) OnSeekNext(f func())
func (*PlayerControls) OnSeekPrevious ¶
func (pc *PlayerControls) OnSeekPrevious(f func())
func (*PlayerControls) SetPlaying ¶
func (pc *PlayerControls) SetPlaying(playing bool)
func (*PlayerControls) UpdatePlayTime ¶
func (pc *PlayerControls) UpdatePlayTime(curTime, totalTime float64)
type SearchEntry ¶
SearchEntry is a search entry widget that will issue a search command (aka call OnSearched) when a short span of time has elapsed since the user typed into the widget.
func NewSearchEntry ¶
func NewSearchEntry() *SearchEntry
func (*SearchEntry) Init ¶ added in v0.7.0
func (sf *SearchEntry) Init()
For use only by extending widgets
func (*SearchEntry) MinSize ¶
func (s *SearchEntry) MinSize() fyne.Size
func (*SearchEntry) Refresh ¶
func (s *SearchEntry) Refresh()
func (*SearchEntry) TypedKey ¶ added in v0.7.0
func (s *SearchEntry) TypedKey(e *fyne.KeyEvent)
type StarRating ¶
type StarRating struct { widget.BaseWidget IsDisabled bool Rating int StarSize float32 OnRatingChanged func(int) // contains filtered or unexported fields }
func NewStarRating ¶
func NewStarRating() *StarRating
func (*StarRating) CreateRenderer ¶
func (s *StarRating) CreateRenderer() fyne.WidgetRenderer
func (*StarRating) Disable ¶ added in v0.8.0
func (s *StarRating) Disable()
func (*StarRating) Disabled ¶ added in v0.8.0
func (s *StarRating) Disabled() bool
func (*StarRating) Enable ¶ added in v0.8.0
func (s *StarRating) Enable()
func (*StarRating) MinSize ¶
func (s *StarRating) MinSize() fyne.Size
func (*StarRating) MouseIn ¶
func (s *StarRating) MouseIn(e *desktop.MouseEvent)
func (*StarRating) MouseMoved ¶
func (s *StarRating) MouseMoved(e *desktop.MouseEvent)
func (*StarRating) MouseOut ¶
func (s *StarRating) MouseOut()
func (*StarRating) Refresh ¶
func (s *StarRating) Refresh()
func (*StarRating) Tapped ¶
func (s *StarRating) Tapped(*fyne.PointEvent)
type TappableIcon ¶
TappableIcon is a tappable wrapper of widget.Icon
func NewTappableIcon ¶ added in v0.4.0
func NewTappableIcon(res fyne.Resource) *TappableIcon
func (*TappableIcon) Cursor ¶
func (t *TappableIcon) Cursor() desktop.Cursor
func (*TappableIcon) MouseIn ¶
func (t *TappableIcon) MouseIn(*desktop.MouseEvent)
func (*TappableIcon) MouseMoved ¶
func (t *TappableIcon) MouseMoved(*desktop.MouseEvent)
func (*TappableIcon) MouseOut ¶
func (t *TappableIcon) MouseOut()
func (*TappableIcon) Tapped ¶
func (t *TappableIcon) Tapped(_ *fyne.PointEvent)
func (*TappableIcon) TappedSecondary ¶
func (t *TappableIcon) TappedSecondary(_ *fyne.PointEvent)
type TappableImage ¶
type TappableImage struct { widget.BaseWidget canvas.Image DisableTapping bool OnTapped func(*fyne.PointEvent) OnTappedSecondary func(*fyne.PointEvent) }
TappableImage is a tappable wrapper of canvas.Image
func NewTappableImage ¶
func NewTappableImage(onTapped func(*fyne.PointEvent)) *TappableImage
func (*TappableImage) CreateRenderer ¶
func (t *TappableImage) CreateRenderer() fyne.WidgetRenderer
func (*TappableImage) Cursor ¶
func (t *TappableImage) Cursor() desktop.Cursor
func (*TappableImage) Hide ¶
func (t *TappableImage) Hide()
func (*TappableImage) MinSize ¶ added in v0.5.0
func (t *TappableImage) MinSize() fyne.Size
func (*TappableImage) Move ¶
func (t *TappableImage) Move(pos fyne.Position)
func (*TappableImage) Refresh ¶
func (t *TappableImage) Refresh()
func (*TappableImage) Resize ¶
func (t *TappableImage) Resize(size fyne.Size)
func (*TappableImage) Show ¶
func (t *TappableImage) Show()
func (*TappableImage) Tapped ¶
func (t *TappableImage) Tapped(e *fyne.PointEvent)
func (*TappableImage) TappedSecondary ¶
func (t *TappableImage) TappedSecondary(e *fyne.PointEvent)
type TextRestrictedEntry ¶
A widget.Entry that allows restrictions on the text that can be typed into it, based on a charAllowed callback.
func NewTextRestrictedEntry ¶
func NewTextRestrictedEntry(charAllowed CharAllowedFunc) *TextRestrictedEntry
func (*TextRestrictedEntry) MinSize ¶
func (e *TextRestrictedEntry) MinSize() fyne.Size
func (*TextRestrictedEntry) SetMinCharWidth ¶
func (e *TextRestrictedEntry) SetMinCharWidth(numChars int)
func (*TextRestrictedEntry) TypedRune ¶
func (e *TextRestrictedEntry) TypedRune(r rune)
func (*TextRestrictedEntry) TypedShortcut ¶
func (e *TextRestrictedEntry) TypedShortcut(s fyne.Shortcut)
type ToggleButtonGroup ¶
type ToggleButtonGroup struct { widget.BaseWidget // contains filtered or unexported fields }
Lays out multiple buttons horizontally with no padding, and uses button.Importance to highlight exactly one which is "active". Similar to a segmented control in other UI toolkits.
func NewToggleButtonGroup ¶
func NewToggleButtonGroup(activatedBtnIdx int, buttons ...*widget.Button) *ToggleButtonGroup
func (*ToggleButtonGroup) ActivatedButtonIndex ¶
func (t *ToggleButtonGroup) ActivatedButtonIndex() int
func (*ToggleButtonGroup) CreateRenderer ¶
func (t *ToggleButtonGroup) CreateRenderer() fyne.WidgetRenderer
func (*ToggleButtonGroup) SetActivatedButton ¶
func (t *ToggleButtonGroup) SetActivatedButton(idx int)
type ToggleText ¶
type ToggleText struct { widget.BaseWidget OnChanged func(int) // contains filtered or unexported fields }
Similar to widgets.ToggleButtonGroup, but using text. The "active" label is bolded non-interactive text, while all the others are hyperlinks.
func NewToggleText ¶
func NewToggleText(activeLblIdx int, labels []string) *ToggleText
func (*ToggleText) CreateRenderer ¶
func (t *ToggleText) CreateRenderer() fyne.WidgetRenderer
func (*ToggleText) SetActivatedLabel ¶
func (t *ToggleText) SetActivatedLabel(idx int)
type TrackPosSlider ¶
type TrackPosSlider struct { widget.Slider // to avoid "data echoes" when slider value is updated as // playback position changes IgnoreNextChangeEnded bool // contains filtered or unexported fields }
TrackPosSlider is a custom slider that exposes an additional IsDragging() API as well as some other customizations
func NewTrackPosSlider ¶
func NewTrackPosSlider() *TrackPosSlider
func (*TrackPosSlider) DragEnd ¶
func (t *TrackPosSlider) DragEnd()
func (*TrackPosSlider) Dragged ¶
func (t *TrackPosSlider) Dragged(e *fyne.DragEvent)
func (*TrackPosSlider) IsDragging ¶
func (t *TrackPosSlider) IsDragging() bool
func (*TrackPosSlider) SetValue ¶ added in v0.7.0
func (t *TrackPosSlider) SetValue(value float64)
func (*TrackPosSlider) Tapped ¶
func (t *TrackPosSlider) Tapped(e *fyne.PointEvent)
func (*TrackPosSlider) TypedKey ¶ added in v0.7.0
func (t *TrackPosSlider) TypedKey(e *fyne.KeyEvent)
override to increase the distance moved by keyboard control
type TrackRow ¶
type TrackRow struct { FocusListRowBase OnTappedSecondary func(e *fyne.PointEvent, trackIdx int) // contains filtered or unexported fields }
func NewTrackRow ¶
func (*TrackRow) TappedSecondary ¶
func (t *TrackRow) TappedSecondary(e *fyne.PointEvent)
type Tracklist ¶
type Tracklist struct { widget.BaseWidget Options TracklistOptions // user action callbacks OnPlayTrackAt func(int) OnPlaySelection func(tracks []*mediaprovider.Track, shuffle bool) OnPlaySelectionNext func(trackIDs []*mediaprovider.Track) OnAddToQueue func(trackIDs []*mediaprovider.Track) OnAddToPlaylist func(trackIDs []string) OnSetFavorite func(trackIDs []string, fav bool) OnSetRating func(trackIDs []string, rating int) OnDownload func(tracks []*mediaprovider.Track, downloadName string) OnPlaySongRadio func(track *mediaprovider.Track) OnShowArtistPage func(artistID string) OnShowAlbumPage func(albumID string) OnColumnVisibilityMenuShown func(*widget.PopUp) OnVisibleColumnsChanged func([]string) OnTrackShown func(tracknum int) // contains filtered or unexported fields }
func NewTracklist ¶
func NewTracklist(tracks []*mediaprovider.Track) *Tracklist
func (*Tracklist) AppendTracks ¶
func (t *Tracklist) AppendTracks(trs []*mediaprovider.Track)
Append more tracks to the tracklist. Does not issue Refresh call. Thread-safe.
func (*Tracklist) Clear ¶
func (t *Tracklist) Clear()
Remove all tracks from the tracklist. Does not issue Refresh call. Thread-safe.
func (*Tracklist) CreateRenderer ¶
func (t *Tracklist) CreateRenderer() fyne.WidgetRenderer
func (*Tracklist) GetTracks ¶
func (t *Tracklist) GetTracks() []*mediaprovider.Track
Returns the tracks in the tracklist in the current display order.
func (*Tracklist) IncrementPlayCount ¶
Increments the play count of the given track and updates the list rendering
func (*Tracklist) SelectAndScrollToTrack ¶
func (*Tracklist) SelectedTrackIDs ¶
func (*Tracklist) SetNowPlaying ¶
Sets the currently playing track ID and updates the list rendering
func (*Tracklist) SetSorting ¶
func (t *Tracklist) SetSorting(sorting TracklistSort)
func (*Tracklist) SetTracks ¶
func (t *Tracklist) SetTracks(trs []*mediaprovider.Track)
Sets the tracks in the tracklist. Thread-safe.
func (*Tracklist) SetVisibleColumns ¶
func (*Tracklist) Sorting ¶
func (t *Tracklist) Sorting() TracklistSort
func (*Tracklist) Tapped ¶ added in v0.3.1
func (t *Tracklist) Tapped(*fyne.PointEvent)
do nothing Tapped handler so that tapping the separator between rows doesn't fall through to the page (which calls UnselectAll on tracklist)
func (*Tracklist) TrackAt ¶
func (t *Tracklist) TrackAt(idx int) *mediaprovider.Track
Gets the track at the given index. Thread-safe.
func (*Tracklist) UnselectAll ¶
func (t *Tracklist) UnselectAll()
func (*Tracklist) VisibleColumns ¶
type TracklistLoader ¶
type TracklistLoader struct {
// contains filtered or unexported fields
}
Component that manages lazily loading more tracks into a Tracklist as the user scrolls near the bottom.
func NewTracklistLoader ¶
func NewTracklistLoader(tracklist *Tracklist, iter mediaprovider.TrackIterator) TracklistLoader
func (*TracklistLoader) Dispose ¶ added in v0.5.0
func (t *TracklistLoader) Dispose()
Cancels all asynchronous loads so that they will no longer modify the tracklist.
type TracklistOptions ¶ added in v0.5.0
type TracklistOptions struct { // AutoNumber sets whether to auto-number the tracks 1..N in display order, // or to use the number from the track's metadata AutoNumber bool // ShowDiscNumber sets whether to display the disc number as part of the '#' column, // (with format %d.%02d). Only applies if AutoNumber==false. ShowDiscNumber bool // AuxiliaryMenuItems sets additional menu items appended to the context menu // must be set before the context menu is shown for the first time AuxiliaryMenuItems []*fyne.MenuItem // DisablePlaybackMenu sets whether to disable playback options in // the tracklist context menu. DisablePlaybackMenu bool // Disables sorting the tracklist by clicking individual columns. DisableSorting bool // Disables the five star rating widget. DisableRating bool // Disables the sharing option. DisableSharing bool }
type TracklistSort ¶
type VolumeControl ¶
type VolumeControl struct { widget.BaseWidget OnSetVolume func(int) // contains filtered or unexported fields }
func NewVolumeControl ¶
func NewVolumeControl(initialVol int) *VolumeControl
func (*VolumeControl) CreateRenderer ¶
func (v *VolumeControl) CreateRenderer() fyne.WidgetRenderer
func (*VolumeControl) SetVolume ¶
func (v *VolumeControl) SetVolume(vol int)
Sets the volume that is displayed in the slider. Does not invoke OnSetVolume callback.
Source Files ¶
- albumfilterbutton.go
- auxcontrols.go
- captionedimage.go
- favoritebutton.go
- favoriteicon.go
- filterbutton.go
- focuslist.go
- gridview.go
- gridviewitem.go
- imageplaceholder.go
- largenowplayingcard.go
- listheader.go
- loadingdots.go
- lyricsviewer.go
- maxrowslabel.go
- multihyperlink.go
- nowplayingcard.go
- playercontrols.go
- playqueuelist.go
- searchentry.go
- starrating.go
- tappablewrappers.go
- textrestrictedentry.go
- togglebuttongroup.go
- toggletext.go
- tracklist.go
- tracklistloader.go