Add most of the UI code for profile configuration

This commit is contained in:
Robert committed 2026-01-24 13:06:08 +01:00
1 parent 3004293051
commit 77a4d8201e
29 files changed
+508 -68

No files matched your search

@@ -1,4 +1,5 @@
using Artemis.Core;
using System.Collections.ObjectModel;
using Artemis.Core;
using Artemis.UI.Shared;
namespace Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section;
@@ -6,9 +7,26 @@ namespace Artemis.UI.Screens.ProfileEditor.ConfigurationPanels.Section;
public class ConfigurationSectionViewModel : ActivatableViewModelBase
{
public ConfigurationSection ConfigurationSection { get; }
public ObservableCollection<ActivatableViewModelBase> Items { get; }
public ConfigurationSectionViewModel(ConfigurationSection configurationSection)
{
ConfigurationSection = configurationSection;
Items = [];
foreach (IConfigurationItem item in ConfigurationSection.Items)
{
if (item is ConfigurationTextItem textItem)
Items.Add(new ConfigurationTextItemViewModel(textItem));
else if (item is ConfigurationStringItem stringItem)
Items.Add(new ConfigurationStringItemViewModel(stringItem));
else if (item is ConfigurationBooleanItem booleanItem)
Items.Add(new ConfigurationBooleanItemViewModel(booleanItem));
else if (item is ConfigurationNumericItem numberItem)
Items.Add(new ConfigurationNumericItemViewModel(numberItem));
else if (item is ConfigurationSKColorItem colorItem)
Items.Add(new ConfigurationSKColorItemViewModel(colorItem));
else if (item is ConfigurationColorGradientItem colorGradientItem)
Items.Add(new ConfigurationColorGradientItemViewModel(colorGradientItem));
}
}
}