Dariusz Komosinski
06a4a1af5b
Add failing unit test.
6 years ago
Dariusz Komosinski
5afc0f5395
Unify AddRange and InsertRange. Fix ranged versions causing multiple enumerations. Get rid of unnecessary allocations (notifications, enumerators).
7 years ago
all.owing
6dbe617ed6
One more tests fix
7 years ago
Dariusz Komosinski
868b5ea840
Update WeakReference usages to use the generic one.
7 years ago
Dariusz Komosinski
ad994a685c
Fix PriorityValue usage of DeferredSetter. Implement slower path in DeferredSetter that deals with callbacks.
7 years ago
Steven Kirk
2210b441a2
Moved attached layout code to Avalonia.Layout.
Also involved moving `Orientation` enum.
7 years ago
Steven Kirk
67bd1b8d86
Added failing tests for #1701 .
7 years ago
Nikita Tsukanov
4af9b22c59
Introduced WeakEventHandlerManager
7 years ago
mstr2
039991da68
Fixed a bug where AddOwner would add a property to AvaloniaPropertyRegistry's property list more than once
7 years ago
mstr2
9d3fd84a7a
Fixes a bug where properties would be added multiple times to the global AvaloniaPropertyRegistry._properties list.
7 years ago
Steven Kirk
302bf55b8a
Added failing tests for #1099 .
7 years ago
Steven Kirk
f3029d3346
Added failing test for #2203 .
7 years ago
Nikita Tsukanov
feadefc1a1
Run Mono/FullNET tests for all "core" libs except Avalonia.Controls
7 years ago
Nikita Tsukanov
4b234f73df
Run Avalonia.Base.UnitTests on netfx/mono
7 years ago
Jeremy Koritzinsky
44bf2ee721
Add unit test and fix #2149 .
7 years ago
Andrey Kunchev
7136750d6b
add failing unittests for derivedlist
7 years ago
Steven Kirk
bca37513b4
Added failing test for disposing completed binding.
8 years ago
Steven Kirk
5210926c03
Disallow setting unregistered properties.
8 years ago
Jeremy Koritzinsky
e2020f3012
Fix mock setup.
8 years ago
Jeremy Koritzinsky
00f8dfabc0
Use SingleOrQueue instead of Queue in DeferredSetter. Make sure tests pass.
8 years ago
Steven Kirk
27daffeb3e
Abstracted storage of styled values into ValueStore.
8 years ago
Steven Kirk
0c078c9dec
Don't use rx for ExpressionNodes.
`ExpressionNode`s were always single-subscriber and making them use `IObservable<>` meant that we had to have extra allocations in order to return `IDisposable`s. Instead of using `IObservable` use a simpler `Subscribe`/`Unsubscribe` pattern. This saves a bunch more memory.
8 years ago
Steven Kirk
a3dea23560
Use LightweightObservableBase for BindingExpression.
8 years ago
Jeremy Koritzinsky
1b2d644e48
Make tests in Avalonia.Base.UnitTests use ExpressionObserver.Create. For tests that require using invalid members or are more tedious to test with expression trees, test them in Avalonia.Markup.UnitTests with ExpressionObserverBuilder.
8 years ago
Jeremy Koritzinsky
c6c51dd36f
Add pattern-based support for streaming. Fix bugs in method bindings.
8 years ago
Jeremy Koritzinsky
af186e3529
Move string-based binding paths up to Avalonia.Markup. Make the LINQ Expression paths and raw ExpressionNodes (now public) the primarily supported syntax.
8 years ago
Jeremy Koritzinsky
18f436a2c3
Clean up unused code warnings and malformed doc comments.
8 years ago
Jeremy Koritzinsky
1c3b714a0e
Move fix up to SettableNode and ExpressionNode so all settable node types (i.e. PropertyAccessor and Indexer nodes) can get the fix.
8 years ago
Jeremy Koritzinsky
a37e24dc44
Add unit test.
8 years ago
Jeremy Koritzinsky
bf6375fe26
Fix indexer and casting expressions.
8 years ago
Jeremy Koritzinsky
e3686ab10d
Fix intermittent test failures introduced by accidental possible inter-test dependency that caused a test to fail when a different (moved over from the refactor) test ran before it.
8 years ago
Jeremy Koritzinsky
cf8244b37a
Move current contents of Avalonia.Markup to Avalonia.Base. Move Avalonia.Markup.Xaml.Data/Parser classes to Avalonia.Markup since they're not Xaml-specific.
Use pattern-matching switch.
Fix bug from cleanup.
8 years ago
Steven Kirk
25ed770790
Fix raising property changed for attached property.
Raise a property changed event for attached properties when `InheritanceParent` is set. This was broken by #1499 .
Fixes #1576
8 years ago
Steven Kirk
b615be746a
Added a few StringTokenizer tests.
8 years ago
Steven Kirk
44fe6aa6ac
Fix failing unit tests.
AvaloniaProperty registrations are for life (of the test runner) not for christmas.
8 years ago
Steven Kirk
7d8dcc02ec
Added failing test for #1568
8 years ago
Steven Kirk
7588b16044
Reworked TypeConverters.
I started fixing #1559 and decided to rework our `TypeConverter` infrastructure a bit.
This PR renames `AvaloniaDefaultTypeConverters` to `AvaloniaTypeConverters` and allow registration of 3rd party converters here.
`AvaloniaTypeConverters` improves upon the type converter functionality in the BCL by providing the followinng extra functionality:
- Allow registering non-constructed generic types (such as `AvaloniaList<>`) - `AvaloniaTypeConverters` will do the sensible thing and create an `AvaloniaListConverter<T>` with the correct type
- If no type converter is provided, look for a a static `Parse(string)` method which can be used to create an implicit type converter
This allows us to remove a bunch of `TypeConverter`s which just called the relevant `Parse` method.
Fixes #1559
8 years ago
Steven Kirk
b02ad2be48
Fix failing tests.
This class was registering a global attached property which affected other tests.
8 years ago
Steven Kirk
f0d0429644
Remove unused member.
8 years ago
Steven Kirk
44cfcfb04d
Allow any property to be registered anywhere.
Makes Avalonia more like other XAML frameworks, in that any avalonia property can now be set anywhere. The XAML parser however will only allow you to set registered properties.
8 years ago
Steven Kirk
7b4cd4f96d
Modify/add tests for non-registered properties.
We should change to the behavior of other XAML frameworks where non-registered `AvaloniaProperty`s can be set on `AvaloniaObject`s via code.
8 years ago
Steven Kirk
30e78dc5b6
Only run unit tests on .net core.
This allows us to run them on linux.
8 years ago
José Pedro
7cccc6bda0
Use nameof where possible.
8 years ago
Jeremy Koritzinsky
eb7c010462
Retarget .Net Framework projects to 4.7
Works around dotnet/standard#567 .
8 years ago
Steven Kirk
4676ac5fb2
Don't use ObserveOn in Bindings.
Instead of using `Observable.ObserveOn` in bindings, interface with `Dispatcher.UIThread` to schedule binding notifications on the UI thread. This saves a significant amount of memory.
8 years ago
Jeremy Koritzinsky
05eda280de
Refactor DeferredSetter logic to allow passing references to backing fields and utilizing that in all usages. Refactor SetAndRaise logic to be combined and simplified between the two use cases. Now the common case delegates to the less specialized case.
8 years ago
Jeremy Koritzinsky
d8efff505d
Clean up formatting. Fix bug in PriorityValue usage of DeferredSetter. Change DeferredSetter to use ConditionalWeakTable to not hold strong references to PriorityValue objects.
8 years ago
Steven Kirk
409e40c8be
Added AvaloniaObject.IsAnimating(property).
Added a method to test whether a property on an object is currently animating.
8 years ago
Steven Kirk
b40be8b1c4
Fix error in AvaloniaList.MoveRange event.
It was raising the event with the offset `newIndex` rather than the `newIndex` that was passed.
8 years ago
Steven Kirk
5cc5b91930
Fix xunit warnings.
8 years ago