-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Value store v3.0 #8600
Value store v3.0 #8600
Commits on Jun 5, 2022
-
Configuration menu - View commit details
-
Copy full SHA for cf06885 - Browse repository at this point
Copy the full SHA cf06885View commit details
Commits on Jul 19, 2022
-
Initial refactor of AvaloniaObject value store.
Most (but not all) tests passing, all features mostly implemented exception coercion.
Configuration menu - View commit details
-
Copy full SHA for 71785b7 - Browse repository at this point
Copy the full SHA 71785b7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 79115bd - Browse repository at this point
Copy the full SHA 79115bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 72308f1 - Browse repository at this point
Copy the full SHA 72308f1View commit details -
To remove `InheritanceFrame` - it was unneeded, we can just point to the nearest ancestor value store with inherited values.
Configuration menu - View commit details
-
Copy full SHA for 483bbd2 - Browse repository at this point
Copy the full SHA 483bbd2View commit details -
Configuration menu - View commit details
-
Copy full SHA for fb3e9d7 - Browse repository at this point
Copy the full SHA fb3e9d7View commit details -
Configuration menu - View commit details
-
Copy full SHA for fd3e561 - Browse repository at this point
Copy the full SHA fd3e561View commit details -
Configuration menu - View commit details
-
Copy full SHA for 14f17f2 - Browse repository at this point
Copy the full SHA 14f17f2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1e4577f - Browse repository at this point
Copy the full SHA 1e4577fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 18caac1 - Browse repository at this point
Copy the full SHA 18caac1View commit details -
Configuration menu - View commit details
-
Copy full SHA for a49a01c - Browse repository at this point
Copy the full SHA a49a01cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2377dca - Browse repository at this point
Copy the full SHA 2377dcaView commit details -
Configuration menu - View commit details
-
Copy full SHA for f3369cb - Browse repository at this point
Copy the full SHA f3369cbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 88d59a4 - Browse repository at this point
Copy the full SHA 88d59a4View commit details -
Configuration menu - View commit details
-
Copy full SHA for c44e0bd - Browse repository at this point
Copy the full SHA c44e0bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0119cf1 - Browse repository at this point
Copy the full SHA 0119cf1View commit details
Commits on Jul 20, 2022
-
- Always evaluate the active state from current information, don't rely on subscriptions to fire as the current state may not be up-to-date - Don't notify the `IStyleActivatorSink` of a change immediately on subscription
Configuration menu - View commit details
-
Copy full SHA for 09d0c3a - Browse repository at this point
Copy the full SHA 09d0c3aView commit details -
And use the concrete `ValueFrame` (renamed from `ValueFrameBase`) as this was the only implementation of the interface.
Configuration menu - View commit details
-
Copy full SHA for caf5686 - Browse repository at this point
Copy the full SHA caf5686View commit details -
Configuration menu - View commit details
-
Copy full SHA for c386447 - Browse repository at this point
Copy the full SHA c386447View commit details -
Use shared StyleInstance if possible.
If a `StyleBase` has no activator, and its `Setter`s don't need to be separately instanced on the control, then we can share a `StyleInstance` between controls. This causes failing tests because `TopLevel` applies styles in its constructor, but doesn't set `_styled` to true, meaning that styles get applied twice. This issue will need to be addressed separately.
Configuration menu - View commit details
-
Copy full SHA for 56c098f - Browse repository at this point
Copy the full SHA 56c098fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 653a6b8 - Browse repository at this point
Copy the full SHA 653a6b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for a98772c - Browse repository at this point
Copy the full SHA a98772cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 14a21f1 - Browse repository at this point
Copy the full SHA 14a21f1View commit details -
Configuration menu - View commit details
-
Copy full SHA for f6d15d3 - Browse repository at this point
Copy the full SHA f6d15d3View commit details
Commits on Jul 21, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 309b127 - Browse repository at this point
Copy the full SHA 309b127View commit details -
Configuration menu - View commit details
-
Copy full SHA for cda288f - Browse repository at this point
Copy the full SHA cda288fView commit details -
Configuration menu - View commit details
-
Copy full SHA for d77fe8c - Browse repository at this point
Copy the full SHA d77fe8cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7f5171e - Browse repository at this point
Copy the full SHA 7f5171eView commit details -
Conform better to dictionary API.
And rename collection to indicate this.
Configuration menu - View commit details
-
Copy full SHA for 0518fdd - Browse repository at this point
Copy the full SHA 0518fddView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7b0f536 - Browse repository at this point
Copy the full SHA 7b0f536View commit details -
Configuration menu - View commit details
-
Copy full SHA for 036557b - Browse repository at this point
Copy the full SHA 036557bView commit details -
Configuration menu - View commit details
-
Copy full SHA for f07f64d - Browse repository at this point
Copy the full SHA f07f64dView commit details -
Added tests for AvaloniaPropertyDictionary.
And fixed a couple of bugs.
Configuration menu - View commit details
-
Copy full SHA for 13a5ce6 - Browse repository at this point
Copy the full SHA 13a5ce6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2bfaa8b - Browse repository at this point
Copy the full SHA 2bfaa8bView commit details
Commits on Jul 22, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 2589f26 - Browse repository at this point
Copy the full SHA 2589f26View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1023029 - Browse repository at this point
Copy the full SHA 1023029View commit details -
Configuration menu - View commit details
-
Copy full SHA for d45f96d - Browse repository at this point
Copy the full SHA d45f96dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 988e26e - Browse repository at this point
Copy the full SHA 988e26eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 90c6dcf - Browse repository at this point
Copy the full SHA 90c6dcfView commit details -
Throw for duplicate setters in styles.
And remove the duplicate setter that we have.
Configuration menu - View commit details
-
Copy full SHA for c6dab8b - Browse repository at this point
Copy the full SHA c6dab8bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1fa0f20 - Browse repository at this point
Copy the full SHA 1fa0f20View commit details -
Configuration menu - View commit details
-
Copy full SHA for 122bc0c - Browse repository at this point
Copy the full SHA 122bc0cView commit details -
Configuration menu - View commit details
-
Copy full SHA for f10d4ac - Browse repository at this point
Copy the full SHA f10d4acView commit details -
Configuration menu - View commit details
-
Copy full SHA for b48a1f4 - Browse repository at this point
Copy the full SHA b48a1f4View commit details -
Configuration menu - View commit details
-
Copy full SHA for b1bee79 - Browse repository at this point
Copy the full SHA b1bee79View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4569de2 - Browse repository at this point
Copy the full SHA 4569de2View commit details
Commits on Jul 24, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 651dc13 - Browse repository at this point
Copy the full SHA 651dc13View commit details -
Don't throw trying to unsub if not subscribed.
This can happen when re-evaluating the value store if a style is detached before its frame is evaluated.
Configuration menu - View commit details
-
Copy full SHA for 702e839 - Browse repository at this point
Copy the full SHA 702e839View commit details -
Configuration menu - View commit details
-
Copy full SHA for 31e6bb4 - Browse repository at this point
Copy the full SHA 31e6bb4View commit details -
Store direct property bindings in ValueStore.
We already have a place to store them in the `_localValueBindings` list, so use that rather than having a separate `_directBindings` list in `AvaloniaObject`.
Configuration menu - View commit details
-
Copy full SHA for 8f98c2a - Browse repository at this point
Copy the full SHA 8f98c2aView commit details
Commits on Jul 25, 2022
-
Special-case frames with one entry.
Seems it's slightly faster to re-evaluate the single value in this case.
Configuration menu - View commit details
-
Copy full SHA for 0c4aae0 - Browse repository at this point
Copy the full SHA 0c4aae0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1e1d401 - Browse repository at this point
Copy the full SHA 1e1d401View commit details -
Configuration menu - View commit details
-
Copy full SHA for 763111b - Browse repository at this point
Copy the full SHA 763111bView commit details
Commits on Jul 26, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 09d0992 - Browse repository at this point
Copy the full SHA 09d0992View commit details
Commits on Jul 27, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 1e737dc - Browse repository at this point
Copy the full SHA 1e737dcView commit details
Commits on Aug 3, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 7211f03 - Browse repository at this point
Copy the full SHA 7211f03View commit details
Commits on Aug 9, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 2e32945 - Browse repository at this point
Copy the full SHA 2e32945View commit details
Commits on Sep 8, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 22576b0 - Browse repository at this point
Copy the full SHA 22576b0View commit details -
Configuration menu - View commit details
-
Copy full SHA for c809c9a - Browse repository at this point
Copy the full SHA c809c9aView commit details -
Added more failing tests for desired behavior.
We should be unsubscribing from bindings when a higher priority binding or value is added.
Configuration menu - View commit details
-
Copy full SHA for d1a5870 - Browse repository at this point
Copy the full SHA d1a5870View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6a667f5 - Browse repository at this point
Copy the full SHA 6a667f5View commit details
Commits on Sep 16, 2022
-
Configuration menu - View commit details
-
Copy full SHA for d14ff72 - Browse repository at this point
Copy the full SHA d14ff72View commit details
Commits on Sep 19, 2022
-
Configuration menu - View commit details
-
Copy full SHA for dd285ee - Browse repository at this point
Copy the full SHA dd285eeView commit details
Commits on Sep 20, 2022
-
Refactor binding IValueEntry into base class.
Too many gotchas in implementing binding entries, we'll take the performance hit of a few virtual method calls.
Configuration menu - View commit details
-
Copy full SHA for 9367f8b - Browse repository at this point
Copy the full SHA 9367f8bView commit details -
Fix inactive two-way setter bindings.
Make two-way bindings in setters not write to source when inactive.
Configuration menu - View commit details
-
Copy full SHA for ead8980 - Browse repository at this point
Copy the full SHA ead8980View commit details -
Skip some of the two-way binding tests.
The value store alone cannot fix these tests, as writing back to source in two-way bindings is implemented at a higher level than the value store. We'll need to refactor the way two-way bindings work in a separate PR.
Configuration menu - View commit details
-
Copy full SHA for 333bcb2 - Browse repository at this point
Copy the full SHA 333bcb2View commit details -
Configuration menu - View commit details
-
Copy full SHA for ed11b75 - Browse repository at this point
Copy the full SHA ed11b75View commit details
Commits on Sep 21, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 2d38eb8 - Browse repository at this point
Copy the full SHA 2d38eb8View commit details
Commits on Sep 26, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 6f3a649 - Browse repository at this point
Copy the full SHA 6f3a649View commit details
Commits on Sep 28, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 1730331 - Browse repository at this point
Copy the full SHA 1730331View commit details -
Re-evaluate all properties if necessary.
When re-evaluating a single property, if the frame activation state changes then we need to re-evaluate all properties.
Configuration menu - View commit details
-
Copy full SHA for 12f72dd - Browse repository at this point
Copy the full SHA 12f72ddView commit details -
Expose activation state via a method.
Previously, the `IsActive` property caused the activator state to be re-evaluated, which meant that when the _debugger_ read it, it was re-evaluated, making debugging difficult.
Configuration menu - View commit details
-
Copy full SHA for 96942a2 - Browse repository at this point
Copy the full SHA 96942a2View commit details -
Configuration menu - View commit details
-
Copy full SHA for fc33707 - Browse repository at this point
Copy the full SHA fc33707View commit details
Commits on Sep 29, 2022
-
Configuration menu - View commit details
-
Copy full SHA for b650bb6 - Browse repository at this point
Copy the full SHA b650bb6View commit details -
Re-evaluate all properties if necessary.
When re-evaluating a single property, if the frame activation state changes when unsubscribing from inactive frames then we need to re-evaluate all properties.
Configuration menu - View commit details
-
Copy full SHA for dd5a7c9 - Browse repository at this point
Copy the full SHA dd5a7c9View commit details -
Configuration menu - View commit details
-
Copy full SHA for d34c367 - Browse repository at this point
Copy the full SHA d34c367View commit details -
Re-evaluate all properties if necessary.
Even if the frame's activation state has changed to false.
Configuration menu - View commit details
-
Copy full SHA for 2144f92 - Browse repository at this point
Copy the full SHA 2144f92View commit details -
Configuration menu - View commit details
-
Copy full SHA for bda4a4b - Browse repository at this point
Copy the full SHA bda4a4bView commit details
Commits on Sep 30, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 6ee2c43 - Browse repository at this point
Copy the full SHA 6ee2c43View commit details -
Raise correct inheritance value change.
When raising `PropertyChanged` due to setting the inheritance parent, use the closest value in the inheritance tree rather than the furthest.
Configuration menu - View commit details
-
Copy full SHA for a1830b7 - Browse repository at this point
Copy the full SHA a1830b7View commit details
Commits on Oct 14, 2022
-
Don't use Microsoft.Reactive.Testing here.
It's unsuitable for our needs as there's no way to make an observable fire on subscribe.
Configuration menu - View commit details
-
Copy full SHA for 5a60466 - Browse repository at this point
Copy the full SHA 5a60466View commit details -
Configuration menu - View commit details
-
Copy full SHA for bd357e0 - Browse repository at this point
Copy the full SHA bd357e0View commit details -
Fix bug in ExpressionObserver.
Ensure `rootGetter` is evaluated each time the observer is initialized; plus failing and now passing test.
Configuration menu - View commit details
-
Copy full SHA for b5891a2 - Browse repository at this point
Copy the full SHA b5891a2View commit details
Commits on Oct 15, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 20d85df - Browse repository at this point
Copy the full SHA 20d85dfView commit details
Commits on Oct 17, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 9b2d9be - Browse repository at this point
Copy the full SHA 9b2d9beView commit details -
Go direct to ValueStore for untyped GetValue.
Avoids a virtual call in the case of styled properties.
Configuration menu - View commit details
-
Copy full SHA for ba4bfc3 - Browse repository at this point
Copy the full SHA ba4bfc3View commit details -
Configuration menu - View commit details
-
Copy full SHA for e2c6444 - Browse repository at this point
Copy the full SHA e2c6444View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9807907 - Browse repository at this point
Copy the full SHA 9807907View commit details -
Configuration menu - View commit details
-
Copy full SHA for 63cc1a0 - Browse repository at this point
Copy the full SHA 63cc1a0View commit details
Commits on Oct 19, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 37de576 - Browse repository at this point
Copy the full SHA 37de576View commit details
Commits on Oct 25, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 4c436ac - Browse repository at this point
Copy the full SHA 4c436acView commit details
Commits on Oct 26, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 034e019 - Browse repository at this point
Copy the full SHA 034e019View commit details -
Configuration menu - View commit details
-
Copy full SHA for 06efa3e - Browse repository at this point
Copy the full SHA 06efa3eView commit details -
Configuration menu - View commit details
-
Copy full SHA for e44d902 - Browse repository at this point
Copy the full SHA e44d902View commit details -
Configuration menu - View commit details
-
Copy full SHA for bfa6648 - Browse repository at this point
Copy the full SHA bfa6648View commit details -
Configuration menu - View commit details
-
Copy full SHA for 459d195 - Browse repository at this point
Copy the full SHA 459d195View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9bc18ef - Browse repository at this point
Copy the full SHA 9bc18efView commit details
Commits on Nov 1, 2022
-
Configuration menu - View commit details
-
Copy full SHA for d6ea077 - Browse repository at this point
Copy the full SHA d6ea077View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0cdedaa - Browse repository at this point
Copy the full SHA 0cdedaaView commit details -
Prevent exception when removing value.
Calling `DisposeAndRaiseUnset` can cause a nested reevaluation of property values.
Configuration menu - View commit details
-
Copy full SHA for 061f01a - Browse repository at this point
Copy the full SHA 061f01aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1440b57 - Browse repository at this point
Copy the full SHA 1440b57View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2f61efa - Browse repository at this point
Copy the full SHA 2f61efaView commit details -
Move collection polyfills to Compatibility dir.
And tweak to match existing code there.
Configuration menu - View commit details
-
Copy full SHA for 2268f70 - Browse repository at this point
Copy the full SHA 2268f70View commit details -
Configuration menu - View commit details
-
Copy full SHA for f332616 - Browse repository at this point
Copy the full SHA f332616View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1184e0e - Browse repository at this point
Copy the full SHA 1184e0eView commit details -
Configuration menu - View commit details
-
Copy full SHA for ca2a0d6 - Browse repository at this point
Copy the full SHA ca2a0d6View commit details -
In doing so, merged `ValueStore.OnBindingCompleted` into `OnValueEntryRemoved` as they were doing the same thing.
Configuration menu - View commit details
-
Copy full SHA for ae72b81 - Browse repository at this point
Copy the full SHA ae72b81View commit details -
Configuration menu - View commit details
-
Copy full SHA for fcdabff - Browse repository at this point
Copy the full SHA fcdabffView commit details
Commits on Nov 2, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 0aa7a89 - Browse repository at this point
Copy the full SHA 0aa7a89View commit details
Commits on Nov 6, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 0119a37 - Browse repository at this point
Copy the full SHA 0119a37View commit details
Commits on Nov 8, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 4f19650 - Browse repository at this point
Copy the full SHA 4f19650View commit details
Commits on Nov 9, 2022
-
Avoid boxing in EffectiveValue<T>.SetAndRaise.
Added `IValueEntry<T>` interface back in and use that if present to get the value from the entry.
Configuration menu - View commit details
-
Copy full SHA for a9f12cb - Browse repository at this point
Copy the full SHA a9f12cbView commit details -
Cache property metadata in effective value.
Decreases the number of metadata lookups needed. Previously we were doing two lookups on construction now we're only doing one.
Configuration menu - View commit details
-
Copy full SHA for 5a13453 - Browse repository at this point
Copy the full SHA 5a13453View commit details
Commits on Nov 10, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 3ba0758 - Browse repository at this point
Copy the full SHA 3ba0758View commit details
Commits on Nov 18, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 59ea8b8 - Browse repository at this point
Copy the full SHA 59ea8b8View commit details