From cd766f73fcbd55ea270dc1972eb75b120c9b694e Mon Sep 17 00:00:00 2001 From: Pascal Date: Fri, 14 Nov 2025 08:10:42 +0100 Subject: [PATCH] part of manager main window --- .../DictionaryValueConverter.cs | 20 ++ .../Ui/MainWindow.axaml | 199 +++++++++++++++++- .../Ui/MainWindow.axaml.cs | 7 + 3 files changed, 225 insertions(+), 1 deletion(-) create mode 100644 ModpackUpdater.Apps.Manager/DictionaryValueConverter.cs diff --git a/ModpackUpdater.Apps.Manager/DictionaryValueConverter.cs b/ModpackUpdater.Apps.Manager/DictionaryValueConverter.cs new file mode 100644 index 0000000..d28b673 --- /dev/null +++ b/ModpackUpdater.Apps.Manager/DictionaryValueConverter.cs @@ -0,0 +1,20 @@ +using System.Collections; +using System.Globalization; +using Avalonia.Data.Converters; + +namespace ModpackUpdater.Apps.Manager; + +public class DictionaryValueConverter : IValueConverter +{ + public object? Convert(object? value, Type targetType, object? parameter, CultureInfo culture) + { + if (parameter is IDictionary dict && value != null && dict.Contains(value)) + return dict[value]; + return value?.ToString() ?? string.Empty; + } + + public object ConvertBack(object? value, Type targetType, object? parameter, CultureInfo culture) + { + throw new NotSupportedException(); + } +} diff --git a/ModpackUpdater.Apps.Manager/Ui/MainWindow.axaml b/ModpackUpdater.Apps.Manager/Ui/MainWindow.axaml index 256ca4e..0f847ac 100644 --- a/ModpackUpdater.Apps.Manager/Ui/MainWindow.axaml +++ b/ModpackUpdater.Apps.Manager/Ui/MainWindow.axaml @@ -3,10 +3,207 @@ 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:modpackUpdater="clr-namespace:ModpackUpdater;assembly=ModpackUpdater" + xmlns:local="clr-namespace:ModpackUpdater.Apps.Manager.Ui" + xmlns:manager="clr-namespace:ModpackUpdater.Apps.Manager" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450" x:Class="ModpackUpdater.Apps.Manager.Ui.MainWindow" Title="Minecraft Modpack Manager" Padding="3"> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ModpackUpdater.Apps.Manager/Ui/MainWindow.axaml.cs b/ModpackUpdater.Apps.Manager/Ui/MainWindow.axaml.cs index 31356f6..4e74274 100644 --- a/ModpackUpdater.Apps.Manager/Ui/MainWindow.axaml.cs +++ b/ModpackUpdater.Apps.Manager/Ui/MainWindow.axaml.cs @@ -1,3 +1,4 @@ +using System.Collections.ObjectModel; using Avalonia; using Avalonia.Controls; using Avalonia.Markup.Xaml; @@ -6,6 +7,12 @@ namespace ModpackUpdater.Apps.Manager.Ui; public partial class MainWindow : Window { + public static Dictionary SourceTypes { get; } = Enum.GetValues().ToDictionary(n => n, n => Enum.GetName(n)!); + public static Dictionary Sides { get; } = Enum.GetValues().ToDictionary(n => n, n => Enum.GetName(n)!); + public static Dictionary UpdateActionTypes { get; } = Enum.GetValues().ToDictionary(n => n, n => Enum.GetName(n)!); + + private readonly ObservableCollection actions = []; + public MainWindow() { InitializeComponent();