Browse Source

Merge branch 'master' into feature/TabControlRework

pull/1842/head
Benedikt Schroeder 8 years ago
committed by GitHub
parent
commit
caa1053b25
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      samples/ControlCatalog/ControlCatalog.csproj
  2. 1
      samples/ControlCatalog/MainView.xaml
  3. 13
      samples/ControlCatalog/Pages/ListBoxPage.xaml
  4. 25
      samples/ControlCatalog/Pages/ListBoxPage.xaml.cs
  5. 4
      samples/ControlCatalog/Pages/NumericUpDownPage.xaml
  6. 8
      samples/ControlCatalog/Pages/ScreenPage.cs
  7. 6
      src/Android/Avalonia.Android/AndroidPlatform.cs
  8. 10
      src/Android/Avalonia.Android/AndroidThreadingInterface.cs
  9. 14
      src/Android/Avalonia.Android/AppBuilder.cs
  10. 9
      src/Android/Avalonia.Android/AvaloniaActivity.cs
  11. 9
      src/Android/Avalonia.Android/AvaloniaView.cs
  12. 2
      src/Android/Avalonia.Android/CursorFactory.cs
  13. 4
      src/Android/Avalonia.Android/Platform/ClipboardImpl.cs
  14. 5
      src/Android/Avalonia.Android/Platform/Input/AndroidKeyboardDevice.cs
  15. 2
      src/Android/Avalonia.Android/Platform/SkiaPlatform/AndroidFramebuffer.cs
  16. 10
      src/Android/Avalonia.Android/Platform/SkiaPlatform/InvalidationAwareSurfaceView.cs
  17. 9
      src/Android/Avalonia.Android/Platform/SkiaPlatform/PopupImpl.cs
  18. 13
      src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs
  19. 8
      src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidKeyboardEventsHelper.cs
  20. 6
      src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidTouchEventsHelper.cs
  21. 9
      src/Android/Avalonia.Android/Platform/Specific/IAndroidView.cs
  22. 15
      src/Android/Avalonia.Android/PlatformIconLoader.cs
  23. 2
      src/Android/Avalonia.Android/SystemDialogImpl.cs
  24. 9
      src/Avalonia.Animation/Animatable.cs
  25. 12
      src/Avalonia.Animation/Animation.cs
  26. 4
      src/Avalonia.Animation/AnimatorKeyFrame.cs
  27. 17
      src/Avalonia.Animation/Animator`1.cs
  28. 2
      src/Avalonia.Animation/Cue.cs
  29. 11
      src/Avalonia.Animation/DoubleAnimator.cs
  30. 1
      src/Avalonia.Animation/DoubleTransition.cs
  31. 1
      src/Avalonia.Animation/Easing/BounceEaseIn.cs
  32. 5
      src/Avalonia.Animation/Easing/Easing.cs
  33. 3
      src/Avalonia.Animation/Easing/EasingTypeConverter.cs
  34. 2
      src/Avalonia.Animation/Easing/ElasticEaseIn.cs
  35. 2
      src/Avalonia.Animation/Easing/ElasticEaseOut.cs
  36. 2
      src/Avalonia.Animation/Easing/SineEaseIn.cs
  37. 2
      src/Avalonia.Animation/Easing/SineEaseOut.cs
  38. 6
      src/Avalonia.Animation/FillMode.cs
  39. 1
      src/Avalonia.Animation/FloatTransition.cs
  40. 2
      src/Avalonia.Animation/IAnimation.cs
  41. 1
      src/Avalonia.Animation/IAnimator.cs
  42. 2
      src/Avalonia.Animation/ITransition.cs
  43. 1
      src/Avalonia.Animation/IntegerTransition.cs
  44. 3
      src/Avalonia.Animation/KeyFrame.cs
  45. 11
      src/Avalonia.Animation/KeyFramePair`1.cs
  46. 8
      src/Avalonia.Animation/PlayState.cs
  47. 6
      src/Avalonia.Animation/PlaybackDirection.cs
  48. 5
      src/Avalonia.Animation/RepeatCount.cs
  49. 3
      src/Avalonia.Animation/RepeatCountTypeConverter.cs
  50. 2
      src/Avalonia.Animation/Timing.cs
  51. 3
      src/Avalonia.Animation/Transition`1.cs
  52. 2
      src/Avalonia.Animation/Utils/DoubleUtils.cs
  53. 1
      src/Avalonia.Base/AvaloniaLocator.cs
  54. 2
      src/Avalonia.Base/AvaloniaObject.cs
  55. 4
      src/Avalonia.Base/AvaloniaProperty.cs
  56. 3
      src/Avalonia.Base/Collections/AvaloniaList.cs
  57. 2
      src/Avalonia.Base/Collections/AvaloniaListConverter.cs
  58. 1
      src/Avalonia.Base/Collections/AvaloniaListExtensions.cs
  59. 4
      src/Avalonia.Base/Collections/IAvaloniaList.cs
  60. 4
      src/Avalonia.Base/Collections/IAvaloniaReadOnlyList.cs
  61. 4
      src/Avalonia.Base/Collections/NotifyCollectionChangedExtensions.cs
  62. 10
      src/Avalonia.Base/Data/BindingChainException.cs
  63. 1
      src/Avalonia.Base/Data/BindingNotification.cs
  64. 2
      src/Avalonia.Base/Data/BindingOperations.cs
  65. 6
      src/Avalonia.Base/Data/Converters/AlwaysEnabledDelegateCommand.cs
  66. 3
      src/Avalonia.Base/Data/Converters/DefaultValueConverter.cs
  67. 1
      src/Avalonia.Base/Data/Converters/IValueConverter.cs
  68. 3
      src/Avalonia.Base/Data/Converters/StringConverters.cs
  69. 2
      src/Avalonia.Base/Data/Core/AvaloniaPropertyAccessorNode.cs
  70. 3
      src/Avalonia.Base/Data/Core/EmptyExpressionNode.cs
  71. 1
      src/Avalonia.Base/Data/Core/ExpressionObserver.cs
  72. 1
      src/Avalonia.Base/Data/Core/ExpressionParseException.cs
  73. 6
      src/Avalonia.Base/Data/Core/ITransformNode.cs
  74. 2
      src/Avalonia.Base/Data/Core/IndexerExpressionNode.cs
  75. 4
      src/Avalonia.Base/Data/Core/IndexerNodeBase.cs
  76. 1
      src/Avalonia.Base/Data/Core/LogicalNotNode.cs
  77. 5
      src/Avalonia.Base/Data/Core/Parsers/ExpressionTreeParser.cs
  78. 2
      src/Avalonia.Base/Data/Core/Parsers/ExpressionVisitorNodeBuilder.cs
  79. 2
      src/Avalonia.Base/Data/Core/Plugins/AvaloniaPropertyAccessorPlugin.cs
  80. 3
      src/Avalonia.Base/Data/Core/Plugins/DataAnnotationsValidationPlugin.cs
  81. 9
      src/Avalonia.Base/Data/Core/Plugins/DataValidationBase.cs
  82. 2
      src/Avalonia.Base/Data/Core/Plugins/ExceptionValidationPlugin.cs
  83. 1
      src/Avalonia.Base/Data/Core/Plugins/IDataValidationPlugin.cs
  84. 2
      src/Avalonia.Base/Data/Core/Plugins/IndeiValidationPlugin.cs
  85. 2
      src/Avalonia.Base/Data/Core/Plugins/InpcPropertyAccessorPlugin.cs
  86. 5
      src/Avalonia.Base/Data/Core/Plugins/MethodAccessorPlugin.cs
  87. 2
      src/Avalonia.Base/Data/Core/Plugins/TaskStreamPlugin.cs
  88. 7
      src/Avalonia.Base/Data/Core/SettableNode.cs
  89. 2
      src/Avalonia.Base/Data/Core/StreamBindingExtensions.cs
  90. 2
      src/Avalonia.Base/Data/IBinding.cs
  91. 2
      src/Avalonia.Base/Logging/Logger.cs
  92. 4
      src/Avalonia.Base/Platform/IRuntimePlatform.cs
  93. 1
      src/Avalonia.Base/PriorityLevel.cs
  94. 6
      src/Avalonia.Base/PriorityValue.cs
  95. 1
      src/Avalonia.Base/PropertyMetadata.cs
  96. 7
      src/Avalonia.Base/Threading/AvaloniaSynchronizationContext.cs
  97. 14
      src/Avalonia.Base/Threading/Dispatcher.cs
  98. 18
      src/Avalonia.Base/Threading/IDispatcher.cs
  99. 2
      src/Avalonia.Base/Utilities/CharacterReader.cs
  100. 3
      src/Avalonia.Base/Utilities/DeferredSetter.cs

2
samples/ControlCatalog/ControlCatalog.csproj

@ -50,4 +50,4 @@
</ItemGroup> </ItemGroup>
<Import Project="..\..\build\Serilog.props" /> <Import Project="..\..\build\Serilog.props" />
</Project> </Project>

1
samples/ControlCatalog/MainView.xaml

@ -17,6 +17,7 @@
<TabItem Header="Expander"><pages:ExpanderPage/></TabItem> <TabItem Header="Expander"><pages:ExpanderPage/></TabItem>
<TabItem Header="Image"><pages:ImagePage/></TabItem> <TabItem Header="Image"><pages:ImagePage/></TabItem>
<TabItem Header="LayoutTransformControl"><pages:LayoutTransformControlPage/></TabItem> <TabItem Header="LayoutTransformControl"><pages:LayoutTransformControlPage/></TabItem>
<TabItem Header="ListBox"><pages:ListBoxPage/></TabItem>
<TabItem Header="Menu"><pages:MenuPage/></TabItem> <TabItem Header="Menu"><pages:MenuPage/></TabItem>
<TabItem Header="NumericUpDown"><pages:NumericUpDownPage/></TabItem> <TabItem Header="NumericUpDown"><pages:NumericUpDownPage/></TabItem>
<TabItem Header="ProgressBar"><pages:ProgressBarPage/></TabItem> <TabItem Header="ProgressBar"><pages:ProgressBarPage/></TabItem>

13
samples/ControlCatalog/Pages/ListBoxPage.xaml

@ -0,0 +1,13 @@
<UserControl xmlns="https://github.com/avaloniaui">
<StackPanel Orientation="Vertical" Spacing="4">
<TextBlock Classes="h1">ListBox</TextBlock>
<TextBlock Classes="h2">Hosts a collection of ListBoxItem.</TextBlock>
<StackPanel Orientation="Horizontal"
Margin="0,16,0,0"
HorizontalAlignment="Center"
Spacing="16">
<ListBox Items="{Binding}" Width="250" Height="350"></ListBox>
</StackPanel>
</StackPanel>
</UserControl>

25
samples/ControlCatalog/Pages/ListBoxPage.xaml.cs

@ -0,0 +1,25 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using Avalonia.Controls;
using Avalonia.Markup.Xaml;
namespace ControlCatalog.Pages
{
public class ListBoxPage : UserControl
{
public ListBoxPage()
{
this.InitializeComponent();
DataContext = Enumerable.Range(1, 10).Select(i => $"Item {i}" )
.ToArray();
}
private void InitializeComponent()
{
AvaloniaXamlLoader.Load(this);
}
}
}

4
samples/ControlCatalog/Pages/NumericUpDownPage.xaml

@ -14,7 +14,7 @@
<CheckBox Grid.Row="1" Grid.Column="1" IsChecked="{Binding #upDown.IsReadOnly}" VerticalAlignment="Center" Margin="2"/> <CheckBox Grid.Row="1" Grid.Column="1" IsChecked="{Binding #upDown.IsReadOnly}" VerticalAlignment="Center" Margin="2"/>
<TextBlock Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" Margin="2">AllowSpin:</TextBlock> <TextBlock Grid.Row="2" Grid.Column="0" VerticalAlignment="Center" Margin="2">AllowSpin:</TextBlock>
<CheckBox Grid.Row="2" Grid.Column="1" IsChecked="{Binding #upDown.AllowSpin}" IsEnabled="{Binding #upDown.!IsReadOnly}" VerticalAlignment="Center" Margin="2"/> <CheckBox Grid.Row="2" Grid.Column="1" IsChecked="{Binding #upDown.AllowSpin}" VerticalAlignment="Center" Margin="2"/>
<TextBlock Grid.Row="3" Grid.Column="0" VerticalAlignment="Center" Margin="2">ClipValueToMinMax:</TextBlock> <TextBlock Grid.Row="3" Grid.Column="0" VerticalAlignment="Center" Margin="2">ClipValueToMinMax:</TextBlock>
<CheckBox Grid.Row="3" Grid.Column="1" IsChecked="{Binding #upDown.ClipValueToMinMax}" VerticalAlignment="Center" Margin="2"/> <CheckBox Grid.Row="3" Grid.Column="1" IsChecked="{Binding #upDown.ClipValueToMinMax}" VerticalAlignment="Center" Margin="2"/>
@ -77,4 +77,4 @@
</StackPanel> </StackPanel>
</StackPanel> </StackPanel>
</UserControl> </UserControl>

8
samples/ControlCatalog/Pages/ScreenPage.cs

@ -42,7 +42,11 @@ namespace ControlCatalog.Pages
context.DrawRectangle(p, boundsRect); context.DrawRectangle(p, boundsRect);
context.DrawRectangle(p, workingAreaRect); context.DrawRectangle(p, workingAreaRect);
FormattedText text = new FormattedText(); FormattedText text = new FormattedText()
{
Typeface = Typeface.Default
};
text.Text = $"Bounds: {screen.Bounds.Width}:{screen.Bounds.Height}"; text.Text = $"Bounds: {screen.Bounds.Width}:{screen.Bounds.Height}";
context.DrawText(Brushes.Black, boundsRect.Position.WithY(boundsRect.Size.Height), text); context.DrawText(Brushes.Black, boundsRect.Position.WithY(boundsRect.Size.Height), text);
@ -59,4 +63,4 @@ namespace ControlCatalog.Pages
context.DrawRectangle(p, new Rect(w.Position.X / 10f + Math.Abs(_leftMost), w.Position.Y / 10, w.Bounds.Width / 10, w.Bounds.Height / 10)); context.DrawRectangle(p, new Rect(w.Position.X / 10f + Math.Abs(_leftMost), w.Position.Y / 10, w.Bounds.Width / 10, w.Bounds.Height / 10));
} }
} }
} }

6
src/Android/Avalonia.Android/AndroidPlatform.cs

@ -1,8 +1,4 @@
using System; using System;
using System.IO;
using System.Linq;
using Android.Content;
using Android.Views;
using Avalonia.Android.Platform; using Avalonia.Android.Platform;
using Avalonia.Android.Platform.Input; using Avalonia.Android.Platform.Input;
using Avalonia.Android.Platform.SkiaPlatform; using Avalonia.Android.Platform.SkiaPlatform;
@ -79,4 +75,4 @@ namespace Avalonia.Android
return new PopupImpl(); return new PopupImpl();
} }
} }
} }

10
src/Android/Avalonia.Android/AndroidThreadingInterface.cs

@ -1,16 +1,7 @@
using System; using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Reactive.Disposables; using System.Reactive.Disposables;
using System.Text;
using System.Threading; using System.Threading;
using Android.App;
using Android.Content;
using Android.OS; using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Avalonia.Platform; using Avalonia.Platform;
using Avalonia.Threading; using Avalonia.Threading;
@ -88,4 +79,3 @@ namespace Avalonia.Android
public event Action<DispatcherPriority?> Signaled; public event Action<DispatcherPriority?> Signaled;
} }
} }

14
src/Android/Avalonia.Android/AppBuilder.cs

@ -1,16 +1,4 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Avalonia.Controls; using Avalonia.Controls;
using Avalonia.Platform;
using Avalonia.Shared.PlatformSupport; using Avalonia.Shared.PlatformSupport;
namespace Avalonia namespace Avalonia
@ -23,4 +11,4 @@ namespace Avalonia
} }
} }
} }

9
src/Android/Avalonia.Android/AvaloniaActivity.cs

@ -1,14 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App; using Android.App;
using Android.Content;
using Android.OS; using Android.OS;
using Android.Runtime;
using Android.Views; using Android.Views;
using Android.Widget;
namespace Avalonia.Android namespace Avalonia.Android
{ {
@ -48,4 +41,4 @@ namespace Avalonia.Android
return View.DispatchKeyEvent(e); return View.DispatchKeyEvent(e);
} }
} }
} }

9
src/Android/Avalonia.Android/AvaloniaView.cs

@ -1,12 +1,5 @@
using System; using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content; using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views; using Android.Views;
using Android.Widget; using Android.Widget;
using Avalonia.Android.Platform.SkiaPlatform; using Avalonia.Android.Platform.SkiaPlatform;
@ -66,4 +59,4 @@ namespace Avalonia.Android
public IDisposable ShowDialog() => null; public IDisposable ShowDialog() => null;
} }
} }
} }

2
src/Android/Avalonia.Android/CursorFactory.cs

@ -9,4 +9,4 @@ namespace Avalonia.Android
public IPlatformHandle GetCursor(StandardCursorType cursorType) public IPlatformHandle GetCursor(StandardCursorType cursorType)
=> new PlatformHandle(IntPtr.Zero, "ZeroCursor"); => new PlatformHandle(IntPtr.Zero, "ZeroCursor");
} }
} }

4
src/Android/Avalonia.Android/Platform/ClipboardImpl.cs

@ -1,9 +1,9 @@
using System.Threading.Tasks;
using Android.Content; using Android.Content;
using Android.Runtime; using Android.Runtime;
using Android.Views; using Android.Views;
using Avalonia.Input.Platform; using Avalonia.Input.Platform;
using Avalonia.Platform; using Avalonia.Platform;
using System.Threading.Tasks;
namespace Avalonia.Android.Platform namespace Avalonia.Android.Platform
{ {
@ -44,4 +44,4 @@ namespace Avalonia.Android.Platform
return Task.FromResult<object>(null); return Task.FromResult<object>(null);
} }
} }
} }

5
src/Android/Avalonia.Android/Platform/Input/AndroidKeyboardDevice.cs

@ -1,12 +1,11 @@
using System;
using Avalonia.Input;
//using Android.InputMethodServices; //using Android.InputMethodServices;
using System.Collections.Generic; using System.Collections.Generic;
using Android.Views; using Android.Views;
using Avalonia.Input;
namespace Avalonia.Android.Platform.Input namespace Avalonia.Android.Platform.Input
{ {
public class AndroidKeyboardDevice : KeyboardDevice, IKeyboardDevice { public class AndroidKeyboardDevice : KeyboardDevice, IKeyboardDevice {
private static readonly Dictionary<Keycode, Key> KeyDic = new Dictionary<Keycode, Key> private static readonly Dictionary<Keycode, Key> KeyDic = new Dictionary<Keycode, Key>
{ {
// { Keycode.Cancel?, Key.Cancel }, // { Keycode.Cancel?, Key.Cancel },

2
src/Android/Avalonia.Android/Platform/SkiaPlatform/AndroidFramebuffer.cs

@ -102,4 +102,4 @@ namespace Avalonia.Android.Platform.SkiaPlatform
uint reserved6; uint reserved6;
} }
} }
} }

10
src/Android/Avalonia.Android/Platform/SkiaPlatform/InvalidationAwareSurfaceView.cs

@ -1,17 +1,9 @@
using System; using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content; using Android.Content;
using Android.Graphics; using Android.Graphics;
using Android.OS; using Android.OS;
using Android.Runtime;
using Android.Util; using Android.Util;
using Android.Views; using Android.Views;
using Android.Widget;
using Avalonia.Media;
using Avalonia.Platform; using Avalonia.Platform;
namespace Avalonia.Android namespace Avalonia.Android
@ -90,4 +82,4 @@ namespace Avalonia.Android
protected abstract void Draw(); protected abstract void Draw();
public string HandleDescriptor => "SurfaceView"; public string HandleDescriptor => "SurfaceView";
} }
} }

9
src/Android/Avalonia.Android/Platform/SkiaPlatform/PopupImpl.cs

@ -1,15 +1,8 @@
using System; using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content; using Android.Content;
using Android.Graphics; using Android.Graphics;
using Android.OS;
using Android.Runtime; using Android.Runtime;
using Android.Views; using Android.Views;
using Android.Widget;
using Avalonia.Controls; using Avalonia.Controls;
using Avalonia.Platform; using Avalonia.Platform;
@ -116,4 +109,4 @@ namespace Avalonia.Android.Platform.SkiaPlatform
//Not supported //Not supported
} }
} }
} }

13
src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs

@ -1,18 +1,15 @@
using Android.App; using System;
using System.Collections.Generic;
using Android.Content; using Android.Content;
using Android.Graphics; using Android.Graphics;
using Android.Views; using Android.Views;
using Avalonia.Android.Platform.Input;
using Avalonia.Android.Platform.Specific; using Avalonia.Android.Platform.Specific;
using Avalonia.Android.Platform.Specific.Helpers; using Avalonia.Android.Platform.Specific.Helpers;
using Avalonia.Controls.Platform.Surfaces;
using Avalonia.Input; using Avalonia.Input;
using Avalonia.Input.Raw; using Avalonia.Input.Raw;
using Avalonia.Platform; using Avalonia.Platform;
using System;
using System.Collections.Generic;
using System.Reactive.Disposables;
using Avalonia.Android.Platform.Input;
using Avalonia.Controls;
using Avalonia.Controls.Platform.Surfaces;
using Avalonia.Rendering; using Avalonia.Rendering;
namespace Avalonia.Android.Platform.SkiaPlatform namespace Avalonia.Android.Platform.SkiaPlatform
@ -196,4 +193,4 @@ namespace Avalonia.Android.Platform.SkiaPlatform
ILockedFramebuffer IFramebufferPlatformSurface.Lock()=>new AndroidFramebuffer(_view.Holder.Surface); ILockedFramebuffer IFramebufferPlatformSurface.Lock()=>new AndroidFramebuffer(_view.Holder.Surface);
} }
} }

8
src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidKeyboardEventsHelper.cs

@ -1,3 +1,5 @@
using System;
using System.ComponentModel;
using Android.Content; using Android.Content;
using Android.Runtime; using Android.Runtime;
using Android.Views; using Android.Views;
@ -7,8 +9,6 @@ using Avalonia.Controls;
using Avalonia.Input; using Avalonia.Input;
using Avalonia.Input.Raw; using Avalonia.Input.Raw;
using Avalonia.Platform; using Avalonia.Platform;
using System;
using System.ComponentModel;
namespace Avalonia.Android.Platform.Specific.Helpers namespace Avalonia.Android.Platform.Specific.Helpers
{ {
@ -120,7 +120,7 @@ namespace Avalonia.Android.Platform.Specific.Helpers
_lastFocusedElement = element; _lastFocusedElement = element;
} }
public void ActivateAutoShowKeybord() public void ActivateAutoShowKeyboard()
{ {
var kbDevice = (KeyboardDevice.Instance as INotifyPropertyChanged); var kbDevice = (KeyboardDevice.Instance as INotifyPropertyChanged);
@ -142,4 +142,4 @@ namespace Avalonia.Android.Platform.Specific.Helpers
HandleEvents = false; HandleEvents = false;
} }
} }
} }

6
src/Android/Avalonia.Android/Platform/Specific/Helpers/AndroidTouchEventsHelper.cs

@ -1,10 +1,8 @@
using Android.Graphics; using System;
using Android.Views; using Android.Views;
using Avalonia.Input; using Avalonia.Input;
using Avalonia.Input.Raw; using Avalonia.Input.Raw;
using Avalonia.Media;
using Avalonia.Platform; using Avalonia.Platform;
using System;
namespace Avalonia.Android.Platform.Specific.Helpers namespace Avalonia.Android.Platform.Specific.Helpers
{ {
@ -131,4 +129,4 @@ namespace Avalonia.Android.Platform.Specific.Helpers
HandleEvents = false; HandleEvents = false;
} }
} }
} }

9
src/Android/Avalonia.Android/Platform/Specific/IAndroidView.cs

@ -1,16 +1,9 @@
using Android.Graphics;
using Android.Views; using Android.Views;
using System;
using System.Collections.Generic;
namespace Avalonia.Android.Platform.Specific namespace Avalonia.Android.Platform.Specific
{ {
public interface IAndroidView public interface IAndroidView
{ {
View View { get; } View View { get; }
} }
}
}

15
src/Android/Avalonia.Android/PlatformIconLoader.cs

@ -1,16 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Avalonia.Platform;
using System.IO; using System.IO;
using Avalonia.Platform;
namespace Avalonia.Android namespace Avalonia.Android
{ {
@ -54,4 +43,4 @@ namespace Avalonia.Android
stream.CopyTo(outputStream); stream.CopyTo(outputStream);
} }
} }
} }

2
src/Android/Avalonia.Android/SystemDialogImpl.cs

@ -18,4 +18,4 @@ namespace Avalonia.Android
throw new NotImplementedException(); throw new NotImplementedException();
} }
} }
} }

9
src/Avalonia.Animation/Animatable.cs

@ -1,15 +1,12 @@
// Copyright (c) The Avalonia Project. All rights reserved. // Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using System.Linq;
using Avalonia.Data;
using System; using System;
using System.Collections.Generic;
using System.Linq;
using System.Reactive.Linq; using System.Reactive.Linq;
using Avalonia.Collections; using Avalonia.Collections;
using Avalonia.Animation; using Avalonia.Data;
using System.Collections.Generic;
using System.Threading;
using System.Collections.Concurrent;
namespace Avalonia.Animation namespace Avalonia.Animation
{ {

12
src/Avalonia.Animation/Animation.cs

@ -1,18 +1,14 @@
// Copyright (c) The Avalonia Project. All rights reserved. // Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using Avalonia.Animation.Easings;
using Avalonia.Animation;
using Avalonia.Collections;
using Avalonia.Metadata;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.Specialized;
using System.Reflection;
using System.Linq; using System.Linq;
using System.Threading.Tasks;
using System.Reactive.Linq;
using System.Reactive.Disposables; using System.Reactive.Disposables;
using System.Reactive.Linq;
using System.Threading.Tasks;
using Avalonia.Animation.Easings;
using Avalonia.Collections;
namespace Avalonia.Animation namespace Avalonia.Animation
{ {

4
src/Avalonia.Animation/AnimatorKeyFrame.cs

@ -1,9 +1,5 @@
using System; using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel; using System.ComponentModel;
using Avalonia.Metadata;
using Avalonia.Collections;
using Avalonia.Data; using Avalonia.Data;
using Avalonia.Reactive; using Avalonia.Reactive;

17
src/Avalonia.Animation/Animator`1.cs

