@
Phase 2: Launcher-UI + eigenstaendige Modul-Fenster - Form1 -> LauncherForm (Dateien via git mv, Designer/resx angepasst) - Modul-Tab: Karten aus ModuleRegistry mit "Fenster oeffnen"-Button je Modul - UI/WindowManager: Fenster-Tracking (Key->Form), Re-Open fokussiert, CloseAll - UI/ModuleFormBase: Basisklasse fuer eigenstaendige Modul-Fenster - CongressTradingForm: DB-Kennzahlen + manueller Scrape-Trigger (Phase-4-Ausbau folgt) - WindowManager in DI; Launcher schliesst Modul-Fenster beim Beenden - Tests: WindowManager (6) -> 21/21 gruen; Launcher-Start verifiziert Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> @
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
using System.Drawing;
|
||||
using IBKRTrader.Core.Logging;
|
||||
using IBKRTrader.Core.Modules;
|
||||
using IBKRTrader.Core.Workers;
|
||||
using IBKRTrader.Modules.CongressTrading.Database;
|
||||
using IBKRTrader.Modules.CongressTrading.Scraper;
|
||||
using IBKRTrader.Modules.CongressTrading.UI;
|
||||
using IBKRTrader.Modules.CongressTrading.Workers;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
|
||||
@@ -58,24 +59,10 @@ public sealed class CongressTradingModule : IModule
|
||||
provider.GetRequiredService<CongressScrapeWorker>()
|
||||
];
|
||||
|
||||
/// <summary>
|
||||
/// Erzeugt das Modul-Fenster. Platzhalter – die vollständige UI folgt in Phase 2.
|
||||
/// </summary>
|
||||
/// <summary>Erzeugt das eigenständige Modul-Fenster.</summary>
|
||||
public Form CreateWindow(IServiceProvider provider)
|
||||
{
|
||||
var form = new Form
|
||||
{
|
||||
Text = $"{DisplayName} ({Key})",
|
||||
Width = 800,
|
||||
Height = 500,
|
||||
StartPosition = FormStartPosition.CenterParent
|
||||
};
|
||||
form.Controls.Add(new Label
|
||||
{
|
||||
Dock = DockStyle.Fill,
|
||||
TextAlign = ContentAlignment.MiddleCenter,
|
||||
Text = $"{DisplayName}\n\nModul-UI folgt in Phase 2."
|
||||
});
|
||||
return form;
|
||||
}
|
||||
=> new CongressTradingForm(
|
||||
provider.GetRequiredService<CongressRepository>(),
|
||||
provider.GetRequiredService<WorkerEngine>(),
|
||||
provider.GetRequiredService<LoggingService>());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user