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
@@ -44,6 +44,29 @@ namespace PolyTraderSharp.Ui
|
||||
btn.Click += (_, _) => _uiHost.OpenView(viewId);
|
||||
}
|
||||
|
||||
// Modul-Views dynamisch anhängen (der Launcher kennt keine Modulnamen; er bindet
|
||||
// nur an registrierte View-IDs). Core-Views sind bereits fest verdrahtet.
|
||||
var moduleViews = _uiHost.Views
|
||||
.Where(v => !_viewButtons.ContainsKey(v.Id))
|
||||
.OrderBy(v => v.Order)
|
||||
.ToList();
|
||||
if (moduleViews.Count > 0)
|
||||
toolstrip_windows.Items.Add(new ToolStripSeparator());
|
||||
foreach (var view in moduleViews)
|
||||
{
|
||||
var btn = new ToolStripButton(view.Title)
|
||||
{
|
||||
Name = "btn_" + view.Id,
|
||||
Overflow = ToolStripItemOverflow.AsNeeded,
|
||||
TextImageRelation = TextImageRelation.ImageAboveText,
|
||||
AutoSize = true
|
||||
};
|
||||
var viewId = view.Id;
|
||||
btn.Click += (_, _) => _uiHost.OpenView(viewId);
|
||||
toolstrip_windows.Items.Add(btn);
|
||||
_viewButtons[view.Id] = btn;
|
||||
}
|
||||
|
||||
btn_liveTrading.Click += (_, _) => CycleLiveTrading();
|
||||
btn_demoTrading.Click += (_, _) => CycleDemoTrading();
|
||||
miBeenden.Click += (_, _) => Close();
|
||||
|
||||
Reference in New Issue
Block a user