@ -1,13 +1,10 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text;
using Avalonia.Collections;
using System.ComponentModel;
using Avalonia.Animation.Utils;
using System.Reactive.Linq;
using System.Linq; using System.Linq;
using System.Reactive.Linq;
using Avalonia.Animation.Utils;
using Avalonia.Collections;
using Avalonia.Data; using Avalonia.Data;
using System.Reactive.Disposables;
namespace Avalonia.Animation namespace Avalonia.Animation
{ {
@ -21,7 +18,7 @@ namespace Avalonia.Animation
/// </summary> /// </summary>
private readonly SortedList<double, (AnimatorKeyFrame, bool isNeutral)> _convertedKeyframes = new SortedList<double, (AnimatorKeyFrame, bool)>(); private readonly SortedList<double, (AnimatorKeyFrame, bool isNeutral)> _convertedKeyframes = new SortedList<double, (AnimatorKeyFrame, bool)>();
private bool _isVerfifiedAndConverted; private bool _isVerifiedAndConverted;
/// <summary> /// <summary>
/// Gets or sets the target property for the keyframe. /// Gets or sets the target property for the keyframe.
@ -31,13 +28,13 @@ namespace Avalonia.Animation
public Animator() public Animator()
{ {
// Invalidate keyframes when changed. // Invalidate keyframes when changed.
this.CollectionChanged += delegate { _isVerfifiedAndConverted = false; }; this.CollectionChanged += delegate { _isVerifiedAndConverted = false; };
} }
/// <inheritdoc/> /// <inheritdoc/>
public virtual IDisposable Apply(Animation animation, Animatable control, IObservable<bool> obsMatch, Action onComplete) public virtual IDisposable Apply(Animation animation, Animatable control, IObservable<bool> obsMatch, Action onComplete)
{ {
if (!_isVerfifiedAndConverted) if (!_isVerifiedAndConverted)
VerifyConvertKeyFrames(); VerifyConvertKeyFrames();
return obsMatch return obsMatch
@ -124,7 +121,7 @@ namespace Avalonia.Animation
} }
AddNeutralKeyFramesIfNeeded(); AddNeutralKeyFramesIfNeeded();
_isVerfifiedAndConverted = true; _isVerifiedAndConverted = true;
} }

