mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-19 12:30:32 +00:00
42 lines
1 KiB
C#
42 lines
1 KiB
C#
using System.Threading.Tasks;
|
|
|
|
using Avalonia;
|
|
using Avalonia.Controls;
|
|
using Avalonia.Markup.Xaml;
|
|
using Avalonia.Threading;
|
|
|
|
using Cosmos.TestRunner.Core;
|
|
using Cosmos.TestRunner.UI.ViewModels;
|
|
|
|
namespace Cosmos.TestRunner.UI.Views
|
|
{
|
|
internal class MainWindow : Window
|
|
{
|
|
public MainWindow()
|
|
{
|
|
InitializeComponent();
|
|
this.AttachDevTools();
|
|
|
|
Dispatcher.UIThread.InvokeAsync(async () => await ShowSettingsDialog().ConfigureAwait(false));
|
|
}
|
|
|
|
private void InitializeComponent()
|
|
{
|
|
AvaloniaXamlLoader.Load(this);
|
|
}
|
|
|
|
private async Task ShowSettingsDialog()
|
|
{
|
|
var xSettingsDialog = new SettingsDialog();
|
|
var xEngineConfiguration = await xSettingsDialog.ShowDialog<IEngineConfiguration>();
|
|
|
|
if (xEngineConfiguration == null)
|
|
{
|
|
Application.Current.Exit();
|
|
return;
|
|
}
|
|
|
|
DataContext = new MainWindowViewModel(xEngineConfiguration);
|
|
}
|
|
}
|
|
}
|