UI - Added basic implementation for each OS

This commit is contained in:
Robert committed 2021-11-18 23:16:07 +01:00
1 parent f38a9e9e55
commit e05de0d780
16 files changed
+79 -189

No files matched your search

+3 -27
View File
@@ -1,50 +1,26 @@
using Artemis.Core.Ninject;
using Artemis.UI.Ninject;
using Artemis.UI.Screens.Root.ViewModels;
using Artemis.UI.Shared.Ninject;
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
using Avalonia.Threading;
using Ninject;
using ReactiveUI;
using Splat.Ninject;
namespace Artemis.UI.MacOS
{
public class App : Application
{
private StandardKernel _kernel = null!;
public override void Initialize()
{
InitializeNinject();
ArtemisBootstrapper.Bootstrap();
RxApp.MainThreadScheduler = AvaloniaScheduler.Instance;
AvaloniaXamlLoader.Load(this);
}
public override void OnFrameworkInitializationCompleted()
{
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
desktop.MainWindow = new MainWindow
{
DataContext = _kernel.Get<RootViewModel>()
};
if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop)
ArtemisBootstrapper.ConfigureApplicationLifetime(desktop);
base.OnFrameworkInitializationCompleted();
}
private void InitializeNinject()
{
_kernel = new StandardKernel();
_kernel.Settings.InjectNonPublic = true;
_kernel.Load<CoreModule>();
_kernel.Load<UIModule>();
_kernel.Load<SharedUIModule>();
_kernel.UseNinjectDependencyResolver();
}
}
}