Skip to content

Releases: Dangles91/Godot.Community.ControlBinding

v0.4.0

29 May 23:57

Choose a tag to compare

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

29 May 11:56

Choose a tag to compare

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

26 May 04:09

Choose a tag to compare

Pre-release

Custom controls can implement the IObservableObject interface to enable property binding

v0.3.3

25 May 11:00
37e83f2

Choose a tag to compare

What's Changed

Breaking Changes

  • Formatters now provide the target property value as a function parameter

Full Changelog: v0.3.2...v0.3.3

Validators pre-release

25 May 09:01

Choose a tag to compare

Pre-release

Prelease version of upcoming validation changes for testing. See the README in feature/validation branch for details.

v0.3.2

20 May 06:06

Choose a tag to compare

What's Changed

Full Changelog: v0.3.2-alpha.1...v0.3.2

Scene list binding

19 May 04:38
18d5ba9

Choose a tag to compare

Scene list binding Pre-release
Pre-release

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

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

17 May 10:46

Choose a tag to compare

v0.3.1-alpha.1 Pre-release
Pre-release
Add pre-release action