2
src/Avalonia.Animation/Cue.cs

@ -1,8 +1,6 @@
using System; using System;
using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Globalization; using System.Globalization;
using System.Text;
namespace Avalonia.Animation namespace Avalonia.Animation
{ {

11
src/Avalonia.Animation/DoubleAnimator.cs

@ -1,13 +1,4 @@
using System; namespace Avalonia.Animation
using System.Collections.Generic;
using System.Text;
using System.Linq;
using System.Reactive.Linq;
using System.Diagnostics;
using Avalonia.Animation.Utils;
using Avalonia.Data;
namespace Avalonia.Animation
{ {
/// <summary> /// <summary>
/// Animator that handles <see cref="double"/> properties. /// Animator that handles <see cref="double"/> properties.

1
src/Avalonia.Animation/DoubleTransition.cs

@ -1,7 +1,6 @@
// Copyright (c) The Avalonia Project. All rights reserved. // Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using Avalonia.Metadata;
using System; using System;
using System.Reactive.Linq; using System.Reactive.Linq;

1
src/Avalonia.Animation/Easing/BounceEaseIn.cs

@ -1,7 +1,6 @@
// Copyright (c) The Avalonia Project. All rights reserved. // Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using Avalonia.Animation.Utils; using Avalonia.Animation.Utils;
namespace Avalonia.Animation.Easings namespace Avalonia.Animation.Easings

5
src/Avalonia.Animation/Easing/Easing.cs

@ -1,10 +1,7 @@
using Avalonia.Collections;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text;
using System.Reflection;
using System.Linq;
using System.ComponentModel; using System.ComponentModel;
using System.Linq;
namespace Avalonia.Animation.Easings namespace Avalonia.Animation.Easings
{ {

3
src/Avalonia.Animation/Easing/EasingTypeConverter.cs

@ -1,7 +1,6 @@
// Copyright (c) The Avalonia Project. All rights reserved. // Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using Avalonia.Animation.Easings;
using System; using System;
using System.ComponentModel; using System.ComponentModel;
using System.Globalization; using System.Globalization;
@ -20,4 +19,4 @@ namespace Avalonia.Animation.Easings
return Easing.Parse((string)value); return Easing.Parse((string)value);
} }
} }
} }

