Phase 5-UI: Copytrading-Modul-Views (Master-Trader, Closed Trades, Account-Settings)
- MasterTradersView: Liste + PropertyGrid-Editor + Account-Zuweisung (CheckedListBox -> AssignedAccountIds), Neu/Speichern/Loeschen; persistiert via ITrackedTraderRepository + synct CopyTradingState.Traders. - ClosedTradesView: read-only Grid der geschlossenen Copytrades mit aufgeloesten Account-/Trader-Namen + Kurzauswertung (ICopyTradeLogRepository). - AccountSettingsView: Account-Auswahl + PropertyGrid fuer CopyTradingAccountSettings, Speichern via Repo + State-Sync. - IPolyTraderModule.RegisterUi erhaelt jetzt IServiceProvider (Module loesen ihre View-Abhaengigkeiten auf); Program uebergibt viewServices. - CopyTradingModule.RegisterUi registriert die 3 Views (Group "CopyTrading"). - LauncherForm haengt Modul-Views dynamisch als Buttons an toolstrip_windows (Core kennt keine Modulnamen; Bindung nur ueber View-IDs). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
b951b912f4
commit
05e0576965
@@ -1,3 +1,4 @@
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
@@ -29,10 +30,11 @@ namespace PolyTrader.Core.Modularity
|
||||
|
||||
/// <summary>
|
||||
/// Registriert die UI-Ansichten des Moduls bei der Shell (Launcher). Die Shell öffnet
|
||||
/// jede Ansicht auf Wunsch in einem eigenen Host-Fenster. Module liefern designbare
|
||||
/// UserControls; die Shell bleibt modul-agnostisch.
|
||||
/// jede Ansicht auf Wunsch in einem eigenen Host-Fenster. Module liefern eigene Forms;
|
||||
/// die Shell bleibt modul-agnostisch. Über <paramref name="services"/> lösen Module ihre
|
||||
/// Abhängigkeiten (Repos, State) für die View-Erzeugung auf.
|
||||
/// </summary>
|
||||
void RegisterUi(IModuleUiHost host);
|
||||
void RegisterUi(IModuleUiHost host, IServiceProvider services);
|
||||
|
||||
/// <summary>Wird nach der Core-Hydration gestartet (kein Anlaufen gegen leeren State).</summary>
|
||||
Task StartAsync(CancellationToken cancellationToken);
|
||||
|
||||
Reference in New Issue
Block a user