Documentation
¶
Overview ¶
Package binding provides support for binding data to widgets. All APIs in the binding package are safe to invoke directly from any goroutine.
Index ¶
- Constants
- func CleanupPreferences(p bellui.Preferences)
- func UnbindPreference(key string, p bellui.Preferences)
- type Bool
- type BoolList
- type BoolTree
- type Bytes
- type BytesList
- type BytesTree
- type DataItem
- type DataList
- type DataListener
- type DataMap
- type DataTree
- type ExternalBool
- type ExternalBoolList
- type ExternalBoolTree
- type ExternalBytes
- type ExternalBytesList
- type ExternalBytesTree
- type ExternalFloat
- type ExternalFloatList
- type ExternalFloatTree
- type ExternalInt
- type ExternalIntList
- type ExternalIntTree
- type ExternalItem
- type ExternalList
- func BindBoolList(v *[]bool) ExternalList[bool]
- func BindBytesList(v *[][]byte) ExternalList[[]byte]
- func BindFloatList(v *[]float64) ExternalList[float64]
- func BindIntList(v *[]int) ExternalList[int]
- func BindList[T any](v *[]T, comparator func(T, T) bool) ExternalList[T]
- func BindRuneList(v *[]rune) ExternalList[rune]
- func BindStringList(v *[]string) ExternalList[string]
- func BindURIList(v *[]bellui.URI) ExternalList[bellui.URI]
- func BindUntypedList(v *[]any) ExternalList[any]
- type ExternalRune
- type ExternalRuneList
- type ExternalRuneTree
- type ExternalString
- type ExternalStringList
- type ExternalStringTree
- type ExternalTree
- func BindBoolTree(ids *map[string][]string, v *map[string]bool) ExternalTree[bool]
- func BindBytesTree(ids *map[string][]string, v *map[string][]byte) ExternalTree[[]byte]
- func BindFloatTree(ids *map[string][]string, v *map[string]float64) ExternalTree[float64]
- func BindIntTree(ids *map[string][]string, v *map[string]int) ExternalTree[int]
- func BindRuneTree(ids *map[string][]string, v *map[string]rune) ExternalTree[rune]
- func BindStringTree(ids *map[string][]string, v *map[string]string) ExternalTree[string]
- func BindTree[T any](ids *map[string][]string, v *map[string]T, comparator func(T, T) bool) ExternalTree[T]
- func BindURITree(ids *map[string][]string, v *map[string]bellui.URI) ExternalTree[bellui.URI]
- func BindUntypedTree(ids *map[string][]string, v *map[string]any) ExternalTree[any]
- type ExternalURI
- type ExternalURIList
- type ExternalURITree
- type ExternalUntyped
- type ExternalUntypedList
- type ExternalUntypedMap
- type ExternalUntypedTree
- type Float
- type FloatList
- type FloatTree
- type Int
- type IntList
- type IntTree
- type Item
- type List
- func NewBoolList() List[bool]
- func NewBytesList() List[[]byte]
- func NewFloatList() List[float64]
- func NewIntList() List[int]
- func NewList[T any](comparator func(T, T) bool) List[T]
- func NewRuneList() List[rune]
- func NewStringList() List[string]
- func NewURIList() List[bellui.URI]
- func NewUntypedList() List[any]
- type Rune
- type RuneList
- type RuneTree
- type String
- func BindPreferenceString(key string, p bellui.Preferences) String
- func BoolToString(v Bool) String
- func BoolToStringWithFormat(v Bool, format string) String
- func FloatToString(v Float) String
- func FloatToStringWithFormat(v Float, format string) String
- func IntToString(v Int) String
- func IntToStringWithFormat(v Int, format string) String
- func NewLocalizedPlural(key string, count Int, data ...any) String
- func NewLocalizedPluralWithKey(key, fallback string, count Int, data ...any) String
- func NewLocalizedString(key string, data ...any) String
- func NewLocalizedStringWithKey(key, fallback string, data ...any) String
- func NewSprintf(format string, b ...DataItem) String
- func NewString() String
- func StringToStringWithFormat(str String, format string) String
- func URIToString(v URI) String
- type StringList
- type StringTree
- type Struct
- type Tree
- func NewBoolTree() Tree[bool]
- func NewBytesTree() Tree[[]byte]
- func NewFloatTree() Tree[float64]
- func NewIntTree() Tree[int]
- func NewRuneTree() Tree[rune]
- func NewStringTree() Tree[string]
- func NewTree[T any](comparator func(T, T) bool) Tree[T]
- func NewURITree() Tree[bellui.URI]
- func NewUntypedTree() Tree[any]
- type URI
- type URIList
- type URITree
- type Untyped
- type UntypedList
- type UntypedMap
- type UntypedTree
Constants ¶
const DataTreeRootID = ""
DataTreeRootID const is the value used as ID for the root of any tree binding.
Variables ¶
This section is empty.
Functions ¶
func CleanupPreferences ¶
func CleanupPreferences(p bellui.Preferences)
CleanupPreferences removes all bindings associated with the given preferences instance. This should be called when a preferences instance is no longer needed (e.g. when a window is closed) to allow garbage collection.
Since: 1.0
func UnbindPreference ¶
func UnbindPreference(key string, p bellui.Preferences)
UnbindPreference removes the binding for the given key from the given preferences, allowing it to be garbage collected. Future calls to BindPreference* with the same key will create a new binding.
Since: 1.0
Types ¶
type Bool ¶
Bool supports binding a bool value.
Since: 1.0
func And ¶
And returns a Bool binding that return true when all the passed Bool binding are true and false otherwise. It does apply a logical and boolean operation on all passed Bool bindings. This binding is two way. In case of a Set, it will propagate the value identically to all the Bool bindings used for its construction.
Since: 1.0
func BindPreferenceBool ¶
func BindPreferenceBool(key string, p bellui.Preferences) 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: 1.0
func NewBool ¶
func NewBool() Bool
NewBool returns a bindable bool value that is managed internally.
Since: 1.0
func Not ¶
Not returns a Bool binding that invert the value of the given data binding. This is providing the logical Not boolean operation as a data binding.
Since: 1.0
func Or ¶
Or returns a Bool binding that return true when at least one of the passed Bool binding is true and false otherwise. It does apply a logical or boolean operation on all passed Bool bindings. This binding is two way. In case of a Set, it will propagate the value identically to all the Bool bindings used for its construction.
Since: 1.0
func StringToBool ¶
StringToBool creates a binding that connects a String data item to a Bool. Changes to the String will be parsed and pushed to the Bool if the parse was successful, and setting the Bool update the String binding.
Since: 1.0
func StringToBoolWithFormat ¶
StringToBoolWithFormat creates a binding that connects a String data item to a Bool and is presented using the specified format. Changes to the Bool will be parsed and if the format matches and the parse is successful it will be pushed to the String. Setting the Bool will push a formatted value into the String.
Since: 1.0
type BoolList ¶
BoolList supports binding a list of bool values.
Since: 1.0
func BindPreferenceBoolList ¶
func BindPreferenceBoolList(key string, p bellui.Preferences) BoolList
BindPreferenceBoolList returns a bound list of bool values 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: 1.0
type DataItem ¶
type DataItem interface {
// AddListener attaches a new change listener to this DataItem.
// Listeners are called each time the data inside this DataItem changes.
// Additionally, the listener will be triggered upon successful connection to get the current value.
AddListener(DataListener)
// RemoveListener will detach the specified change listener from the DataItem.
// Disconnected listener will no longer be triggered when changes occur.
RemoveListener(DataListener)
}
DataItem is the base interface for all bindable data items. All APIs on bindable data items are safe to invoke directly fron any goroutine.
Since: 1.0
type DataListener ¶
type DataListener interface {
DataChanged()
}
DataListener is any object that can register for changes in a bindable DataItem. See NewDataListener to define a new listener using just an inline function.
Since: 1.0
func NewDataListener ¶
func NewDataListener(fn func()) DataListener
NewDataListener is a helper function that creates a new listener type from a simple callback function.
Since: 1.0
type ExternalBool ¶
type ExternalBool = ExternalItem[bool]
ExternalBool supports binding a bool value to an external value.
Since: 1.0
func BindBool ¶
func BindBool(v *bool) ExternalBool
BindBool returns a new bindable value that controls the contents of the provided bool variable. If your code changes the content of the variable this refers to you should call Reload() to inform the bindings.
Since: 1.0
type ExternalBoolList ¶
type ExternalBoolList = ExternalList[bool]
ExternalBoolList supports binding a list of bool values from an external variable.
Since: 1.0
type ExternalBoolTree ¶
type ExternalBoolTree = ExternalTree[bool]
ExternalBoolTree supports binding a tree of bool values from an external variable.
Since: 1.0
type ExternalBytes ¶
type ExternalBytes = ExternalItem[[]byte]
ExternalBytes supports binding a []byte value to an external value.
Since: 1.0
func BindBytes ¶
func BindBytes(v *[]byte) ExternalBytes
BindBytes returns a new bindable value that controls the contents of the provided []byte variable. If your code changes the content of the variable this refers to you should call Reload() to inform the bindings.
Since: 1.0
type ExternalBytesList ¶
type ExternalBytesList = ExternalList[[]byte]
ExternalBytesList supports binding a list of []byte values from an external variable.
Since: 1.0
type ExternalBytesTree ¶
type ExternalBytesTree = ExternalTree[[]byte]
ExternalBytesTree supports binding a tree of []byte values from an external variable.
Since: 1.0
type ExternalFloat ¶
type ExternalFloat = ExternalItem[float64]
ExternalFloat supports binding a float64 value to an external value.
Since: 1.0
func BindFloat ¶
func BindFloat(v *float64) ExternalFloat
BindFloat returns a new bindable value that controls the contents of the provided float64 variable. If your code changes the content of the variable this refers to you should call Reload() to inform the bindings.
Since: 1.0
type ExternalFloatList ¶
type ExternalFloatList = ExternalList[float64]
ExternalFloatList supports binding a list of float64 values from an external variable.
Since: 1.0
type ExternalFloatTree ¶
type ExternalFloatTree = ExternalTree[float64]
ExternalFloatTree supports binding a tree of float64 values from an external variable.
Since: 1.0
type ExternalInt ¶
type ExternalInt = ExternalItem[int]
ExternalInt supports binding a int value to an external value.
Since: 1.0
func BindInt ¶
func BindInt(v *int) ExternalInt
BindInt returns a new bindable value that controls the contents of the provided int variable. If your code changes the content of the variable this refers to you should call Reload() to inform the bindings.
Since: 1.0
type ExternalIntList ¶
type ExternalIntList = ExternalList[int]
ExternalIntList supports binding a list of int values from an external variable.
Since: 1.0
type ExternalIntTree ¶
type ExternalIntTree = ExternalTree[int]
ExternalIntTree supports binding a tree of int values from an external variable.
Since: 1.0
type ExternalItem ¶
ExternalItem supports binding any external value of type T.
Since: 1.0
func BindItem ¶
func BindItem[T any](val *T, comparator func(T, T) bool) ExternalItem[T]
BindItem returns a new bindable value that controls the contents of the provided variable of type T. If your code changes the content of the variable this refers to you should call Reload() to inform the bindings.
Since: 1.0
type ExternalList ¶
ExternalList supports binding a list of values, with type T, from an external variable.
Since: 1.0
func BindBoolList ¶
func BindBoolList(v *[]bool) ExternalList[bool]
BindBoolList returns a bound list of bool values, based on the contents of the passed slice. If your code changes the content of the slice this refers to you should call Reload() to inform the bindings.
Since: 1.0
func BindBytesList ¶
func BindBytesList(v *[][]byte) ExternalList[[]byte]
BindBytesList returns a bound list of []byte values, based on the contents of the passed slice. If your code changes the content of the slice this refers to you should call Reload() to inform the bindings.
Since: 1.0
func BindFloatList ¶
func BindFloatList(v *[]float64) ExternalList[float64]
BindFloatList returns a bound list of float64 values, based on the contents of the passed slice. If your code changes the content of the slice this refers to you should call Reload() to inform the bindings.
Since: 1.0
func BindIntList ¶
func BindIntList(v *[]int) ExternalList[int]
BindIntList returns a bound list of int values, based on the contents of the passed slice. If your code changes the content of the slice this refers to you should call Reload() to inform the bindings.
Since: 1.0
func BindList ¶
func BindList[T any](v *[]T, comparator func(T, T) bool) ExternalList[T]
BindList returns a bound list of values with type T, based on the contents of the passed slice. If your code changes the content of the slice this refers to you should call Reload() to inform the bindings.
Since: 1.0
func BindRuneList ¶
func BindRuneList(v *[]rune) ExternalList[rune]
BindRuneList returns a bound list of rune values, based on the contents of the passed slice. If your code changes the content of the slice this refers to you should call Reload() to inform the bindings.
Since: 1.0
func BindStringList ¶
func BindStringList(v *[]string) ExternalList[string]
BindStringList returns a bound list of string values, based on the contents of the passed slice. If your code changes the content of the slice this refers to you should call Reload() to inform the bindings.
Since: 1.0
func BindURIList ¶
func BindURIList(v *[]bellui.URI) ExternalList[bellui.URI]
BindURIList returns a bound list of bellui.URI values, based on the contents of the passed slice. If your code changes the content of the slice this refers to you should call Reload() to inform the bindings.
Since: 1.0
func BindUntypedList ¶
func BindUntypedList(v *[]any) ExternalList[any]
BindUntypedList returns a bound list of any values, based on the contents of the passed slice. If your code changes the content of the slice this refers to you should call Reload() to inform the bindings.
Since: 1.0
type ExternalRune ¶
type ExternalRune = ExternalItem[rune]
ExternalRune supports binding a rune value to an external value.
Since: 1.0
func BindRune ¶
func BindRune(v *rune) ExternalRune
BindRune returns a new bindable value that controls the contents of the provided rune variable. If your code changes the content of the variable this refers to you should call Reload() to inform the bindings.
Since: 1.0
type ExternalRuneList ¶
type ExternalRuneList = ExternalList[rune]
ExternalRuneList supports binding a list of rune values from an external variable.
Since: 1.0
type ExternalRuneTree ¶
type ExternalRuneTree = ExternalTree[rune]
ExternalRuneTree supports binding a tree of rune values from an external variable.
Since: 1.0
type ExternalString ¶
type ExternalString = ExternalItem[string]
ExternalString supports binding a string value to an external value.
Since: 1.0
func BindString ¶
func BindString(v *string) ExternalString
BindString returns a new bindable value that controls the contents of the provided string variable. If your code changes the content of the variable this refers to you should call Reload() to inform the bindings.
Since: 1.0
type ExternalStringList ¶
type ExternalStringList = ExternalList[string]
ExternalStringList supports binding a list of string values from an external variable.
Since: 1.0
type ExternalStringTree ¶
type ExternalStringTree = ExternalTree[string]
ExternalStringTree supports binding a tree of string values from an external variable.
Since: 1.0
type ExternalTree ¶
ExternalTree supports binding a tree of values, of type T, from an external variable.
Since: 1.0
func BindBoolTree ¶
BindBoolTree returns a bound tree of bool values, based on the contents of the passed values. The ids map specifies how each item relates to its parent (with id ""), with the values being in the v map. If your code changes the content of the maps this refers to you should call Reload() to inform the bindings.
Since: 1.0
func BindBytesTree ¶
BindBytesTree returns a bound tree of []byte values, based on the contents of the passed values. The ids map specifies how each item relates to its parent (with id ""), with the values being in the v map. If your code changes the content of the maps this refers to you should call Reload() to inform the bindings.
Since: 1.0
func BindFloatTree ¶
BindFloatTree returns a bound tree of float64 values, based on the contents of the passed values. The ids map specifies how each item relates to its parent (with id ""), with the values being in the v map. If your code changes the content of the maps this refers to you should call Reload() to inform the bindings.
Since: 1.0
func BindIntTree ¶
BindIntTree returns a bound tree of int values, based on the contents of the passed values. The ids map specifies how each item relates to its parent (with id ""), with the values being in the v map. If your code changes the content of the maps this refers to you should call Reload() to inform the bindings.
Since: 1.0
func BindRuneTree ¶
BindRuneTree returns a bound tree of rune values, based on the contents of the passed values. The ids map specifies how each item relates to its parent (with id ""), with the values being in the v map. If your code changes the content of the maps this refers to you should call Reload() to inform the bindings.
Since: 1.0
func BindStringTree ¶
BindStringTree returns a bound tree of string values, based on the contents of the passed values. The ids map specifies how each item relates to its parent (with id ""), with the values being in the v map. If your code changes the content of the maps this refers to you should call Reload() to inform the bindings.
Since: 1.0
func BindTree ¶
func BindTree[T any](ids *map[string][]string, v *map[string]T, comparator func(T, T) bool) ExternalTree[T]
BindTree returns a bound tree of values with type T, based on the contents of the passed values. The ids map specifies how each item relates to its parent (with id ""), with the values being in the v map. If your code changes the content of the maps this refers to you should call Reload() to inform the bindings.
Since: 1.0
func BindURITree ¶
BindURITree returns a bound tree of bellui.URI values, based on the contents of the passed values. The ids map specifies how each item relates to its parent (with id ""), with the values being in the v map. If your code changes the content of the maps this refers to you should call Reload() to inform the bindings.
Since: 1.0
func BindUntypedTree ¶
BindUntypedTree returns a bound tree of any values, based on the contents of the passed values. The ids map specifies how each item relates to its parent (with id ""), with the values being in the v map. If your code changes the content of the maps this refers to you should call Reload() to inform the bindings.
Since: 1.0
type ExternalURI ¶
type ExternalURI = ExternalItem[bellui.URI]
ExternalURI supports binding a bellui.URI value to an external value.
Since: 1.0
func BindURI ¶
func BindURI(v *bellui.URI) ExternalURI
BindURI returns a new bindable value that controls the contents of the provided bellui.URI variable. If your code changes the content of the variable this refers to you should call Reload() to inform the bindings.
Since: 1.0
type ExternalURIList ¶
type ExternalURIList = ExternalList[bellui.URI]
ExternalURIList supports binding a list of bellui.URI values from an external variable.
Since: 1.0
type ExternalURITree ¶
type ExternalURITree = ExternalTree[bellui.URI]
ExternalURITree supports binding a tree of bellui.URI values from an external variable.
Since: 1.0
type ExternalUntyped ¶
type ExternalUntyped = ExternalItem[any]
ExternalUntyped supports binding a any value to an external value.
Since: 1.0
func BindUntyped ¶
func BindUntyped(v any) ExternalUntyped
BindUntyped returns a bindable any value that is bound to an external type. The parameter must be a pointer to the type you wish to bind.
Since: 1.0
type ExternalUntypedList ¶
type ExternalUntypedList = ExternalList[any]
ExternalUntypedList supports binding a list of any values from an external variable.
Since: 1.0
type ExternalUntypedMap ¶
type ExternalUntypedMap interface {
UntypedMap
Reload() error
}
ExternalUntypedMap is a map data binding with all values untyped (any), connected to an external data source.
Since: 1.0
func BindUntypedMap ¶
func BindUntypedMap(d *map[string]any) ExternalUntypedMap
BindUntypedMap creates a new map binding of string to any based on the data passed. If your code changes the content of the map this refers to you should call Reload() to inform the bindings.
Since: 1.0
type ExternalUntypedTree ¶
type ExternalUntypedTree = ExternalTree[any]
ExternalUntypedTree supports binding a tree of any values from an external variable.
Since: 1.0
type Float ¶
Float supports binding a float64 value.
Since: 1.0
func BindPreferenceFloat ¶
func BindPreferenceFloat(key string, p bellui.Preferences) Float
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: 1.0
func IntToFloat ¶
IntToFloat creates a binding that connects an Int data item to a Float.
Since: 1.0
func NewFloat ¶
func NewFloat() Float
NewFloat returns a bindable float64 value that is managed internally.
Since: 1.0
func StringToFloat ¶
StringToFloat creates a binding that connects a String data item to a Float. Changes to the String will be parsed and pushed to the Float if the parse was successful, and setting the Float update the String binding.
Since: 1.0
func StringToFloatWithFormat ¶
StringToFloatWithFormat creates a binding that connects a String data item to a Float and is presented using the specified format. Changes to the Float will be parsed and if the format matches and the parse is successful it will be pushed to the String. Setting the Float will push a formatted value into the String.
Since: 1.0
type FloatList ¶
FloatList supports binding a list of float64 values.
Since: 1.0
func BindPreferenceFloatList ¶
func BindPreferenceFloatList(key string, p bellui.Preferences) FloatList
BindPreferenceFloatList returns a bound list of float64 values 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: 1.0
type Int ¶
Int supports binding a int value.
Since: 1.0
func BindPreferenceInt ¶
func BindPreferenceInt(key string, p bellui.Preferences) 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: 1.0
func FloatToInt ¶
FloatToInt creates a binding that connects a Float data item to an Int.
Since: 1.0
func NewInt ¶
func NewInt() Int
NewInt returns a bindable int value that is managed internally.
Since: 1.0
func StringToInt ¶
StringToInt creates a binding that connects a String data item to a Int. Changes to the String will be parsed and pushed to the Int if the parse was successful, and setting the Int update the String binding.
Since: 1.0
func StringToIntWithFormat ¶
StringToIntWithFormat creates a binding that connects a String data item to a Int and is presented using the specified format. Changes to the Int will be parsed and if the format matches and the parse is successful it will be pushed to the String. Setting the Int will push a formatted value into the String.
Since: 1.0
type IntList ¶
IntList supports binding a list of int values.
Since: 1.0
func BindPreferenceIntList ¶
func BindPreferenceIntList(key string, p bellui.Preferences) IntList
BindPreferenceIntList returns a bound list of int values 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: 1.0
type List ¶
type List[T any] interface { DataList Append(value T) error Get() ([]T, error) GetValue(index int) (T, error) Prepend(value T) error Remove(value T) error Set(list []T) error SetValue(index int, value T) error }
List supports binding a list of values with type T.
Since: 1.0
type String ¶
String supports binding a string value.
Since: 1.0
func BindPreferenceString ¶
func BindPreferenceString(key string, p bellui.Preferences) 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: 1.0
func BoolToString ¶
BoolToString creates a binding that connects a Bool data item to a String. Changes to the Bool will be pushed to the String and setting the string will parse and set the Bool if the parse was successful.
Since: 1.0
func BoolToStringWithFormat ¶
BoolToStringWithFormat creates a binding that connects a Bool data item to a String and is presented using the specified format. Changes to the Bool will be pushed to the String and setting the string will parse and set the Bool if the string matches the format and its parse was successful.
Since: 1.0
func FloatToString ¶
FloatToString creates a binding that connects a Float data item to a String. Changes to the Float will be pushed to the String and setting the string will parse and set the Float if the parse was successful.
Since: 1.0
func FloatToStringWithFormat ¶
FloatToStringWithFormat creates a binding that connects a Float data item to a String and is presented using the specified format. Changes to the Float will be pushed to the String and setting the string will parse and set the Float if the string matches the format and its parse was successful.
Since: 1.0
func IntToString ¶
IntToString creates a binding that connects a Int data item to a String. Changes to the Int will be pushed to the String and setting the string will parse and set the Int if the parse was successful.
Since: 1.0
func IntToStringWithFormat ¶
IntToStringWithFormat creates a binding that connects a Int data item to a String and is presented using the specified format. Changes to the Int will be pushed to the String and setting the string will parse and set the Int if the string matches the format and its parse was successful.
Since: 1.0
func NewLocalizedPlural ¶
NewLocalizedPlural returns a String binding whose value is the plural-form translation of key for the current value of count (resolved via lang.LocalizePlural, i.e. the same lookup as lang.N). It re-derives whenever the active locale changes through lang.SetLocale or count changes, so both a language switch and a count change update a bound widget without a rebuild.
count is an Int binding so the plural form tracks a live count; for a fixed count, pass a NewInt you Set once.
Since: 1.0
func NewLocalizedPluralWithKey ¶
NewLocalizedPluralWithKey is the explicit-fallback form of NewLocalizedPlural, resolving via lang.LocalizePluralKey (i.e. the same lookup as lang.XN).
Since: 1.0
func NewLocalizedString ¶
NewLocalizedString returns a String binding whose value is the translation of key (resolved via lang.Localize, i.e. the same lookup as lang.L) and which re-derives that translation whenever the active locale changes through lang.SetLocale. Bind it to a widget — e.g. with github.com/belluikit/bellui/widget.NewLabelWithData — and the widget's text follows a live language switch without a manual rebuild.
Any template data is forwarded to lang.Localize on every (re-)evaluation, so pass values, not pre-formatted strings, for them to localize correctly.
Since: 1.0
func NewLocalizedStringWithKey ¶
NewLocalizedStringWithKey returns a String binding whose value is the translation looked up by key, falling back to fallback when no translation is found (resolved via lang.LocalizeKey, i.e. the same lookup as lang.X). Like NewLocalizedString it re-derives on a live lang.SetLocale change.
Use this when your message IDs are distinct from the default text, the common pattern for larger translation catalogues.
Since: 1.0
func NewSprintf ¶
NewSprintf returns a String binding that format its content using the format string and the provide additional parameter that must be other data bindings. This data binding use fmt.Sprintf and fmt.Scanf internally and will have all the same limitation as those function.
Since: 1.0
func NewString ¶
func NewString() String
NewString returns a bindable string value that is managed internally.
Since: 1.0
func StringToStringWithFormat ¶
StringToStringWithFormat creates a binding that converts a string to another string using the specified format. Changes to the returned String will be pushed to the passed in String and setting a new string value will parse and set the underlying String if it matches the format and the parse was successful.
Since: 1.0
func URIToString ¶
URIToString creates a binding that connects a URI data item to a String. Changes to the URI will be pushed to the String and setting the string will parse and set the URI if the parse was successful.
Since: 1.0
type StringList ¶
StringList supports binding a list of string values.
Since: 1.0
func BindPreferenceStringList ¶
func BindPreferenceStringList(key string, p bellui.Preferences) StringList
BindPreferenceStringList returns a bound list of string values 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: 1.0
type Struct ¶
type Struct interface {
DataMap
GetValue(string) (any, error)
SetValue(string, any) error
Reload() error
}
Struct is the base interface for a bound struct type.
Since: 1.0
func BindStruct ¶
BindStruct creates a new map binding of string to any using the struct passed as data. The key for each item is a string representation of each exported field with the value set as an any. Only exported fields are included.
Since: 1.0
type Tree ¶
type Tree[T any] interface { DataTree Append(parent, id string, value T) error Get() (map[string][]string, map[string]T, error) GetValue(id string) (T, error) Prepend(parent, id string, value T) error Remove(id string) error Set(ids map[string][]string, values map[string]T) error SetValue(id string, value T) error }
Tree supports binding a tree of values with type T.
Since: 1.0
type URI ¶
URI supports binding a bellui.URI value.
Since: 1.0
func NewURI ¶
func NewURI() URI
NewURI returns a bindable bellui.URI value that is managed internally.
Since: 1.0
func StringToURI ¶
StringToURI creates a binding that connects a String data item to a URI. Changes to the String will be parsed and pushed to the URI if the parse was successful, and setting the URI update the String binding.
Since: 1.0
type Untyped ¶
Untyped supports binding an any value.
Since: 1.0
func NewUntyped ¶
func NewUntyped() Untyped
NewUntyped returns a bindable any value that is managed internally.
Since: 1.0
type UntypedMap ¶
type UntypedMap interface {
DataMap
Delete(string)
Get() (map[string]any, error)
GetValue(string) (any, error)
Set(map[string]any) error
SetValue(string, any) error
}
UntypedMap is a map data binding with all values Untyped (any).
Since: 1.0
func NewUntypedMap ¶
func NewUntypedMap() UntypedMap
NewUntypedMap creates a new, empty map binding of string to any.
Since: 1.0