2
src/Avalonia.Animation/Easing/ElasticEaseIn.cs

@ -1,8 +1,8 @@
// Copyright (c) The Avalonia Project. All rights reserved. // Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using Avalonia.Animation.Utils;
using System; using System;
using Avalonia.Animation.Utils;
namespace Avalonia.Animation.Easings namespace Avalonia.Animation.Easings
{ {

2
src/Avalonia.Animation/Easing/ElasticEaseOut.cs

@ -1,8 +1,8 @@
// Copyright (c) The Avalonia Project. All rights reserved. // Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using Avalonia.Animation.Utils;
using System; using System;
using Avalonia.Animation.Utils;
namespace Avalonia.Animation.Easings namespace Avalonia.Animation.Easings
{ {

2
src/Avalonia.Animation/Easing/SineEaseIn.cs

@ -1,8 +1,8 @@
// Copyright (c) The Avalonia Project. All rights reserved. // Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using Avalonia.Animation.Utils;
using System; using System;
using Avalonia.Animation.Utils;
namespace Avalonia.Animation.Easings namespace Avalonia.Animation.Easings
{ {

2
src/Avalonia.Animation/Easing/SineEaseOut.cs

@ -1,8 +1,8 @@
// Copyright (c) The Avalonia Project. All rights reserved. // Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using Avalonia.Animation.Utils;
using System; using System;
using Avalonia.Animation.Utils;
namespace Avalonia.Animation.Easings namespace Avalonia.Animation.Easings
{ {

6
src/Avalonia.Animation/FillMode.cs

@ -1,8 +1,4 @@
using System; namespace Avalonia.Animation
using System.Collections.Generic;
using System.Text;
namespace Avalonia.Animation
{ {
public enum FillMode public enum FillMode
{ {

1
src/Avalonia.Animation/FloatTransition.cs

@ -1,7 +1,6 @@
// Copyright (c) The Avalonia Project. All rights reserved. // Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using Avalonia.Metadata;
using System; using System;
using System.Reactive.Linq; using System.Reactive.Linq;

2
src/Avalonia.Animation/IAnimation.cs

@ -1,6 +1,4 @@
using System; using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Avalonia.Animation namespace Avalonia.Animation

1
src/Avalonia.Animation/IAnimator.cs

@ -1,6 +1,5 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text;
namespace Avalonia.Animation namespace Avalonia.Animation
{ {

2
src/Avalonia.Animation/ITransition.cs

@ -1,9 +1,7 @@
// Copyright (c) The Avalonia Project. All rights reserved. // Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using Avalonia.Metadata;
using System; using System;
using System.Reactive.Linq;
namespace Avalonia.Animation namespace Avalonia.Animation
{ {

1
src/Avalonia.Animation/IntegerTransition.cs

@ -1,7 +1,6 @@
// Copyright (c) The Avalonia Project. All rights reserved. // Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using Avalonia.Metadata;
using System; using System;
using System.Reactive.Linq; using System.Reactive.Linq;

3
src/Avalonia.Animation/KeyFrame.cs

@ -1,8 +1,5 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using Avalonia.Metadata;
using Avalonia.Collections; using Avalonia.Collections;
namespace Avalonia.Animation namespace Avalonia.Animation

11
src/Avalonia.Animation/KeyFramePair`1.cs

@ -1,14 +1,3 @@
using System;
using System.Collections.Generic;
using System.Text;
using Avalonia.Collections;
using System.ComponentModel;
using Avalonia.Animation.Utils;
using System.Reactive.Linq;
using System.Linq;
using Avalonia.Data;
using System.Reactive.Disposables;
namespace Avalonia.Animation namespace Avalonia.Animation
{ {
/// <summary> /// <summary>

8
src/Avalonia.Animation/PlayState.cs

@ -1,8 +1,4 @@
using System; namespace Avalonia.Animation
using System.Collections.Generic;
using System.Text;
namespace Avalonia.Animation
{ {
/// <summary> /// <summary>
/// Determines the playback state of an animation. /// Determines the playback state of an animation.
@ -24,4 +20,4 @@ namespace Avalonia.Animation
/// </summary> /// </summary>
Stop Stop
} }
} }

6
src/Avalonia.Animation/PlaybackDirection.cs

@ -1,8 +1,4 @@
using System; namespace Avalonia.Animation
using System.Collections.Generic;
using System.Text;
namespace Avalonia.Animation
{ {
/// <summary> /// <summary>
/// Determines the playback direction of an animation. /// Determines the playback direction of an animation.

5
src/Avalonia.Animation/RepeatCount.cs

@ -1,12 +1,9 @@
// Copyright (c) The Avalonia Project. All rights reserved. // Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using Avalonia.Utilities;
using System; using System;
using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Globalization; using System.Globalization;
using System.Linq;
namespace Avalonia.Animation namespace Avalonia.Animation
{ {
@ -199,4 +196,4 @@ namespace Avalonia.Animation
} }
} }
} }
} }

3
src/Avalonia.Animation/RepeatCountTypeConverter.cs

@ -1,7 +1,6 @@
// Copyright (c) The Avalonia Project. All rights reserved. // Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using Avalonia.Animation.Easings;
using System; using System;
using System.ComponentModel; using System.ComponentModel;
using System.Globalization; using System.Globalization;
@ -20,4 +19,4 @@ namespace Avalonia.Animation
return RepeatCount.Parse((string)value); return RepeatCount.Parse((string)value);
} }
} }
} }

2
src/Avalonia.Animation/Timing.cs

@ -2,10 +2,8 @@
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using System; using System;
using System.Diagnostics;
using System.Linq; using System.Linq;
using System.Reactive.Linq; using System.Reactive.Linq;
using Avalonia.Data;
using Avalonia.Threading; using Avalonia.Threading;
namespace Avalonia.Animation namespace Avalonia.Animation

3
src/Avalonia.Animation/Transition`1.cs

@ -1,7 +1,6 @@
// Copyright (c) The Avalonia Project. All rights reserved. // Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using Avalonia.Metadata;
using System; using System;
using System.Reactive.Linq; using System.Reactive.Linq;
using Avalonia.Animation.Easings; using Avalonia.Animation.Easings;
@ -65,4 +64,4 @@ namespace Avalonia.Animation
return control.Bind(Property, transition, Data.BindingPriority.Animation); return control.Bind(Property, transition, Data.BindingPriority.Animation);
} }
} }
} }

2
src/Avalonia.Animation/Utils/DoubleUtils.cs

@ -2,8 +2,6 @@
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using System; using System;
using System.Collections.Generic;
using System.Text;
namespace Avalonia.Animation.Utils namespace Avalonia.Animation.Utils
{ {

1
src/Avalonia.Base/AvaloniaLocator.cs

@ -1,6 +1,5 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Reactive.Disposables;
#pragma warning disable CS1591 // Enable me later #pragma warning disable CS1591 // Enable me later

2
src/Avalonia.Base/AvaloniaObject.cs

@ -5,12 +5,10 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Linq; using System.Linq;
using System.Reactive.Disposables;
using System.Reactive.Linq; using System.Reactive.Linq;
using Avalonia.Data; using Avalonia.Data;
using Avalonia.Diagnostics; using Avalonia.Diagnostics;
using Avalonia.Logging; using Avalonia.Logging;
using Avalonia.Reactive;
using Avalonia.Threading; using Avalonia.Threading;
using Avalonia.Utilities; using Avalonia.Utilities;

4
src/Avalonia.Base/AvaloniaProperty.cs

@ -231,7 +231,7 @@ namespace Avalonia
} }
/// <summary> /// <summary>
/// Tests two <see cref="AvaloniaProperty"/>s for unequality. /// Tests two <see cref="AvaloniaProperty"/>s for inequality.
/// </summary> /// </summary>
/// <param name="a">The first property.</param> /// <param name="a">The first property.</param>
/// <param name="b">The second property.</param> /// <param name="b">The second property.</param>
@ -558,4 +558,4 @@ namespace Avalonia
public override string ToString() => "(unset)"; public override string ToString() => "(unset)";
} }
} }
} }

3
src/Avalonia.Base/Collections/AvaloniaList.cs

@ -8,7 +8,6 @@ using System.Collections.Specialized;
using System.ComponentModel; using System.ComponentModel;
using System.Linq; using System.Linq;
using Avalonia.Diagnostics; using Avalonia.Diagnostics;
using Avalonia.Platform;
namespace Avalonia.Collections namespace Avalonia.Collections
{ {
@ -551,4 +550,4 @@ namespace Avalonia.Collections
NotifyCountChanged(); NotifyCountChanged();
} }
} }
} }

