Force rerender on visibility change

This commit is contained in:
2023-08-12 09:09:17 +02:00
parent 1fde0df2d6
commit 16bdc1ed40
20 changed files with 292 additions and 147 deletions

View File

@@ -57,7 +57,7 @@ public class App : IApplication
foreach (var rootView in _mainWindow.RootViews())
{
_applicationContext.EventLoop.AddViewToRender(rootView);
_applicationContext.RenderEngine.AddViewToPermanentRenderGroup(rootView);
}
_applicationContext.IsRunning = true;
@@ -101,5 +101,5 @@ public class App : IApplication
}
}
private void Render() => _applicationContext.EventLoop.Run();
private void Render() => _applicationContext.RenderEngine.Run();
}

View File

@@ -1,5 +1,4 @@
using FileTime.App.Core.Configuration;
using FileTime.App.Core.Models;
using FileTime.App.Core.Services;
using FileTime.App.Core.ViewModels;
using FileTime.ConsoleUI.App.Configuration;
@@ -10,9 +9,6 @@ using FileTime.Core.Interactions;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Logging;
using TerminalUI;
using TerminalUI.ConsoleDrivers;
namespace FileTime.ConsoleUI.App;
@@ -30,18 +26,8 @@ public static class Startup
services.AddSingleton<CustomLoggerSink>();
services.TryAddSingleton(new ApplicationConfiguration(true));
services.TryAddSingleton<IRootViewModel, RootViewModel>();
services.TryAddSingleton<IFocusManager, FocusManager>();
services.Configure<ConsoleApplicationConfiguration>(configuration);
services.TryAddSingleton<IApplicationContext>(sp
=> new ApplicationContext
{
ConsoleDriver = sp.GetRequiredService<IConsoleDriver>(),
LoggerFactory = sp.GetRequiredService<ILoggerFactory>(),
FocusManager = sp.GetRequiredService<IFocusManager>(),
}
);
return services;
}

View File

@@ -11,6 +11,7 @@ using FileTime.Tools.Compression;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Serilog;
using TerminalUI.DependencyInjection;
namespace FileTime.ConsoleUI;
@@ -23,6 +24,7 @@ public static class DI
.RegisterDefaultServices(configuration: configuration)
.AddConsoleServices(configuration)
.AddConsoleViews()
.AddTerminalUi()
.AddLocalProviderServices()
.AddServerCoreServices()
.AddFrequencyNavigation()

View File

@@ -15,6 +15,7 @@
<ProjectReference Include="..\..\AppCommon\FileTime.App.ContainerSizeScanner\FileTime.App.ContainerSizeScanner.csproj" />
<ProjectReference Include="..\..\AppCommon\FileTime.App.DependencyInjection\FileTime.App.DependencyInjection.csproj" />
<ProjectReference Include="..\..\AppCommon\FileTime.App.FrequencyNavigation\FileTime.App.FrequencyNavigation.csproj" />
<ProjectReference Include="..\..\Library\TerminalUI.DependencyInjection\TerminalUI.DependencyInjection.csproj" />
<ProjectReference Include="..\..\Tools\FileTime.Tools.Compression\FileTime.Tools.Compression.csproj" />
<ProjectReference Include="..\FileTime.ConsoleUI.App\FileTime.ConsoleUI.App.csproj" />
<ProjectReference Include="..\FileTime.ConsoleUI.Styles\FileTime.ConsoleUI.Styles.csproj" />