Releases: Dangles91/Godot.Community.ControlBinding
Releases · Dangles91/Godot.Community.ControlBinding
v0.4.0
Breaking Changes
- Bindings now use System.ComponentModel INotifyPropertyChanged and INotifyCollectionChanged
- Removed ObservableList. Use ObservableCollection instead
- Scene items no longer inherit from ObservableNode
- Scene items still have to implement IObservableObject
- Scene items must create an instance of BindingContext and register bindings against the context
- BindingContext is now the context for validations. Use this for HasError and for subscribing to the ControlValidationChanged event
- New base classes ControlViewModel and NodeViewModel can be used isntead of implementing IObservableObject
- Bindings require a node reference instead of a path
New Features
- Code generators such as PropertyChanged.SourceGenerator can be used to implement INotifyPropertyChanged
- List bindings now support Move, Replace, and Insert events
- Added support for custom control bindings. Custom controls must implement IObservableObject
- Custom controls can be bound by targeting a property that raises the OnPropertyChanged event
- Nodes can be bound using extensions methods for BindProperty etc.
Remove inheritence in favour of composition
Breaking Changes
- Bindings now use System.ComponentModel INotifyPropertyChanged and INotifyCollectionChanged
- Removed ObservableList. Use ObservableCollection instead
- Scene items no longer inherit from ObservableNode
- Scene items still have to implement IObservableObject
- Scene items must create an instance of BindingContext and register bindings against the context
- BindingContext is now the context for validations. Use this for HasError and for subscribing to the ControlValidationChanged event
- New base classes ControlViewModel and NodeViewModel can be used isntead of implementing IObservableObject
- Bindings require a node reference instead of a path
New Features
- Code generators such as PropertyChanged.SourceGenerator can be used to implement INotifyPropertyChanged
- List bindings now support Move, Replace, and Insert events
- Added support for custom control bindings. Custom controls must implement IObservableObject
- Custom controls can be bound by targeting a property that raises the OnPropertyChanged event
- Nodes can be bound using extensions methods for BindProperty etc.
Enable binding to custom controls
Custom controls can implement the IObservableObject interface to enable property binding
v0.3.3
What's Changed
- Add validators to property bindings by @Dangles91 in #10
Breaking Changes
- Formatters now provide the target property value as a function parameter
Full Changelog: v0.3.2...v0.3.3
Validators pre-release
Prelease version of upcoming validation changes for testing. See the README in feature/validation branch for details.
v0.3.2
What's Changed
- Add limited TwoWay scene list binding by @Dangles91 in #7
Full Changelog: v0.3.2-alpha.1...v0.3.2
Scene list binding
What's Changed
- Make the GenericControlBinder actually generic. by @Dangles91 in #1
- User CallerMemberName attribute to reduce verbosity of OnPropertyChanged by @Dangles91 in #2
- Cache propertyinfo objects to reduce expensive reflection calls by @Dangles91 in #3
- Add SetValue method by @DagobertDev in #4
- Implement OneWay scene list binding by @Dangles91 in #5
New Contributors
- @DagobertDev made their first contribution in #4
Breaking changes
Scenes must inherit from ObservableNode instead of ObservableObject
Full Changelog: v0.3.1-alpha.1...v0.3.2-alpha.1
v0.3.1-alpha.1
Add pre-release action