diff --git a/src/Artemis.Core/Models/ProfileConfiguration/ConfigurationSection.cs b/src/Artemis.Core/Models/ProfileConfiguration/ConfigurationSection.cs
index aa7cd072c..5ca1cc8e0 100644
--- a/src/Artemis.Core/Models/ProfileConfiguration/ConfigurationSection.cs
+++ b/src/Artemis.Core/Models/ProfileConfiguration/ConfigurationSection.cs
@@ -16,15 +16,6 @@ public class ConfigurationSection : CorePropertyChanged
set => SetAndNotify(ref field, value);
}
- ///
- /// Gets or sets the slot number of the configuration section.
- ///
- public int Slot
- {
- get;
- set => SetAndNotify(ref field, value);
- }
-
///
/// Gets the collection of configuration items in this section.
///
diff --git a/src/Artemis.Core/Models/ProfileConfiguration/ProfileConfiguration.cs b/src/Artemis.Core/Models/ProfileConfiguration/ProfileConfiguration.cs
index 269eee893..405cae012 100644
--- a/src/Artemis.Core/Models/ProfileConfiguration/ProfileConfiguration.cs
+++ b/src/Artemis.Core/Models/ProfileConfiguration/ProfileConfiguration.cs
@@ -307,18 +307,15 @@ public class ProfileConfiguration : BreakableModel, IStorageModel, IDisposable,
ConfigurationSections.Clear();
ConfigurationSections.Add(new ConfigurationSection()
{
- Name = "General (slot 0)",
- Slot = 2,
+ Name = "General",
});
ConfigurationSections.Add(new ConfigurationSection()
{
- Name = "Other (slot 1)",
- Slot = 2
+ Name = "Other",
});
ConfigurationSections.Add(new ConfigurationSection()
{
- Name = "Something else (slot 2)",
- Slot = 2
+ Name = "Something else",
});
ConfigurationSections[0].Items.Add(new ConfigurationTextItem() {Text = "This is a placeholder text item in the General section."});
ConfigurationSections[0].Items.Add(new ConfigurationNumericItem() {Name = "Numeric item", Description = "This one also has a description"});
diff --git a/src/Artemis.UI/Artemis.UI.csproj b/src/Artemis.UI/Artemis.UI.csproj
index e310d146d..b750e0ae3 100644
--- a/src/Artemis.UI/Artemis.UI.csproj
+++ b/src/Artemis.UI/Artemis.UI.csproj
@@ -35,15 +35,4 @@
-
-
-
-
-
-
-
- DesignProfileView.axaml
- Code
-
-
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationBooleanItemView.axaml.cs b/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationBooleanItemView.axaml.cs
deleted file mode 100644
index 1be1f6c11..000000000
--- a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationBooleanItemView.axaml.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using Avalonia;
-using Avalonia.Controls;
-using Avalonia.Markup.Xaml;
-using ReactiveUI.Avalonia;
-
-namespace Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section;
-
-public partial class ConfigurationBooleanItemView : ReactiveUserControl
-{
- public ConfigurationBooleanItemView()
- {
- InitializeComponent();
- }
-}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationBooleanItemViewModel.cs b/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationBooleanItemViewModel.cs
deleted file mode 100644
index 92d0ba886..000000000
--- a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationBooleanItemViewModel.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using Artemis.Core;
-using Artemis.UI.Shared;
-
-namespace Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section;
-
-public class ConfigurationBooleanItemViewModel : ActivatableViewModelBase
-{
- public ConfigurationBooleanItem Item { get; }
-
- public ConfigurationBooleanItemViewModel(ConfigurationBooleanItem item)
- {
- Item = item;
- }
-}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationColorGradientItemView.axaml.cs b/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationColorGradientItemView.axaml.cs
deleted file mode 100644
index 027f205e1..000000000
--- a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationColorGradientItemView.axaml.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using Avalonia;
-using Avalonia.Controls;
-using Avalonia.Markup.Xaml;
-using ReactiveUI.Avalonia;
-
-namespace Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section;
-
-public partial class ConfigurationColorGradientItemView : ReactiveUserControl
-{
- public ConfigurationColorGradientItemView()
- {
- InitializeComponent();
- }
-}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationColorGradientItemViewModel.cs b/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationColorGradientItemViewModel.cs
deleted file mode 100644
index ee447c530..000000000
--- a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationColorGradientItemViewModel.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using Artemis.Core;
-using Artemis.UI.Shared;
-
-namespace Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section;
-
-public class ConfigurationColorGradientItemViewModel : ActivatableViewModelBase
-{
- public ConfigurationColorGradientItemViewModel(ConfigurationColorGradientItem item)
- {
- Item = item;
- }
-
- public ConfigurationColorGradientItem Item { get; }
-}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationNumericItemView.axaml.cs b/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationNumericItemView.axaml.cs
deleted file mode 100644
index bafba6c2f..000000000
--- a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationNumericItemView.axaml.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using Avalonia;
-using Avalonia.Controls;
-using Avalonia.Markup.Xaml;
-using ReactiveUI.Avalonia;
-
-namespace Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section;
-
-public partial class ConfigurationNumericItemView : ReactiveUserControl
-{
- public ConfigurationNumericItemView()
- {
- InitializeComponent();
- }
-}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationNumericItemViewModel.cs b/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationNumericItemViewModel.cs
deleted file mode 100644
index 626b17156..000000000
--- a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationNumericItemViewModel.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using Artemis.Core;
-using Artemis.UI.Shared;
-
-namespace Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section;
-
-public class ConfigurationNumericItemViewModel : ActivatableViewModelBase
-{
- public ConfigurationNumericItem Item { get; }
-
- public ConfigurationNumericItemViewModel(ConfigurationNumericItem item)
- {
- Item = item;
- }
-}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationSKColorItemView.axaml.cs b/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationSKColorItemView.axaml.cs
deleted file mode 100644
index b1ee507d4..000000000
--- a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationSKColorItemView.axaml.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using Avalonia;
-using Avalonia.Controls;
-using Avalonia.Markup.Xaml;
-using ReactiveUI.Avalonia;
-
-namespace Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section;
-
-public partial class ConfigurationSKColorItemView : ReactiveUserControl
-{
- public ConfigurationSKColorItemView()
- {
- InitializeComponent();
- }
-}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationSKColorItemViewModel.cs b/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationSKColorItemViewModel.cs
deleted file mode 100644
index c3f1327ee..000000000
--- a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationSKColorItemViewModel.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using Artemis.Core;
-using Artemis.UI.Shared;
-
-namespace Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section;
-
-public class ConfigurationSKColorItemViewModel : ActivatableViewModelBase
-{
- public ConfigurationSKColorItemViewModel(ConfigurationSKColorItem item)
- {
- Item = item;
- }
-
- public ConfigurationSKColorItem Item { get; }
-}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationSectionView.axaml.cs b/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationSectionView.axaml.cs
index a7ba7cf2b..f3dacb64e 100644
--- a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationSectionView.axaml.cs
+++ b/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationSectionView.axaml.cs
@@ -1,7 +1,4 @@
-using Avalonia;
-using Avalonia.Controls;
-using Avalonia.Markup.Xaml;
-using ReactiveUI.Avalonia;
+using ReactiveUI.Avalonia;
namespace Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section;
diff --git a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationSectionViewModel.cs b/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationSectionViewModel.cs
index 086f73175..310c68804 100644
--- a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationSectionViewModel.cs
+++ b/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationSectionViewModel.cs
@@ -1,5 +1,6 @@
using System.Collections.ObjectModel;
using Artemis.Core;
+using Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Items;
using Artemis.UI.Shared;
namespace Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section;
diff --git a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationStringItemView.axaml.cs b/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationStringItemView.axaml.cs
deleted file mode 100644
index 7665c8f61..000000000
--- a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationStringItemView.axaml.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using Avalonia;
-using Avalonia.Controls;
-using Avalonia.Markup.Xaml;
-using ReactiveUI.Avalonia;
-
-namespace Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section;
-
-public partial class ConfigurationStringItemView : ReactiveUserControl
-{
- public ConfigurationStringItemView()
- {
- InitializeComponent();
- }
-}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationStringItemViewModel.cs b/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationStringItemViewModel.cs
deleted file mode 100644
index 8babe67b9..000000000
--- a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationStringItemViewModel.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using Artemis.Core;
-using Artemis.UI.Shared;
-
-namespace Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section;
-
-public class ConfigurationStringItemViewModel : ActivatableViewModelBase
-{
- public ConfigurationStringItem Item { get; }
-
- public ConfigurationStringItemViewModel(ConfigurationStringItem item)
- {
- Item = item;
- }
-}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationTextItemView.axaml.cs b/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationTextItemView.axaml.cs
deleted file mode 100644
index ec92e025f..000000000
--- a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationTextItemView.axaml.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using Avalonia;
-using Avalonia.Controls;
-using Avalonia.Markup.Xaml;
-using ReactiveUI.Avalonia;
-
-namespace Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section;
-
-public partial class ConfigurationTextItemView : ReactiveUserControl
-{
- public ConfigurationTextItemView()
- {
- InitializeComponent();
- }
-}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationTextItemViewModel.cs b/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationTextItemViewModel.cs
deleted file mode 100644
index 7a6a09b84..000000000
--- a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationTextItemViewModel.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using Artemis.Core;
-using Artemis.UI.Shared;
-
-namespace Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section;
-
-public class ConfigurationTextItemViewModel : ActivatableViewModelBase
-{
- public ConfigurationTextItem Item { get; }
-
- public ConfigurationTextItemViewModel(ConfigurationTextItem item)
- {
- Item = item;
- }
-}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/ConfigureProfileView.axaml b/src/Artemis.UI/Screens/ProfileEditor/ConfigureProfileView.axaml
index 28bff155b..6414217c4 100644
--- a/src/Artemis.UI/Screens/ProfileEditor/ConfigureProfileView.axaml
+++ b/src/Artemis.UI/Screens/ProfileEditor/ConfigureProfileView.axaml
@@ -7,31 +7,16 @@
x:Class="Artemis.UI.Screens.ProfileEditor.ConfigureProfileView"
x:DataType="profileEditor:ConfigureProfileViewModel">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Artemis.UI/Screens/ProfileEditor/ConfigureProfileViewModel.cs b/src/Artemis.UI/Screens/ProfileEditor/ConfigureProfileViewModel.cs
index 10ee0492f..c6b91cfbf 100644
--- a/src/Artemis.UI/Screens/ProfileEditor/ConfigureProfileViewModel.cs
+++ b/src/Artemis.UI/Screens/ProfileEditor/ConfigureProfileViewModel.cs
@@ -33,30 +33,15 @@ public partial class ConfigureProfileViewModel : RoutableScreen();
_configurationSections.Connect()
- .Filter(s => s.Slot == 0)
.Transform(getConfigurationSectionViewModel)
- .Bind(out ReadOnlyObservableCollection bottomLeftSections)
+ .Bind(out ReadOnlyObservableCollection sections)
.Subscribe();
- _configurationSections.Connect()
- .Filter(s => s.Slot == 1)
- .Transform(getConfigurationSectionViewModel)
- .Bind(out ReadOnlyObservableCollection bottomRightSections)
- .Subscribe();
- _configurationSections.Connect()
- .Filter(s => s.Slot == 2)
- .Transform(getConfigurationSectionViewModel)
- .Bind(out ReadOnlyObservableCollection sideSections)
- .Subscribe();
-
- BottomLeftSections = bottomLeftSections;
- BottomRightSections = bottomRightSections;
- SideSections = sideSections;
+
+ Sections = sections;
}
public PreviewViewModel PreviewViewModel { get; }
- public ReadOnlyObservableCollection BottomLeftSections { get; private set; }
- public ReadOnlyObservableCollection BottomRightSections { get; private set; }
- public ReadOnlyObservableCollection SideSections { get; private set; }
+ public ReadOnlyObservableCollection Sections { get; private set; }
///
public override async Task OnNavigating(ProfileViewModelParameters parameters, NavigationArguments args, CancellationToken cancellationToken)
diff --git a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationBooleanItemView.axaml b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationBooleanItemDesignView.axaml
similarity index 82%
rename from src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationBooleanItemView.axaml
rename to src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationBooleanItemDesignView.axaml
index 32d5591bf..66031bfb0 100644
--- a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationBooleanItemView.axaml
+++ b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationBooleanItemDesignView.axaml
@@ -2,10 +2,10 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:section="clr-namespace:Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section"
+ xmlns:items="clr-namespace:Artemis.UI.Screens.ProfileEditor.DesignPanels.Items"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
- x:Class="Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section.ConfigurationBooleanItemView"
- x:DataType="section:ConfigurationBooleanItemViewModel">
+ x:Class="Artemis.UI.Screens.ProfileEditor.DesignPanels.Items.ConfigurationBooleanItemDesignView"
+ x:DataType="items:ConfigurationBooleanItemDesignViewModel">
diff --git a/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationBooleanItemDesignView.axaml.cs b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationBooleanItemDesignView.axaml.cs
new file mode 100644
index 000000000..3ec793798
--- /dev/null
+++ b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationBooleanItemDesignView.axaml.cs
@@ -0,0 +1,12 @@
+using Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Items;
+using ReactiveUI.Avalonia;
+
+namespace Artemis.UI.Screens.ProfileEditor.DesignPanels.Items;
+
+public partial class ConfigurationBooleanItemDesignView : ReactiveUserControl
+{
+ public ConfigurationBooleanItemDesignView()
+ {
+ InitializeComponent();
+ }
+}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationBooleanItemDesignViewModel.cs b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationBooleanItemDesignViewModel.cs
new file mode 100644
index 000000000..9333a45c6
--- /dev/null
+++ b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationBooleanItemDesignViewModel.cs
@@ -0,0 +1,14 @@
+using Artemis.Core;
+using Artemis.UI.Shared;
+
+namespace Artemis.UI.Screens.ProfileEditor.DesignPanels.Items;
+
+public class ConfigurationBooleanItemDesignViewModel : ActivatableViewModelBase
+{
+ public ConfigurationBooleanItem Item { get; }
+
+ public ConfigurationBooleanItemDesignViewModel(ConfigurationBooleanItem item)
+ {
+ Item = item;
+ }
+}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationColorGradientItemView.axaml b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationColorGradientItemDesignView.axaml
similarity index 81%
rename from src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationColorGradientItemView.axaml
rename to src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationColorGradientItemDesignView.axaml
index a7f702574..8fe9f7e72 100644
--- a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationColorGradientItemView.axaml
+++ b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationColorGradientItemDesignView.axaml
@@ -2,11 +2,11 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:section="clr-namespace:Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section"
xmlns:gradientPicker="clr-namespace:Artemis.UI.Shared.Controls.GradientPicker;assembly=Artemis.UI.Shared"
+ xmlns:items="clr-namespace:Artemis.UI.Screens.ProfileEditor.DesignPanels.Items"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
- x:Class="Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section.ConfigurationColorGradientItemView"
- x:DataType="section:ConfigurationColorGradientItemViewModel">
+ x:Class="Artemis.UI.Screens.ProfileEditor.DesignPanels.Items.ConfigurationColorGradientItemDesignView"
+ x:DataType="items:ConfigurationColorGradientItemDesignViewModel">
diff --git a/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationColorGradientItemDesignView.axaml.cs b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationColorGradientItemDesignView.axaml.cs
new file mode 100644
index 000000000..4a45fbad7
--- /dev/null
+++ b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationColorGradientItemDesignView.axaml.cs
@@ -0,0 +1,12 @@
+using Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Items;
+using ReactiveUI.Avalonia;
+
+namespace Artemis.UI.Screens.ProfileEditor.DesignPanels.Items;
+
+public partial class ConfigurationColorGradientItemDesignView : ReactiveUserControl
+{
+ public ConfigurationColorGradientItemDesignView()
+ {
+ InitializeComponent();
+ }
+}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationColorGradientItemDesignViewModel.cs b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationColorGradientItemDesignViewModel.cs
new file mode 100644
index 000000000..2210f8f55
--- /dev/null
+++ b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationColorGradientItemDesignViewModel.cs
@@ -0,0 +1,14 @@
+using Artemis.Core;
+using Artemis.UI.Shared;
+
+namespace Artemis.UI.Screens.ProfileEditor.DesignPanels.Items;
+
+public class ConfigurationColorGradientItemDesignViewModel : ActivatableViewModelBase
+{
+ public ConfigurationColorGradientItemDesignViewModel(ConfigurationColorGradientItem item)
+ {
+ Item = item;
+ }
+
+ public ConfigurationColorGradientItem Item { get; }
+}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationNumericItemView.axaml b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationNumericItemDesignView.axaml
similarity index 86%
rename from src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationNumericItemView.axaml
rename to src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationNumericItemDesignView.axaml
index 340a6a499..0ab4abcca 100644
--- a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationNumericItemView.axaml
+++ b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationNumericItemDesignView.axaml
@@ -2,12 +2,12 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:section="clr-namespace:Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section"
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
xmlns:behaviors="clr-namespace:Artemis.UI.Shared.Behaviors;assembly=Artemis.UI.Shared"
+ xmlns:items="clr-namespace:Artemis.UI.Screens.ProfileEditor.DesignPanels.Items"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
- x:Class="Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section.ConfigurationNumericItemView"
- x:DataType="section:ConfigurationNumericItemViewModel">
+ x:Class="Artemis.UI.Screens.ProfileEditor.DesignPanels.Items.ConfigurationNumericItemDesignView"
+ x:DataType="items:ConfigurationNumericItemDesignViewModel">
diff --git a/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationNumericItemDesignView.axaml.cs b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationNumericItemDesignView.axaml.cs
new file mode 100644
index 000000000..2944e6546
--- /dev/null
+++ b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationNumericItemDesignView.axaml.cs
@@ -0,0 +1,12 @@
+using Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Items;
+using ReactiveUI.Avalonia;
+
+namespace Artemis.UI.Screens.ProfileEditor.DesignPanels.Items;
+
+public partial class ConfigurationNumericItemDesignView : ReactiveUserControl
+{
+ public ConfigurationNumericItemDesignView()
+ {
+ InitializeComponent();
+ }
+}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationNumericItemDesignViewModel.cs b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationNumericItemDesignViewModel.cs
new file mode 100644
index 000000000..73278447e
--- /dev/null
+++ b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationNumericItemDesignViewModel.cs
@@ -0,0 +1,14 @@
+using Artemis.Core;
+using Artemis.UI.Shared;
+
+namespace Artemis.UI.Screens.ProfileEditor.DesignPanels.Items;
+
+public class ConfigurationNumericItemDesignViewModel : ActivatableViewModelBase
+{
+ public ConfigurationNumericItem Item { get; }
+
+ public ConfigurationNumericItemDesignViewModel(ConfigurationNumericItem item)
+ {
+ Item = item;
+ }
+}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationSKColorItemView.axaml b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationSKColorItemDesignView.axaml
similarity index 77%
rename from src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationSKColorItemView.axaml
rename to src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationSKColorItemDesignView.axaml
index 26cfd66f0..3c27335ad 100644
--- a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationSKColorItemView.axaml
+++ b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationSKColorItemDesignView.axaml
@@ -2,12 +2,11 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:section="clr-namespace:Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section"
- xmlns:behaviors="clr-namespace:Artemis.UI.Shared.Behaviors;assembly=Artemis.UI.Shared"
xmlns:controls="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
+ xmlns:items="clr-namespace:Artemis.UI.Screens.ProfileEditor.DesignPanels.Items"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
- x:Class="Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section.ConfigurationSKColorItemView"
- x:DataType="section:ConfigurationSKColorItemViewModel">
+ x:Class="Artemis.UI.Screens.ProfileEditor.DesignPanels.Items.ConfigurationSKColorItemDesignView"
+ x:DataType="items:ConfigurationSKColorItemDesignViewModel">
diff --git a/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationSKColorItemDesignView.axaml.cs b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationSKColorItemDesignView.axaml.cs
new file mode 100644
index 000000000..4df928cec
--- /dev/null
+++ b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationSKColorItemDesignView.axaml.cs
@@ -0,0 +1,12 @@
+using Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Items;
+using ReactiveUI.Avalonia;
+
+namespace Artemis.UI.Screens.ProfileEditor.DesignPanels.Items;
+
+public partial class ConfigurationSKColorItemDesignView : ReactiveUserControl
+{
+ public ConfigurationSKColorItemDesignView()
+ {
+ InitializeComponent();
+ }
+}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationSKColorItemDesignViewModel.cs b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationSKColorItemDesignViewModel.cs
new file mode 100644
index 000000000..faea3f73b
--- /dev/null
+++ b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationSKColorItemDesignViewModel.cs
@@ -0,0 +1,14 @@
+using Artemis.Core;
+using Artemis.UI.Shared;
+
+namespace Artemis.UI.Screens.ProfileEditor.DesignPanels.Items;
+
+public class ConfigurationSKColorItemDesignViewModel : ActivatableViewModelBase
+{
+ public ConfigurationSKColorItemDesignViewModel(ConfigurationSKColorItem item)
+ {
+ Item = item;
+ }
+
+ public ConfigurationSKColorItem Item { get; }
+}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationStringItemView.axaml b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationStringItemDesignView.axaml
similarity index 79%
rename from src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationStringItemView.axaml
rename to src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationStringItemDesignView.axaml
index 3996c4400..d3e3d473e 100644
--- a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationStringItemView.axaml
+++ b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationStringItemDesignView.axaml
@@ -2,10 +2,10 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:section="clr-namespace:Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section"
+ xmlns:items="clr-namespace:Artemis.UI.Screens.ProfileEditor.DesignPanels.Items"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
- x:Class="Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section.ConfigurationStringItemView"
- x:DataType="section:ConfigurationStringItemViewModel">
+ x:Class="Artemis.UI.Screens.ProfileEditor.DesignPanels.Items.ConfigurationStringItemDesignView"
+ x:DataType="items:ConfigurationStringItemDesignViewModel">
diff --git a/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationStringItemDesignView.axaml.cs b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationStringItemDesignView.axaml.cs
new file mode 100644
index 000000000..512590678
--- /dev/null
+++ b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationStringItemDesignView.axaml.cs
@@ -0,0 +1,12 @@
+using Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Items;
+using ReactiveUI.Avalonia;
+
+namespace Artemis.UI.Screens.ProfileEditor.DesignPanels.Items;
+
+public partial class ConfigurationStringItemDesignView : ReactiveUserControl
+{
+ public ConfigurationStringItemDesignView()
+ {
+ InitializeComponent();
+ }
+}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationStringItemDesignViewModel.cs b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationStringItemDesignViewModel.cs
new file mode 100644
index 000000000..06f4b36ed
--- /dev/null
+++ b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationStringItemDesignViewModel.cs
@@ -0,0 +1,14 @@
+using Artemis.Core;
+using Artemis.UI.Shared;
+
+namespace Artemis.UI.Screens.ProfileEditor.DesignPanels.Items;
+
+public class ConfigurationStringItemDesignViewModel : ActivatableViewModelBase
+{
+ public ConfigurationStringItem Item { get; }
+
+ public ConfigurationStringItemDesignViewModel(ConfigurationStringItem item)
+ {
+ Item = item;
+ }
+}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationTextItemView.axaml b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationTextItemDesignDesignView.axaml
similarity index 51%
rename from src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationTextItemView.axaml
rename to src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationTextItemDesignDesignView.axaml
index c3d5e69f5..34bfb22c9 100644
--- a/src/Artemis.UI/Screens/ProfileEditor/ConfigurationPanels/Section/ConfigurationTextItemView.axaml
+++ b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationTextItemDesignDesignView.axaml
@@ -2,9 +2,9 @@
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:section="clr-namespace:Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section"
+ xmlns:items="clr-namespace:Artemis.UI.Screens.ProfileEditor.DesignPanels.Items"
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
- x:Class="Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section.ConfigurationTextItemView"
- x:DataType="section:ConfigurationTextItemViewModel">
-
+ x:Class="Artemis.UI.Screens.ProfileEditor.DesignPanels.Items.ConfigurationTextItemDesignDesignView"
+ x:DataType="items:ConfigurationTextItemDesignViewModel">
+
diff --git a/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationTextItemDesignDesignView.axaml.cs b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationTextItemDesignDesignView.axaml.cs
new file mode 100644
index 000000000..b1b3346b8
--- /dev/null
+++ b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationTextItemDesignDesignView.axaml.cs
@@ -0,0 +1,12 @@
+using Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Items;
+using ReactiveUI.Avalonia;
+
+namespace Artemis.UI.Screens.ProfileEditor.DesignPanels.Items;
+
+public partial class ConfigurationTextItemDesignDesignView : ReactiveUserControl
+{
+ public ConfigurationTextItemDesignDesignView()
+ {
+ InitializeComponent();
+ }
+}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationTextItemDesignViewModel.cs b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationTextItemDesignViewModel.cs
new file mode 100644
index 000000000..de36b64ca
--- /dev/null
+++ b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Items/ConfigurationTextItemDesignViewModel.cs
@@ -0,0 +1,14 @@
+using Artemis.Core;
+using Artemis.UI.Shared;
+
+namespace Artemis.UI.Screens.ProfileEditor.DesignPanels.Items;
+
+public class ConfigurationTextItemDesignViewModel : ActivatableViewModelBase
+{
+ public ConfigurationTextItem Item { get; }
+
+ public ConfigurationTextItemDesignViewModel(ConfigurationTextItem item)
+ {
+ Item = item;
+ }
+}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Section/ConfigurationSectionDesignView.axaml b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Section/ConfigurationSectionDesignView.axaml
new file mode 100644
index 000000000..10f26fbe7
--- /dev/null
+++ b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Section/ConfigurationSectionDesignView.axaml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Section/ConfigurationSectionDesignView.axaml.cs b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Section/ConfigurationSectionDesignView.axaml.cs
new file mode 100644
index 000000000..75b65b895
--- /dev/null
+++ b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Section/ConfigurationSectionDesignView.axaml.cs
@@ -0,0 +1,12 @@
+using Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section;
+using ReactiveUI.Avalonia;
+
+namespace Artemis.UI.Screens.ProfileEditor.DesignPanels.Section;
+
+public partial class ConfigurationSectionDesignView: ReactiveUserControl
+{
+ public ConfigurationSectionDesignView()
+ {
+ InitializeComponent();
+ }
+}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Section/ConfigurationSectionDesignViewModel.cs b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Section/ConfigurationSectionDesignViewModel.cs
new file mode 100644
index 000000000..6b719716e
--- /dev/null
+++ b/src/Artemis.UI/Screens/ProfileEditor/DesignPanels/Section/ConfigurationSectionDesignViewModel.cs
@@ -0,0 +1,33 @@
+using System.Collections.ObjectModel;
+using Artemis.Core;
+using Artemis.UI.Screens.ProfileEditor.DesignPanels.Items;
+using Artemis.UI.Shared;
+
+namespace Artemis.UI.Screens.ProfileEditor.DesignPanels.Section;
+
+public class ConfigurationSectionDesignViewModel : ActivatableViewModelBase
+{
+ public ConfigurationSection ConfigurationSection { get; }
+ public ObservableCollection Items { get; }
+
+ public ConfigurationSectionDesignViewModel(ConfigurationSection configurationSection)
+ {
+ ConfigurationSection = configurationSection;
+ Items = [];
+ foreach (IConfigurationItem item in ConfigurationSection.Items)
+ {
+ if (item is ConfigurationTextItem textItem)
+ Items.Add(new ConfigurationTextItemDesignViewModel(textItem));
+ else if (item is ConfigurationStringItem stringItem)
+ Items.Add(new ConfigurationStringItemDesignViewModel(stringItem));
+ else if (item is ConfigurationBooleanItem booleanItem)
+ Items.Add(new ConfigurationBooleanItemDesignViewModel(booleanItem));
+ else if (item is ConfigurationNumericItem numberItem)
+ Items.Add(new ConfigurationNumericItemDesignViewModel(numberItem));
+ else if (item is ConfigurationSKColorItem colorItem)
+ Items.Add(new ConfigurationSKColorItemDesignViewModel(colorItem));
+ else if (item is ConfigurationColorGradientItem colorGradientItem)
+ Items.Add(new ConfigurationColorGradientItemDesignViewModel(colorGradientItem));
+ }
+ }
+}
\ No newline at end of file