* Make sure to clean up VisualChildren and created text runs when the TextLayout is invalidate
* Remove localized comment
---------
Co-authored-by: Tim <47110241+timunie@users.noreply.github.com>
#Conflicts:
# src/Avalonia.Controls/TextBlock.cs
* Add StartWithClassicDesktopLifetime overload with a lifetime builder
* Disallow changing Application.ApplicationLifetime after setup was completed
* Avoid static dependency on a singleton lifetime
* Introduce SetupWithClassicDesktopLifetime method
* Move more logic from Start method to Setup
* Add docs
* Avoid public API changes
* Fix tests
* Repalce locator usage with `.UseLifetimeOverride`
---------
Co-authored-by: Benedikt Stebner <Gillibald@users.noreply.github.com>
* Add an item with null values to the SelectingItemsControl test data
* Fixed NullReferenceException when SelectedValueBinding evulates to null
Fixed SelectedValue bindings being overwritten when a new item is selected
* Adds the ImmutablePenWithDynamicBrush and fixes Border and Shape border re-rendering when changing Brush value
* Removes the ImmutablePenWithDynamicBrush, rollback to Pen
* Cache and reuse Pen
* Move all Pen's updating logic to Pen.TryModifyOrCreate
* Add some tests for Pen.TryModifyOrCreate
* Add proper handling for DashStyle
* Invert condition in Pen.TryModifyOrCreate, fixes the logic
---------
Co-authored-by: Max Katz <maxkatz6@outlook.com>
Co-authored-by: Tim <47110241+timunie@users.noreply.github.com>
* Add SelectingItemsControl property init order tests
* Property order in SelectedItemsControl doesn't matter on init
* Fix SelectedItemsControl properties during init when Selection is set
* Fixed SelectedItemsControl.AnchorIndex after init
* Updated RenderDataRectangleNode.HitTest to properly hit-test rounded rectangles.
* Moved rounded rectangle contains logic to the RoundedRect struct, added unit tests, and refactored previous RenderDataRectangleNode changes.
* Fixed a comment typo.
* Added a private access modifier to a method.
* fix: Avalonia.Generators not found
if you put SourceGenerators.props in a project with path are like this:"C:\GitHub\Avalonia\sample\mobile\android\ANoteSample\ANoteSample.csproj", the Compiler is not able to found `Avalonia.Generators`
* test: Add test #10046 Xaml Compiler error when code-behind class contains a DllImport method
* fix: Xaml Compiler error when code-behind class contains a DllImport method
* fix: Address Review
* fix: ValidateApiDiff has thrown an exception
* Physical key handling for Windows
* Physical key handling for macOS
* Physical key handling for X11
* Physical keys: cleanup unused keys
* Key symbols: ensure consistent behavior between platforms
* Fix dead key symbol for Windows
* Physical key handling for browser
* Physical keys: use new overloads where possible
* Key symbol for VNC
* Physical key handling in previewer
* Key symbol for forwarded X11 IME key
* Key symbol for Android
* Obsolete old RawKeyEventArgs ctor
* Fix key symbols for macOS with modifiers
* Adjust PhysicalKey members naming
* Use explicit std::hash for AvnKey/AvnPhysicalKey
Should hopefully satisfy the older compiler on the CI server
* Headless: added KeyPressQwerty
---------
Co-authored-by: Dan Walmsley <dan@walms.co.uk>
Co-authored-by: Steven Kirk <grokys@users.noreply.github.com>
* Add failing test for RangeBase overriding Value on DataContext changed
* Add bool flag to skip coercing min, max and value while DataContext is
changing
* Add failing unit test for scenario 1 in #11878.
* Set TabOnceActiveElement on realized container.
Fixes scenario 1 in #11878.
* Use TabOnceActiveElement to decide focused element.
Fixes scenario #3 in #11878.
* Added failing unit tests for #11666.
* Handle items replaced with its own logic.
Don't rely on a remove/insert - it creates more work than needed.
* Fix some off-by-N errors in RealizedStackElements.
Fixes#11666
* Don't alter state in properties.
The `IValueEntry.HasValue` and `ValueFrame.IsActive` properties could alter state, which meant that when inspecting objects with these properties in a debugger, the state got altered by observing it. Make them methods.
* Deleted unused file.
* Add failing test for #12381.
* Use the index from the event in EvaluateIsActive.
Break the rules in this case.
Fixes#12381
---------
Co-authored-by: Max Katz <maxkatz6@outlook.com>
* Add failing test for #8638.
* Don't hide tooltip when pointer is over tooltip.
Fixes#8638
* Close the tooltip when pointer exits.
If the pointer has been moved from the control to the tooltip, then out of the tooltip to another control, ensure that the tooltip is closed.
* AdornedControl can be a standard CLR property.
* Test - On empty PM/AM designator on culture info the time picker should show AM/PM
* On empty PM/AM designator on culture info the time picker should show AM/PM
* Remove focus hack from Popup.
* Added failing focus scope tests.
* Refactor focus scopes in FocusManager.
- Store focused element within a scope using an attached property (like WPF)
- Store current focus root so that focus can be restored to that root when a focused control or active focus scope is removed
Fixes#13325
* Suppress API compat error.
This was being produced for a compiler-generated enumerable class that was erroneously being included in the reference assembly for `FocusManager`.
* Remove focus hack from ContextMenu.
And add failing test now that the hack is removed.
* Try to return a rooted host visual.
Fixes failing test from previous comment where focus wasn't restored when closing a context menu.
#Conflicts:
# src/Avalonia.Controls/Primitives/Popup.cs
* Add integration test for access key indicators in macOS menu bar titles.
Tests for access key indicators displaying as plain underscores in macOS menu bar items.
* Exclude access key markers from native menu titles on macOS.
macOS does not support access key markers, so they just display as extra underscores.
* Repro for Line_Formatting_For_Oversized_Embedded_Runs_Does_Not_Freeze
* Repro for Line_With_IncrementalTab_Should_Return_Correct_Backspace_Position
* Fix GetBackspaceCaretCharacterHit
Fix GetPreviousCaretCharacterHit
Fix WrapWithOverflow for not text runs
* Fix custom font manager
* Move DejaVuSans to a different location to prevent using it as a fallback
---------
Co-authored-by: Nikita Tsukanov <keks9n@gmail.com>
* Repro unit test for GetCharacterHitFromDistance being broken with hidden runs
* Repro for infinite loop in GetTextBounds
* Fix failing tests
* Fix GetRunBoundsRightToLeft
---------
Co-authored-by: Nikita Tsukanov <keks9n@gmail.com>
* Add failing test for #13064
* Remove Content binding from ScrollViewer template.
Since #10803, the `ScrollContentPresenter.Content` binding is managed internally, not via a binding in the template.
* Assign owner before doing subscriptions.
Fixes#13064.
* Fix HeadlessUnitTestSession creation race condition
* Bind Compositor/MediaContext to a fixed UI thread
* Fix dead lock in AvaloniaTestCase
* Rename Compositor.UIThreadDispatcher to Dispatcher