2
src/Avalonia.Base/Collections/AvaloniaListConverter.cs

@ -40,4 +40,4 @@ namespace Avalonia.Collections
return result; return result;
} }
} }
} }

1
src/Avalonia.Base/Collections/AvaloniaListExtensions.cs

@ -6,7 +6,6 @@ using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.Specialized; using System.Collections.Specialized;
using System.ComponentModel; using System.ComponentModel;
using System.Linq;
using System.Reactive.Disposables; using System.Reactive.Disposables;
namespace Avalonia.Collections namespace Avalonia.Collections

4
src/Avalonia.Base/Collections/IAvaloniaList.cs

@ -6,7 +6,7 @@ using System.Collections.Generic;
namespace Avalonia.Collections namespace Avalonia.Collections
{ {
/// <summary> /// <summary>
/// A notiftying list. /// A notifying list.
/// </summary> /// </summary>
/// <typeparam name="T">The type of the items in the list.</typeparam> /// <typeparam name="T">The type of the items in the list.</typeparam>
public interface IAvaloniaList<T> : IList<T>, IAvaloniaReadOnlyList<T> public interface IAvaloniaList<T> : IList<T>, IAvaloniaReadOnlyList<T>
@ -64,4 +64,4 @@ namespace Avalonia.Collections
/// <param name="count">The number of items to remove.</param> /// <param name="count">The number of items to remove.</param>
void RemoveRange(int index, int count); void RemoveRange(int index, int count);
} }
} }

