245 lines
5.2 KiB
Go
245 lines
5.2 KiB
Go
|
// auto-generated
|
||
|
// **** THIS FILE IS AUTO-GENERATED, PLEASE DO NOT EDIT IT **** //
|
||
|
|
||
|
package binding
|
||
|
|
||
|
import (
|
||
|
"sync/atomic"
|
||
|
|
||
|
"fyne.io/fyne/v2"
|
||
|
)
|
||
|
|
||
|
const keyTypeMismatchError = "A previous preference binding exists with different type for key: "
|
||
|
|
||
|
type prefBoundBool struct {
|
||
|
base
|
||
|
key string
|
||
|
p fyne.Preferences
|
||
|
cache atomic.Value // bool
|
||
|
}
|
||
|
|
||
|
// BindPreferenceBool returns a bindable bool value that is managed by the application preferences.
|
||
|
// Changes to this value will be saved to application storage and when the app starts the previous values will be read.
|
||
|
//
|
||
|
// Since: 2.0
|
||
|
func BindPreferenceBool(key string, p fyne.Preferences) Bool {
|
||
|
binds := prefBinds.getBindings(p)
|
||
|
if binds != nil {
|
||
|
if listen := binds.getItem(key); listen != nil {
|
||
|
if l, ok := listen.(Bool); ok {
|
||
|
return l
|
||
|
}
|
||
|
fyne.LogError(keyTypeMismatchError+key, nil)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
listen := &prefBoundBool{key: key, p: p}
|
||
|
binds = prefBinds.ensurePreferencesAttached(p)
|
||
|
binds.setItem(key, listen)
|
||
|
return listen
|
||
|
}
|
||
|
|
||
|
func (b *prefBoundBool) Get() (bool, error) {
|
||
|
cache := b.p.Bool(b.key)
|
||
|
b.cache.Store(cache)
|
||
|
return cache, nil
|
||
|
}
|
||
|
|
||
|
func (b *prefBoundBool) Set(v bool) error {
|
||
|
b.p.SetBool(b.key, v)
|
||
|
|
||
|
b.lock.RLock()
|
||
|
defer b.lock.RUnlock()
|
||
|
b.trigger()
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func (b *prefBoundBool) checkForChange() {
|
||
|
val := b.cache.Load()
|
||
|
if val != nil {
|
||
|
cache := val.(bool)
|
||
|
if b.p.Bool(b.key) == cache {
|
||
|
return
|
||
|
}
|
||
|
}
|
||
|
b.trigger()
|
||
|
}
|
||
|
|
||
|
func (b *prefBoundBool) replaceProvider(p fyne.Preferences) {
|
||
|
b.p = p
|
||
|
}
|
||
|
|
||
|
type prefBoundFloat struct {
|
||
|
base
|
||
|
key string
|
||
|
p fyne.Preferences
|
||
|
cache atomic.Value // float64
|
||
|
}
|
||
|
|
||
|
// BindPreferenceFloat returns a bindable float64 value that is managed by the application preferences.
|
||
|
// Changes to this value will be saved to application storage and when the app starts the previous values will be read.
|
||
|
//
|
||
|
// Since: 2.0
|
||
|
func BindPreferenceFloat(key string, p fyne.Preferences) Float {
|
||
|
binds := prefBinds.getBindings(p)
|
||
|
if binds != nil {
|
||
|
if listen := binds.getItem(key); listen != nil {
|
||
|
if l, ok := listen.(Float); ok {
|
||
|
return l
|
||
|
}
|
||
|
fyne.LogError(keyTypeMismatchError+key, nil)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
listen := &prefBoundFloat{key: key, p: p}
|
||
|
binds = prefBinds.ensurePreferencesAttached(p)
|
||
|
binds.setItem(key, listen)
|
||
|
return listen
|
||
|
}
|
||
|
|
||
|
func (b *prefBoundFloat) Get() (float64, error) {
|
||
|
cache := b.p.Float(b.key)
|
||
|
b.cache.Store(cache)
|
||
|
return cache, nil
|
||
|
}
|
||
|
|
||
|
func (b *prefBoundFloat) Set(v float64) error {
|
||
|
b.p.SetFloat(b.key, v)
|
||
|
|
||
|
b.lock.RLock()
|
||
|
defer b.lock.RUnlock()
|
||
|
b.trigger()
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func (b *prefBoundFloat) checkForChange() {
|
||
|
val := b.cache.Load()
|
||
|
if val != nil {
|
||
|
cache := val.(float64)
|
||
|
if b.p.Float(b.key) == cache {
|
||
|
return
|
||
|
}
|
||
|
}
|
||
|
b.trigger()
|
||
|
}
|
||
|
|
||
|
func (b *prefBoundFloat) replaceProvider(p fyne.Preferences) {
|
||
|
b.p = p
|
||
|
}
|
||
|
|
||
|
type prefBoundInt struct {
|
||
|
base
|
||
|
key string
|
||
|
p fyne.Preferences
|
||
|
cache atomic.Value // int
|
||
|
}
|
||
|
|
||
|
// BindPreferenceInt returns a bindable int value that is managed by the application preferences.
|
||
|
// Changes to this value will be saved to application storage and when the app starts the previous values will be read.
|
||
|
//
|
||
|
// Since: 2.0
|
||
|
func BindPreferenceInt(key string, p fyne.Preferences) Int {
|
||
|
binds := prefBinds.getBindings(p)
|
||
|
if binds != nil {
|
||
|
if listen := binds.getItem(key); listen != nil {
|
||
|
if l, ok := listen.(Int); ok {
|
||
|
return l
|
||
|
}
|
||
|
fyne.LogError(keyTypeMismatchError+key, nil)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
listen := &prefBoundInt{key: key, p: p}
|
||
|
binds = prefBinds.ensurePreferencesAttached(p)
|
||
|
binds.setItem(key, listen)
|
||
|
return listen
|
||
|
}
|
||
|
|
||
|
func (b *prefBoundInt) Get() (int, error) {
|
||
|
cache := b.p.Int(b.key)
|
||
|
b.cache.Store(cache)
|
||
|
return cache, nil
|
||
|
}
|
||
|
|
||
|
func (b *prefBoundInt) Set(v int) error {
|
||
|
b.p.SetInt(b.key, v)
|
||
|
|
||
|
b.lock.RLock()
|
||
|
defer b.lock.RUnlock()
|
||
|
b.trigger()
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func (b *prefBoundInt) checkForChange() {
|
||
|
val := b.cache.Load()
|
||
|
if val != nil {
|
||
|
cache := val.(int)
|
||
|
if b.p.Int(b.key) == cache {
|
||
|
return
|
||
|
}
|
||
|
}
|
||
|
b.trigger()
|
||
|
}
|
||
|
|
||
|
func (b *prefBoundInt) replaceProvider(p fyne.Preferences) {
|
||
|
b.p = p
|
||
|
}
|
||
|
|
||
|
type prefBoundString struct {
|
||
|
base
|
||
|
key string
|
||
|
p fyne.Preferences
|
||
|
cache atomic.Value // string
|
||
|
}
|
||
|
|
||
|
// BindPreferenceString returns a bindable string value that is managed by the application preferences.
|
||
|
// Changes to this value will be saved to application storage and when the app starts the previous values will be read.
|
||
|
//
|
||
|
// Since: 2.0
|
||
|
func BindPreferenceString(key string, p fyne.Preferences) String {
|
||
|
binds := prefBinds.getBindings(p)
|
||
|
if binds != nil {
|
||
|
if listen := binds.getItem(key); listen != nil {
|
||
|
if l, ok := listen.(String); ok {
|
||
|
return l
|
||
|
}
|
||
|
fyne.LogError(keyTypeMismatchError+key, nil)
|
||
|
}
|
||
|
}
|
||
|
|
||
|
listen := &prefBoundString{key: key, p: p}
|
||
|
binds = prefBinds.ensurePreferencesAttached(p)
|
||
|
binds.setItem(key, listen)
|
||
|
return listen
|
||
|
}
|
||
|
|
||
|
func (b *prefBoundString) Get() (string, error) {
|
||
|
cache := b.p.String(b.key)
|
||
|
b.cache.Store(cache)
|
||
|
return cache, nil
|
||
|
}
|
||
|
|
||
|
func (b *prefBoundString) Set(v string) error {
|
||
|
b.p.SetString(b.key, v)
|
||
|
|
||
|
b.lock.RLock()
|
||
|
defer b.lock.RUnlock()
|
||
|
b.trigger()
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func (b *prefBoundString) checkForChange() {
|
||
|
val := b.cache.Load()
|
||
|
if val != nil {
|
||
|
cache := val.(string)
|
||
|
if b.p.String(b.key) == cache {
|
||
|
return
|
||
|
}
|
||
|
}
|
||
|
b.trigger()
|
||
|
}
|
||
|
|
||
|
func (b *prefBoundString) replaceProvider(p fyne.Preferences) {
|
||
|
b.p = p
|
||
|
}
|