wired up key commands

This commit is contained in:
TheXamlGuy
2024-01-06 16:39:30 +00:00
parent a77c356389
commit 71881ad877
31 changed files with 282 additions and 82 deletions
@@ -1,4 +1,5 @@
using Hyperbar.Extensions;
using Hyperbar.Windows.Win32;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
@@ -6,17 +7,21 @@ namespace Hyperbar.Windows
{
public static class IServiceCollectionExtensions
{
public static IServiceCollection AddWidget<TCommandBuilder>(this IServiceCollection services)
where TCommandBuilder :
IWidgetBuilder, new()
public static IServiceCollection AddWidgetProvider<TWidgetProvider>(this IServiceCollection services)
where TWidgetProvider :
IWidgetProvider, new()
{
TCommandBuilder builder = new();
TWidgetProvider builder = new();
IHost? host = new HostBuilder()
.ConfigureServices(isolatedServices =>
{
isolatedServices.AddSingleton<IServiceFactory>(provider =>
new ServiceFactory((type, parameters) => ActivatorUtilities.CreateInstance(provider, type, parameters!)));
isolatedServices.AddSingleton<IVirtualKeyboard, VirtualKeyboard>();
isolatedServices.AddSingleton<IMediator, Mediator>();
isolatedServices.AddHandler<KeyAcceleratorCommandHandler>();
isolatedServices.AddTransient<IWidgetView, WidgetView>();
isolatedServices.AddContentTemplate<WidgetButtonViewModel, WidgetButtonView>();