From 5537e97aa5546bd2622b52e74e8524eef9a7490b Mon Sep 17 00:00:00 2001 From: Max Katz Date: Fri, 15 Mar 2024 10:36:21 -0700 Subject: [PATCH] Remove ItemsRepeater from the main repostiory (#14989) See https://github.com/AvaloniaUI/Avalonia.Controls.ItemsRepeater --- Avalonia.Desktop.slnf | 2 - Avalonia.sln | 13 - samples/ControlCatalog/ControlCatalog.csproj | 1 - samples/ControlCatalog/MainView.xaml | 5 - .../Pages/ItemsRepeaterPage.xaml | 74 -- .../Pages/ItemsRepeaterPage.xaml.cs | 157 ---- .../ViewModels/ItemsRepeaterPageViewModel.cs | 91 -- .../Avalonia.Controls.ItemsRepeater.csproj | 18 - .../Controls/ElementFactory.cs | 27 - .../Controls/IElementFactory.cs | 66 -- .../Controls/ItemTemplateWrapper.cs | 67 -- .../Controls/ItemsRepeater.cs | 792 ------------------ .../ItemsRepeaterElementClearingEventArgs.cs | 24 - ...emsRepeaterElementIndexChangedEventArgs.cs | 44 - .../ItemsRepeaterElementPreparedEventArgs.cs | 35 - .../Controls/RecyclePool.cs | 112 --- .../Controls/RecyclingElementFactory.cs | 117 --- .../Controls/RepeaterLayoutContext.cs | 70 -- .../Controls/UniqueIdElementPool.cs | 54 -- .../Controls/ViewManager.cs | 782 ----------------- .../Controls/ViewportManager.cs | 550 ------------ .../Controls/VirtualizationInfo.cs | 119 --- .../Layout/AttachedLayout.cs | 219 ----- .../Layout/ElementManager.cs | 463 ---------- .../Layout/FlowLayoutAlgorithm.cs | 767 ----------------- .../Layout/IFlowLayoutAlgorithmDelegates.cs | 44 - .../Layout/LayoutContext.cs | 28 - .../Layout/LayoutContextAdapter.cs | 45 - .../Layout/NonVirtualizingLayout.cs | 83 -- .../Layout/NonVirtualizingLayoutContext.cs | 31 - .../Layout/NonVirtualizingStackLayout.cs | 162 ---- .../Layout/OrientationBasedMeasures.cs | 96 --- .../Layout/StackLayout.cs | 365 -------- .../Layout/StackLayoutState.cs | 61 -- .../Layout/UniformGridLayout.cs | 562 ------------- .../Layout/UniformGridLayoutState.cs | 204 ----- .../Layout/Utils/ListUtils.cs | 27 - .../Layout/UvBounds.cs | 37 - .../Layout/UvMeasure.cs | 45 - .../Layout/VirtualLayoutContextAdapter.cs | 42 - .../Layout/VirtualizingLayout.cs | 119 --- .../Layout/VirtualizingLayoutContext.cs | 195 ----- .../Layout/WrapItem.cs | 25 - .../Layout/WrapLayout.cs | 336 -------- .../Layout/WrapLayoutState.cs | 146 ---- .../Properties/AssemblyInfo.cs | 4 - ...ia.Controls.ItemsRepeater.UnitTests.csproj | 22 - .../ItemsRepeaterTests.cs | 24 - .../NonVirtualizingStackLayoutTests.cs | 336 -------- .../Avalonia.LeakTests.csproj | 1 - tests/Avalonia.LeakTests/ControlTests.cs | 36 +- .../Avalonia.Markup.Xaml.UnitTests.csproj | 1 - .../Xaml/StyleTests.cs | 52 -- .../XamlTestBase.cs | 1 - 54 files changed, 1 insertion(+), 7798 deletions(-) delete mode 100644 samples/ControlCatalog/Pages/ItemsRepeaterPage.xaml delete mode 100644 samples/ControlCatalog/Pages/ItemsRepeaterPage.xaml.cs delete mode 100644 samples/ControlCatalog/ViewModels/ItemsRepeaterPageViewModel.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Avalonia.Controls.ItemsRepeater.csproj delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Controls/ElementFactory.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Controls/IElementFactory.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Controls/ItemTemplateWrapper.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Controls/ItemsRepeater.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Controls/ItemsRepeaterElementClearingEventArgs.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Controls/ItemsRepeaterElementIndexChangedEventArgs.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Controls/ItemsRepeaterElementPreparedEventArgs.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Controls/RecyclePool.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Controls/RecyclingElementFactory.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Controls/RepeaterLayoutContext.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Controls/UniqueIdElementPool.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Controls/ViewManager.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Controls/ViewportManager.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Controls/VirtualizationInfo.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Layout/AttachedLayout.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Layout/ElementManager.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Layout/FlowLayoutAlgorithm.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Layout/IFlowLayoutAlgorithmDelegates.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Layout/LayoutContext.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Layout/LayoutContextAdapter.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Layout/NonVirtualizingLayout.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Layout/NonVirtualizingLayoutContext.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Layout/NonVirtualizingStackLayout.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Layout/OrientationBasedMeasures.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Layout/StackLayout.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Layout/StackLayoutState.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Layout/UniformGridLayout.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Layout/UniformGridLayoutState.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Layout/Utils/ListUtils.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Layout/UvBounds.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Layout/UvMeasure.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Layout/VirtualLayoutContextAdapter.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Layout/VirtualizingLayout.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Layout/VirtualizingLayoutContext.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Layout/WrapItem.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Layout/WrapLayout.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Layout/WrapLayoutState.cs delete mode 100644 src/Avalonia.Controls.ItemsRepeater/Properties/AssemblyInfo.cs delete mode 100644 tests/Avalonia.Controls.ItemsRepeater.UnitTests/Avalonia.Controls.ItemsRepeater.UnitTests.csproj delete mode 100644 tests/Avalonia.Controls.ItemsRepeater.UnitTests/ItemsRepeaterTests.cs delete mode 100644 tests/Avalonia.Controls.ItemsRepeater.UnitTests/NonVirtualizingStackLayoutTests.cs diff --git a/Avalonia.Desktop.slnf b/Avalonia.Desktop.slnf index dfd38396c5..ffff140b5d 100644 --- a/Avalonia.Desktop.slnf +++ b/Avalonia.Desktop.slnf @@ -17,7 +17,6 @@ "src\\Avalonia.Build.Tasks\\Avalonia.Build.Tasks.csproj", "src\\Avalonia.Controls.ColorPicker\\Avalonia.Controls.ColorPicker.csproj", "src\\Avalonia.Controls.DataGrid\\Avalonia.Controls.DataGrid.csproj", - "src\\Avalonia.Controls.ItemsRepeater\\Avalonia.Controls.ItemsRepeater.csproj", "src\\Avalonia.Controls\\Avalonia.Controls.csproj", "src\\Avalonia.DesignerSupport\\Avalonia.DesignerSupport.csproj", "src\\Avalonia.Desktop\\Avalonia.Desktop.csproj", @@ -52,7 +51,6 @@ "tests\\Avalonia.Benchmarks\\Avalonia.Benchmarks.csproj", "tests\\Avalonia.Build.Tasks.UnitTest\\Avalonia.Build.Tasks.UnitTest.csproj", "tests\\Avalonia.Controls.DataGrid.UnitTests\\Avalonia.Controls.DataGrid.UnitTests.csproj", - "tests\\Avalonia.Controls.ItemsRepeater.UnitTests\\Avalonia.Controls.ItemsRepeater.UnitTests.csproj", "tests\\Avalonia.Controls.UnitTests\\Avalonia.Controls.UnitTests.csproj", "tests\\Avalonia.DesignerSupport.TestApp\\Avalonia.DesignerSupport.TestApp.csproj", "tests\\Avalonia.DesignerSupport.Tests\\Avalonia.DesignerSupport.Tests.csproj", diff --git a/Avalonia.sln b/Avalonia.sln index a9699bebd9..36f4805390 100644 --- a/Avalonia.sln +++ b/Avalonia.sln @@ -252,10 +252,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Settings.StyleCop = Settings.StyleCop EndProjectSection EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Controls.ItemsRepeater", "src\Avalonia.Controls.ItemsRepeater\Avalonia.Controls.ItemsRepeater.csproj", "{EE0F0DD4-A70D-472B-BD5D-B7D32D0E9386}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Controls.ItemsRepeater.UnitTests", "tests\Avalonia.Controls.ItemsRepeater.UnitTests\Avalonia.Controls.ItemsRepeater.UnitTests.csproj", "{F4E36AA8-814E-4704-BC07-291F70F45193}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Generators", "src\tools\Avalonia.Generators\Avalonia.Generators.csproj", "{DDA28789-C21A-4654-86CE-D01E81F095C5}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Fonts.Inter", "src\Avalonia.Fonts.Inter\Avalonia.Fonts.Inter.csproj", "{13F1135D-BA1A-435C-9C5B-A368D1D63DE4}" @@ -621,14 +617,6 @@ Global {C692FE73-43DB-49CE-87FC-F03ED61F25C9}.Debug|Any CPU.Build.0 = Release|Any CPU {C692FE73-43DB-49CE-87FC-F03ED61F25C9}.Release|Any CPU.ActiveCfg = Release|Any CPU {C692FE73-43DB-49CE-87FC-F03ED61F25C9}.Release|Any CPU.Build.0 = Release|Any CPU - {EE0F0DD4-A70D-472B-BD5D-B7D32D0E9386}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {EE0F0DD4-A70D-472B-BD5D-B7D32D0E9386}.Debug|Any CPU.Build.0 = Debug|Any CPU - {EE0F0DD4-A70D-472B-BD5D-B7D32D0E9386}.Release|Any CPU.ActiveCfg = Release|Any CPU - {EE0F0DD4-A70D-472B-BD5D-B7D32D0E9386}.Release|Any CPU.Build.0 = Release|Any CPU - {F4E36AA8-814E-4704-BC07-291F70F45193}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F4E36AA8-814E-4704-BC07-291F70F45193}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F4E36AA8-814E-4704-BC07-291F70F45193}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F4E36AA8-814E-4704-BC07-291F70F45193}.Release|Any CPU.Build.0 = Release|Any CPU {DDA28789-C21A-4654-86CE-D01E81F095C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DDA28789-C21A-4654-86CE-D01E81F095C5}.Debug|Any CPU.Build.0 = Debug|Any CPU {DDA28789-C21A-4654-86CE-D01E81F095C5}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -779,7 +767,6 @@ Global {75C47156-C5D8-44BC-A5A7-E8657C2248D6} = {9B9E3891-2366-4253-A952-D08BCEB71098} {C810060E-3809-4B74-A125-F11533AF9C1B} = {9B9E3891-2366-4253-A952-D08BCEB71098} {C692FE73-43DB-49CE-87FC-F03ED61F25C9} = {4ED8B739-6F4E-4CD4-B993-545E6B5CE637} - {F4E36AA8-814E-4704-BC07-291F70F45193} = {C5A00AC3-B34C-4564-9BDD-2DA473EF4D8B} {DDA28789-C21A-4654-86CE-D01E81F095C5} = {4ED8B739-6F4E-4CD4-B993-545E6B5CE637} {A82AD1BC-EBE6-4FC3-A13B-D52A50297533} = {9B9E3891-2366-4253-A952-D08BCEB71098} {F8928267-688E-4A51-989C-612A72446D33} = {9B9E3891-2366-4253-A952-D08BCEB71098} diff --git a/samples/ControlCatalog/ControlCatalog.csproj b/samples/ControlCatalog/ControlCatalog.csproj index da2a00430c..18d222d809 100644 --- a/samples/ControlCatalog/ControlCatalog.csproj +++ b/samples/ControlCatalog/ControlCatalog.csproj @@ -27,7 +27,6 @@ - diff --git a/samples/ControlCatalog/MainView.xaml b/samples/ControlCatalog/MainView.xaml index ad3d0c7d37..4588b979be 100644 --- a/samples/ControlCatalog/MainView.xaml +++ b/samples/ControlCatalog/MainView.xaml @@ -106,11 +106,6 @@ ScrollViewer.VerticalScrollBarVisibility="Disabled"> - - - diff --git a/samples/ControlCatalog/Pages/ItemsRepeaterPage.xaml b/samples/ControlCatalog/Pages/ItemsRepeaterPage.xaml deleted file mode 100644 index 88be9f8e6e..0000000000 --- a/samples/ControlCatalog/Pages/ItemsRepeaterPage.xaml +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - A data-driven collection control that incorporates a flexible layout system, custom views, and virtualization. - - - - Stack - Vertical - Stack - Horizontal - UniformGrid - Vertical - UniformGrid - Horizontal - - - - - - - - - - - - - - - - diff --git a/samples/ControlCatalog/Pages/ItemsRepeaterPage.xaml.cs b/samples/ControlCatalog/Pages/ItemsRepeaterPage.xaml.cs deleted file mode 100644 index 2219966daa..0000000000 --- a/samples/ControlCatalog/Pages/ItemsRepeaterPage.xaml.cs +++ /dev/null @@ -1,157 +0,0 @@ -using System; -using System.Linq; -using Avalonia.Controls; -using Avalonia.Controls.Primitives; -using Avalonia.Input; -using Avalonia.Layout; -using Avalonia.Markup.Xaml; -using Avalonia.VisualTree; -using ControlCatalog.ViewModels; - -namespace ControlCatalog.Pages -{ - public class ItemsRepeaterPage : UserControl - { - private readonly ItemsRepeaterPageViewModel _viewModel; - private ItemsRepeater _repeater; - private ScrollViewer _scroller; - private int _selectedIndex; - private Button _scrollToLast; - private Button _scrollToRandom; - private Button _scrollToSelected; - private Random _random = new Random(0); - - public ItemsRepeaterPage() - { - this.InitializeComponent(); - _repeater = this.Get("repeater"); - _scroller = this.Get("scroller"); - _scrollToLast = this.Get