mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-11-12 03:48:56 +00:00
UI - Added basic implementation for each OS
This commit is contained in:
1 parent
f38a9e9e55
commit
e05de0d780
16 files changed
+79
-189
No files matched your search
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user