4
src/Avalonia.Base/Collections/IAvaloniaReadOnlyList.cs

@ -8,10 +8,10 @@ using System.ComponentModel;
namespace Avalonia.Collections namespace Avalonia.Collections
{ {
/// <summary> /// <summary>
/// A read-only notiftying list. /// A read-only notifying list.
/// </summary> /// </summary>
/// <typeparam name="T">The type of the items in the list.</typeparam> /// <typeparam name="T">The type of the items in the list.</typeparam>
public interface IAvaloniaReadOnlyList<out T> : IReadOnlyList<T>, INotifyCollectionChanged, INotifyPropertyChanged public interface IAvaloniaReadOnlyList<out T> : IReadOnlyList<T>, INotifyCollectionChanged, INotifyPropertyChanged
{ {
} }
} }

4
src/Avalonia.Base/Collections/NotifyCollectionChangedExtensions.cs

@ -25,7 +25,7 @@ namespace Avalonia.Collections
} }
/// <summary> /// <summary>
/// Subcribes to the CollectionChanged event using a weak subscription. /// Subscribes to the CollectionChanged event using a weak subscription.
/// </summary> /// </summary>
/// <param name="collection">The collection.</param> /// <param name="collection">The collection.</param>
/// <param name="handler"> /// <param name="handler">
@ -44,7 +44,7 @@ namespace Avalonia.Collections
} }
/// <summary> /// <summary>
/// Subcribes to the CollectionChanged event using a weak subscription. /// Subscribes to the CollectionChanged event using a weak subscription.
/// </summary> /// </summary>
/// <param name="collection">The collection.</param> /// <param name="collection">The collection.</param>
/// <param name="handler"> /// <param name="handler">

10
src/Avalonia.Base/Data/BindingChainException.cs

@ -6,7 +6,7 @@ using System;
namespace Avalonia.Data namespace Avalonia.Data
{ {
/// <summary> /// <summary>
/// An exception returned through <see cref="BindingNotification"/> signalling that a /// An exception returned through <see cref="BindingNotification"/> signaling that a
/// requested binding expression could not be evaluated because of a null in one of the links /// requested binding expression could not be evaluated because of a null in one of the links
/// of the binding chain. /// of the binding chain.
/// </summary> /// </summary>
@ -15,14 +15,14 @@ namespace Avalonia.Data
private string _message; private string _message;
/// <summary> /// <summary>
/// Initalizes a new instance of the <see cref="BindingChainException"/> class. /// Initializes a new instance of the <see cref="BindingChainException"/> class.
/// </summary> /// </summary>
public BindingChainException() public BindingChainException()
{ {
} }
/// <summary> /// <summary>
/// Initalizes a new instance of the <see cref="BindingChainException"/> class. /// Initializes a new instance of the <see cref="BindingChainException"/> class.
/// </summary> /// </summary>
/// <param name="message">The error message.</param> /// <param name="message">The error message.</param>
public BindingChainException(string message) public BindingChainException(string message)
@ -31,7 +31,7 @@ namespace Avalonia.Data
} }
/// <summary> /// <summary>
/// Initalizes a new instance of the <see cref="BindingChainException"/> class. /// Initializes a new instance of the <see cref="BindingChainException"/> class.
/// </summary> /// </summary>
/// <param name="message">The error message.</param> /// <param name="message">The error message.</param>
/// <param name="expression">The expression.</param> /// <param name="expression">The expression.</param>
@ -51,7 +51,7 @@ namespace Avalonia.Data
public string Expression { get; protected set; } public string Expression { get; protected set; }
/// <summary> /// <summary>
/// Gets the point in the expression at which the error occured. /// Gets the point in the expression at which the error occurred.
/// </summary> /// </summary>
public string ExpressionErrorPoint { get; protected set; } public string ExpressionErrorPoint { get; protected set; }

1
src/Avalonia.Base/Data/BindingNotification.cs

@ -2,7 +2,6 @@
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using System; using System;
using Avalonia.Logging;
namespace Avalonia.Data namespace Avalonia.Data
{ {

2
src/Avalonia.Base/Data/BindingOperations.cs

@ -20,7 +20,7 @@ namespace Avalonia.Data
/// An optional anchor from which to locate required context. When binding to objects that /// An optional anchor from which to locate required context. When binding to objects that
/// are not in the logical tree, certain types of binding need an anchor into the tree in /// are not in the logical tree, certain types of binding need an anchor into the tree in
/// order to locate named controls or resources. The <paramref name="anchor"/> parameter /// order to locate named controls or resources. The <paramref name="anchor"/> parameter
/// can be used to provice this context. /// can be used to provide this context.
/// </param> /// </param>
/// <returns>An <see cref="IDisposable"/> which can be used to cancel the binding.</returns> /// <returns>An <see cref="IDisposable"/> which can be used to cancel the binding.</returns>
public static IDisposable Apply( public static IDisposable Apply(

6
src/Avalonia.Base/Data/Converters/AlwaysEnabledDelegateCommand.cs

@ -1,10 +1,8 @@
using Avalonia.Utilities; using System;
using System;
using System.Collections.Generic;
using System.Globalization; using System.Globalization;
using System.Reflection; using System.Reflection;
using System.Text;
using System.Windows.Input; using System.Windows.Input;
using Avalonia.Utilities;
namespace Avalonia.Data.Converters namespace Avalonia.Data.Converters
{ {

3
src/Avalonia.Base/Data/Converters/DefaultValueConverter.cs

@ -3,9 +3,8 @@
using System; using System;
using System.Globalization; using System.Globalization;
using Avalonia.Data;
using Avalonia.Utilities;
using System.Windows.Input; using System.Windows.Input;
using Avalonia.Utilities;
namespace Avalonia.Data.Converters namespace Avalonia.Data.Converters
{ {

1
src/Avalonia.Base/Data/Converters/IValueConverter.cs

@ -3,7 +3,6 @@
using System; using System;
using System.Globalization; using System.Globalization;
using Avalonia.Data;
namespace Avalonia.Data.Converters namespace Avalonia.Data.Converters
{ {

3
src/Avalonia.Base/Data/Converters/StringConverters.cs

@ -1,9 +1,6 @@
// Copyright (c) The Avalonia Project. All rights reserved. // Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
using System.Globalization;
using Avalonia.Utilities;
namespace Avalonia.Data.Converters namespace Avalonia.Data.Converters
{ {

2
src/Avalonia.Base/Data/Core/AvaloniaPropertyAccessorNode.cs

@ -1,7 +1,5 @@
using System; using System;
using System.Collections.Generic;
using System.Reactive.Linq; using System.Reactive.Linq;
using System.Text;
using Avalonia.Reactive; using Avalonia.Reactive;
namespace Avalonia.Data.Core namespace Avalonia.Data.Core

3
src/Avalonia.Base/Data/Core/EmptyExpressionNode.cs

@ -1,9 +1,6 @@
// Copyright (c) The Avalonia Project. All rights reserved. // Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
using System.Reactive.Linq;
namespace Avalonia.Data.Core namespace Avalonia.Data.Core
{ {
public class EmptyExpressionNode : ExpressionNode public class EmptyExpressionNode : ExpressionNode

1
src/Avalonia.Base/Data/Core/ExpressionObserver.cs

@ -6,7 +6,6 @@ using System.Collections.Generic;
using System.Linq.Expressions; using System.Linq.Expressions;
using System.Reactive; using System.Reactive;
using System.Reactive.Linq; using System.Reactive.Linq;
using Avalonia.Data;
using Avalonia.Data.Core.Parsers; using Avalonia.Data.Core.Parsers;
using Avalonia.Data.Core.Plugins; using Avalonia.Data.Core.Plugins;
using Avalonia.Reactive; using Avalonia.Reactive;

1
src/Avalonia.Base/Data/Core/ExpressionParseException.cs

@ -2,7 +2,6 @@
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using System; using System;
using Avalonia.Data.Core.Parsers;
namespace Avalonia.Data.Core namespace Avalonia.Data.Core
{ {

6
src/Avalonia.Base/Data/Core/ITransformNode.cs

@ -1,8 +1,4 @@
using System; namespace Avalonia.Data.Core
using System.Collections.Generic;
using System.Text;
namespace Avalonia.Data.Core
{ {
interface ITransformNode interface ITransformNode
{ {

2
src/Avalonia.Base/Data/Core/IndexerExpressionNode.cs

@ -3,8 +3,6 @@ using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Linq.Expressions; using System.Linq.Expressions;
using System.Reflection; using System.Reflection;
using System.Text;
using Avalonia.Data;
namespace Avalonia.Data.Core namespace Avalonia.Data.Core
{ {

4
src/Avalonia.Base/Data/Core/IndexerNodeBase.cs

@ -3,12 +3,8 @@ using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.Specialized; using System.Collections.Specialized;
using System.ComponentModel; using System.ComponentModel;
using System.Globalization;
using System.Linq; using System.Linq;
using System.Reactive.Linq; using System.Reactive.Linq;
using System.Reflection;
using System.Text;
using Avalonia.Data;
using Avalonia.Utilities; using Avalonia.Utilities;
namespace Avalonia.Data.Core namespace Avalonia.Data.Core

1
src/Avalonia.Base/Data/Core/LogicalNotNode.cs

@ -3,7 +3,6 @@
using System; using System;
using System.Globalization; using System.Globalization;
using Avalonia.Data;
namespace Avalonia.Data.Core namespace Avalonia.Data.Core
{ {

5
src/Avalonia.Base/Data/Core/Parsers/ExpressionTreeParser.cs

@ -1,8 +1,5 @@
using System; using System.Linq;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions; using System.Linq.Expressions;
using System.Text;
namespace Avalonia.Data.Core.Parsers namespace Avalonia.Data.Core.Parsers
{ {

2
src/Avalonia.Base/Data/Core/Parsers/ExpressionVisitorNodeBuilder.cs

@ -1,10 +1,8 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using System.Linq; using System.Linq;
using System.Linq.Expressions; using System.Linq.Expressions;
using System.Reflection; using System.Reflection;
using System.Text;
namespace Avalonia.Data.Core.Parsers namespace Avalonia.Data.Core.Parsers
{ {

2
src/Avalonia.Base/Data/Core/Plugins/AvaloniaPropertyAccessorPlugin.cs

@ -2,9 +2,7 @@
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using System; using System;
using System.Linq;
using System.Reactive.Linq; using System.Reactive.Linq;
using Avalonia.Data;
namespace Avalonia.Data.Core.Plugins namespace Avalonia.Data.Core.Plugins
{ {

3
src/Avalonia.Base/Data/Core/Plugins/DataAnnotationsValidationPlugin.cs

@ -6,7 +6,6 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.Linq; using System.Linq;
using System.Reflection; using System.Reflection;
using Avalonia.Data;
namespace Avalonia.Data.Core.Plugins namespace Avalonia.Data.Core.Plugins
{ {
@ -31,7 +30,7 @@ namespace Avalonia.Data.Core.Plugins
return new Accessor(reference, name, inner); return new Accessor(reference, name, inner);
} }
private class Accessor : DataValidatiorBase private class Accessor : DataValidationBase
{ {
private ValidationContext _context; private ValidationContext _context;

9
src/Avalonia.Base/Data/Core/Plugins/DataValidatiorBase.cs → src/Avalonia.Base/Data/Core/Plugins/DataValidationBase.cs

@ -2,7 +2,6 @@
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using System; using System;
using Avalonia.Data;
namespace Avalonia.Data.Core.Plugins namespace Avalonia.Data.Core.Plugins
{ {
@ -15,15 +14,15 @@ namespace Avalonia.Data.Core.Plugins
/// and convert any values received from the inner property accessor into /// and convert any values received from the inner property accessor into
/// <see cref="BindingNotification"/>s. /// <see cref="BindingNotification"/>s.
/// </remarks> /// </remarks>
public abstract class DataValidatiorBase : PropertyAccessorBase, IObserver<object> public abstract class DataValidationBase : PropertyAccessorBase, IObserver<object>
{ {
private readonly IPropertyAccessor _inner; private readonly IPropertyAccessor _inner;
/// <summary> /// <summary>
/// Initializes a new instance of the <see cref="DataValidatiorBase"/> class. /// Initializes a new instance of the <see cref="DataValidationBase"/> class.
/// </summary> /// </summary>
/// <param name="inner">The inner property accessor.</param> /// <param name="inner">The inner property accessor.</param>
protected DataValidatiorBase(IPropertyAccessor inner) protected DataValidationBase(IPropertyAccessor inner)
{ {
_inner = inner; _inner = inner;
} }
@ -77,4 +76,4 @@ namespace Avalonia.Data.Core.Plugins
PublishValue(notification); PublishValue(notification);
} }
} }
} }

2
src/Avalonia.Base/Data/Core/Plugins/ExceptionValidationPlugin.cs

@ -20,7 +20,7 @@ namespace Avalonia.Data.Core.Plugins
return new Validator(reference, name, inner); return new Validator(reference, name, inner);
} }
private class Validator : DataValidatiorBase private class Validator : DataValidationBase
{ {
public Validator(WeakReference reference, string name, IPropertyAccessor inner) public Validator(WeakReference reference, string name, IPropertyAccessor inner)
: base(inner) : base(inner)

1
src/Avalonia.Base/Data/Core/Plugins/IDataValidationPlugin.cs

@ -2,7 +2,6 @@
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using System; using System;
using Avalonia.Data;
namespace Avalonia.Data.Core.Plugins namespace Avalonia.Data.Core.Plugins
{ {

2
src/Avalonia.Base/Data/Core/Plugins/IndeiValidationPlugin.cs

@ -23,7 +23,7 @@ namespace Avalonia.Data.Core.Plugins
return new Validator(reference, name, accessor); return new Validator(reference, name, accessor);
} }
private class Validator : DataValidatiorBase, IWeakSubscriber<DataErrorsChangedEventArgs> private class Validator : DataValidationBase, IWeakSubscriber<DataErrorsChangedEventArgs>
{ {
WeakReference _reference; WeakReference _reference;
string _name; string _name;

2
src/Avalonia.Base/Data/Core/Plugins/InpcPropertyAccessorPlugin.cs

@ -6,8 +6,6 @@ using System.ComponentModel;
using System.Linq; using System.Linq;
using System.Reactive.Linq; using System.Reactive.Linq;
using System.Reflection; using System.Reflection;
using Avalonia.Data;
using Avalonia.Logging;
using Avalonia.Utilities; using Avalonia.Utilities;
namespace Avalonia.Data.Core.Plugins namespace Avalonia.Data.Core.Plugins

5
src/Avalonia.Base/Data/Core/Plugins/MethodAccessorPlugin.cs

@ -1,9 +1,6 @@
using System; using System;
using System.Collections.Generic;
using System.Text;
using Avalonia.Data;
using System.Reflection;
using System.Linq; using System.Linq;
using System.Reflection;
namespace Avalonia.Data.Core.Plugins namespace Avalonia.Data.Core.Plugins
{ {

2
src/Avalonia.Base/Data/Core/Plugins/TaskStreamPlugin.cs

@ -2,12 +2,10 @@
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using System; using System;
using System.Reactive.Concurrency;
using System.Reactive.Linq; using System.Reactive.Linq;
using System.Reactive.Subjects; using System.Reactive.Subjects;
using System.Reflection; using System.Reflection;
using System.Threading.Tasks; using System.Threading.Tasks;
using Avalonia.Data;
namespace Avalonia.Data.Core.Plugins namespace Avalonia.Data.Core.Plugins
{ {

7
src/Avalonia.Base/Data/Core/SettableNode.cs

@ -1,9 +1,4 @@
using Avalonia.Data; using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Avalonia.Data.Core namespace Avalonia.Data.Core
{ {

2
src/Avalonia.Base/Data/Core/StreamBindingExtensions.cs

@ -1,6 +1,4 @@
using System; using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Avalonia namespace Avalonia

2
src/Avalonia.Base/Data/IBinding.cs

@ -17,7 +17,7 @@ namespace Avalonia.Data
/// An optional anchor from which to locate required context. When binding to objects that /// An optional anchor from which to locate required context. When binding to objects that
/// are not in the logical tree, certain types of binding need an anchor into the tree in /// are not in the logical tree, certain types of binding need an anchor into the tree in
/// order to locate named controls or resources. The <paramref name="anchor"/> parameter /// order to locate named controls or resources. The <paramref name="anchor"/> parameter
/// can be used to provice this context. /// can be used to provide this context.
/// </param> /// </param>
/// <param name="enableDataValidation">Whether data validation should be enabled.</param> /// <param name="enableDataValidation">Whether data validation should be enabled.</param>
/// <returns> /// <returns>

2
src/Avalonia.Base/Logging/Logger.cs

@ -11,7 +11,7 @@ namespace Avalonia.Logging
public static class Logger public static class Logger
{ {
/// <summary> /// <summary>
/// Gets or sets the application-defined sink that recieves the messages. /// Gets or sets the application-defined sink that receives the messages.
/// </summary> /// </summary>
public static ILogSink Sink { get; set; } public static ILogSink Sink { get; set; }

4
src/Avalonia.Base/Platform/IRuntimePlatform.cs

@ -1,9 +1,5 @@
using System; using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection; using System.Reflection;
using System.Text;
using System.Threading.Tasks;
namespace Avalonia.Platform namespace Avalonia.Platform
{ {

1
src/Avalonia.Base/PriorityLevel.cs

@ -5,7 +5,6 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Reactive.Disposables; using System.Reactive.Disposables;
using Avalonia.Data; using Avalonia.Data;
using Avalonia.Logging;
namespace Avalonia namespace Avalonia
{ {

6
src/Avalonia.Base/PriorityValue.cs

@ -12,12 +12,12 @@ using Avalonia.Utilities;
namespace Avalonia namespace Avalonia
{ {
/// <summary> /// <summary>
/// Maintains a list of prioritised bindings together with a current value. /// Maintains a list of prioritized bindings together with a current value.
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// Bindings, in the form of <see cref="IObservable{Object}"/>s are added to the object using /// Bindings, in the form of <see cref="IObservable{Object}"/>s are added to the object using
/// the <see cref="Add"/> method. With the observable is passed a priority, where lower values /// the <see cref="Add"/> method. With the observable is passed a priority, where lower values
/// represent higher priorites. The current <see cref="Value"/> is selected from the highest /// represent higher priorities. The current <see cref="Value"/> is selected from the highest
/// priority binding that doesn't return <see cref="AvaloniaProperty.UnsetValue"/>. Where there /// priority binding that doesn't return <see cref="AvaloniaProperty.UnsetValue"/>. Where there
/// are multiple bindings registered with the same priority, the most recently added binding /// are multiple bindings registered with the same priority, the most recently added binding
/// has a higher priority. Each time the value changes, the /// has a higher priority. Each time the value changes, the
@ -236,7 +236,7 @@ namespace Avalonia
} }
/// <summary> /// <summary>
/// Updates the current <see cref="Value"/> and notifies all subscibers. /// Updates the current <see cref="Value"/> and notifies all subscribers.
/// </summary> /// </summary>
/// <param name="value">The value to set.</param> /// <param name="value">The value to set.</param>
/// <param name="priority">The priority level that the value came from.</param> /// <param name="priority">The priority level that the value came from.</param>

1
src/Avalonia.Base/PropertyMetadata.cs

@ -1,7 +1,6 @@
// Copyright (c) The Avalonia Project. All rights reserved. // Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
using Avalonia.Data; using Avalonia.Data;
namespace Avalonia namespace Avalonia

7
src/Avalonia.Base/Threading/AvaloniaSynchronizationContext.cs

@ -1,11 +1,6 @@
// Copyright (c) The Avalonia Project. All rights reserved. // Copyright (c) The Avalonia Project. All rights reserved.
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading; using System.Threading;
namespace Avalonia.Threading namespace Avalonia.Threading
@ -48,4 +43,4 @@ namespace Avalonia.Threading
Dispatcher.UIThread.InvokeAsync(() => d(state), DispatcherPriority.Send).Wait(); Dispatcher.UIThread.InvokeAsync(() => d(state), DispatcherPriority.Send).Wait();
} }
} }
} }

14
src/Avalonia.Base/Threading/Dispatcher.cs

@ -92,6 +92,20 @@ namespace Avalonia.Threading
return _jobRunner.InvokeAsync(function, priority); return _jobRunner.InvokeAsync(function, priority);
} }
/// <inheritdoc/>
public Task InvokeAsync(Func<Task> function, DispatcherPriority priority = DispatcherPriority.Normal)
{
Contract.Requires<ArgumentNullException>(function != null);
return _jobRunner.InvokeAsync(function, priority).Unwrap();
}
/// <inheritdoc/>
public Task<TResult> InvokeAsync<TResult>(Func<Task<TResult>> function, DispatcherPriority priority = DispatcherPriority.Normal)
{
Contract.Requires<ArgumentNullException>(function != null);
return _jobRunner.InvokeAsync(function, priority).Unwrap();
}
/// <inheritdoc/> /// <inheritdoc/>
public void Post(Action action, DispatcherPriority priority = DispatcherPriority.Normal) public void Post(Action action, DispatcherPriority priority = DispatcherPriority.Normal)
{ {

18
src/Avalonia.Base/Threading/IDispatcher.cs

@ -40,5 +40,23 @@ namespace Avalonia.Threading
/// <param name="function">The method.</param> /// <param name="function">The method.</param>
/// <param name="priority">The priority with which to invoke the method.</param> /// <param name="priority">The priority with which to invoke the method.</param>
Task<TResult> InvokeAsync<TResult>(Func<TResult> function, DispatcherPriority priority = DispatcherPriority.Normal); Task<TResult> InvokeAsync<TResult>(Func<TResult> function, DispatcherPriority priority = DispatcherPriority.Normal);
/// <summary>
/// Queues the specified work to run on the dispatcher thread and returns a proxy for the
/// task returned by <paramref name="function"/>.
/// </summary>
/// <param name="function">The work to execute asynchronously.</param>
/// <param name="priority">The priority with which to invoke the method.</param>
/// <returns>A task that represents a proxy for the task returned by <paramref name="function"/>.</returns>
Task InvokeAsync(Func<Task> function, DispatcherPriority priority = DispatcherPriority.Normal);
/// <summary>
/// Queues the specified work to run on the dispatcher thread and returns a proxy for the
/// task returned by <paramref name="function"/>.
/// </summary>
/// <param name="function">The work to execute asynchronously.</param>
/// <param name="priority">The priority with which to invoke the method.</param>
/// <returns>A task that represents a proxy for the task returned by <paramref name="function"/>.</returns>
Task<TResult> InvokeAsync<TResult>(Func<Task<TResult>> function, DispatcherPriority priority = DispatcherPriority.Normal);
} }
} }

2
src/Avalonia.Base/Utilities/CharacterReader.cs

@ -2,8 +2,6 @@
// Licensed under the MIT license. See licence.md file in the project root for full license information. // Licensed under the MIT license. See licence.md file in the project root for full license information.
using System; using System;
using System.Globalization;
using System.Text;
namespace Avalonia.Utilities namespace Avalonia.Utilities
{ {

3
src/Avalonia.Base/Utilities/DeferredSetter.cs

@ -1,8 +1,5 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Reactive.Disposables;
using System.Runtime.CompilerServices;
using System.Text;
namespace Avalonia.Utilities namespace Avalonia.Utilities
{ {

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save