UI Slice 4: Launcher-Live-Widgets + VS-Re-Serialisierungs-Regressionen behoben
Slice 4 - Launcher-Live-Ueberblick (LauncherWidgetsPanel, isoliertes UserControl, rechts angedockt, 30s-Refresh; minimaler Eingriff ins von Richard bearbeitete Launcher-Designer): - Modul-PnL/Winrate-Kacheln (je Modul + Gesamt: Heute/7T/30T, gruen/rot) via TradeAnalytics. - Supervisor-KI-Kurzfassung (letzter sup_report). - Warnungen & Fehler (heutige JSONL-Logs, Error/Warning). - Auffaellige Trades (24h, nach |PnL| sortiert). Regressionen aus VS-Re-Serialisierung behoben (VS liess hand-erstellte DataGridView-Spalten fallen -> col* null -> NRE beim Oeffnen): - DashboardView (dgvTrades): Spalten-Instanziierung + AutoGenerateColumns=false + Columns.AddRange + Spalten-Konfig wiederhergestellt. - JobsView (dgvJobs): dito (nur Button-Spalte hatte ueberlebt). - Smoke-UI dauerhaft um JobsView/TerminalView/SettingsView erweitert -> faengt diese Regressionsklasse kuenftig ab. Enthaelt ausserdem Richards zwischenzeitliche UI-Arbeit (Launcher-Icons cross_reference/emotion_batman/ file_start_workflow, Designer-Re-Serialisierungen, .ico-Sammlung, Modul-Form-.resx). Persoenliche Notizdatei bewusst NICHT committet. Build 0 Fehler, 396 Tests gruen, --smoke-ui alle 9 Views/Forms gruen. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
936144c318
commit
3c8ea3534e
Generated
+60
-42
@@ -24,11 +24,12 @@ namespace PolyTraderSharp.Ui
|
||||
btn_settings = new ToolStripButton();
|
||||
btn_terminal = new ToolStripButton();
|
||||
btn_jobs = new ToolStripButton();
|
||||
btn_accounting = new ToolStripButton();
|
||||
toolStripSeparator1 = new ToolStripSeparator();
|
||||
toolStripSeparator2 = new ToolStripSeparator();
|
||||
btn_copytrading = new ToolStripButton();
|
||||
btn_resolutionfarming = new ToolStripButton();
|
||||
btn_supervisor = new ToolStripButton();
|
||||
btn_accounting = new ToolStripButton();
|
||||
toolstrip_quickbar = new ToolStrip();
|
||||
btn_liveTrading = new ToolStripButton();
|
||||
btn_demoTrading = new ToolStripButton();
|
||||
@@ -44,6 +45,7 @@ namespace PolyTraderSharp.Ui
|
||||
colAccPnl3d = new DataGridViewTextBoxColumn();
|
||||
colAccWin3d = new DataGridViewTextBoxColumn();
|
||||
colAccOverall = new DataGridViewTextBoxColumn();
|
||||
launcherWidgets = new LauncherWidgetsPanel();
|
||||
menuStrip.SuspendLayout();
|
||||
toolstrip_windows.SuspendLayout();
|
||||
toolstrip_quickbar.SuspendLayout();
|
||||
@@ -60,18 +62,18 @@ namespace PolyTraderSharp.Ui
|
||||
menuStrip.Padding = new Padding(9, 3, 0, 3);
|
||||
menuStrip.Size = new Size(2599, 35);
|
||||
menuStrip.TabIndex = 0;
|
||||
//
|
||||
//
|
||||
// miFenster
|
||||
//
|
||||
//
|
||||
miFenster.Name = "miFenster";
|
||||
miFenster.Size = new Size(69, 29);
|
||||
miFenster.Size = new Size(85, 29);
|
||||
miFenster.Text = "Fenster";
|
||||
//
|
||||
//
|
||||
// toolstrip_windows
|
||||
//
|
||||
toolstrip_windows.AutoSize = false;
|
||||
toolstrip_windows.ImageScalingSize = new Size(64, 64);
|
||||
toolstrip_windows.Items.AddRange(new ToolStripItem[] { btn_dashboard, btn_settings, btn_terminal, btn_jobs, toolStripSeparator1, btn_copytrading, btn_resolutionfarming, btn_supervisor, btn_accounting });
|
||||
toolstrip_windows.Items.AddRange(new ToolStripItem[] { btn_dashboard, btn_settings, btn_terminal, btn_jobs, btn_accounting, btn_supervisor, toolStripSeparator1, toolStripSeparator2, btn_copytrading, btn_resolutionfarming });
|
||||
toolstrip_windows.Location = new Point(0, 35);
|
||||
toolstrip_windows.Name = "toolstrip_windows";
|
||||
toolstrip_windows.Size = new Size(2599, 70);
|
||||
@@ -116,39 +118,9 @@ namespace PolyTraderSharp.Ui
|
||||
btn_jobs.Size = new Size(106, 65);
|
||||
btn_jobs.Text = "Server Jobs";
|
||||
btn_jobs.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||
//
|
||||
// btn_copytrading
|
||||
//
|
||||
btn_copytrading.Image = Properties.Resources.money_dollar;
|
||||
btn_copytrading.ImageScaling = ToolStripItemImageScaling.None;
|
||||
btn_copytrading.ImageTransparentColor = Color.Magenta;
|
||||
btn_copytrading.Name = "btn_copytrading";
|
||||
btn_copytrading.Size = new Size(120, 65);
|
||||
btn_copytrading.Text = "CopyTrading";
|
||||
btn_copytrading.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||
//
|
||||
// btn_resolutionfarming
|
||||
//
|
||||
btn_resolutionfarming.Image = Properties.Resources.refresh_all;
|
||||
btn_resolutionfarming.ImageScaling = ToolStripItemImageScaling.None;
|
||||
btn_resolutionfarming.ImageTransparentColor = Color.Magenta;
|
||||
btn_resolutionfarming.Name = "btn_resolutionfarming";
|
||||
btn_resolutionfarming.Size = new Size(150, 65);
|
||||
btn_resolutionfarming.Text = "ResolutionFarming";
|
||||
btn_resolutionfarming.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||
//
|
||||
// btn_supervisor
|
||||
//
|
||||
btn_supervisor.Image = Properties.Resources.token_quantifier;
|
||||
btn_supervisor.ImageScaling = ToolStripItemImageScaling.None;
|
||||
btn_supervisor.ImageTransparentColor = Color.Magenta;
|
||||
btn_supervisor.Name = "btn_supervisor";
|
||||
btn_supervisor.Size = new Size(110, 65);
|
||||
btn_supervisor.Text = "Supervisor";
|
||||
btn_supervisor.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||
//
|
||||
//
|
||||
// btn_accounting
|
||||
//
|
||||
//
|
||||
btn_accounting.Image = Properties.Resources.coins_in_hand;
|
||||
btn_accounting.ImageScaling = ToolStripItemImageScaling.None;
|
||||
btn_accounting.ImageTransparentColor = Color.Magenta;
|
||||
@@ -156,12 +128,48 @@ namespace PolyTraderSharp.Ui
|
||||
btn_accounting.Size = new Size(106, 65);
|
||||
btn_accounting.Text = "Accounting";
|
||||
btn_accounting.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||
//
|
||||
//
|
||||
// toolStripSeparator1
|
||||
//
|
||||
toolStripSeparator1.Name = "toolStripSeparator1";
|
||||
toolStripSeparator1.Size = new Size(6, 70);
|
||||
//
|
||||
// toolStripSeparator2
|
||||
//
|
||||
toolStripSeparator2.Margin = new Padding(20, 0, 0, 0);
|
||||
toolStripSeparator2.Name = "toolStripSeparator2";
|
||||
toolStripSeparator2.Size = new Size(6, 70);
|
||||
//
|
||||
// btn_copytrading
|
||||
//
|
||||
btn_copytrading.Image = Properties.Resources.cross_reference;
|
||||
btn_copytrading.ImageScaling = ToolStripItemImageScaling.None;
|
||||
btn_copytrading.ImageTransparentColor = Color.Magenta;
|
||||
btn_copytrading.Name = "btn_copytrading";
|
||||
btn_copytrading.Size = new Size(116, 65);
|
||||
btn_copytrading.Text = "CopyTrading";
|
||||
btn_copytrading.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||
//
|
||||
// btn_resolutionfarming
|
||||
//
|
||||
btn_resolutionfarming.Image = Properties.Resources.file_start_workflow;
|
||||
btn_resolutionfarming.ImageScaling = ToolStripItemImageScaling.None;
|
||||
btn_resolutionfarming.ImageTransparentColor = Color.Magenta;
|
||||
btn_resolutionfarming.Name = "btn_resolutionfarming";
|
||||
btn_resolutionfarming.Size = new Size(163, 65);
|
||||
btn_resolutionfarming.Text = "ResolutionFarming";
|
||||
btn_resolutionfarming.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||
//
|
||||
// btn_supervisor
|
||||
//
|
||||
btn_supervisor.Image = Properties.Resources.emotion_batman;
|
||||
btn_supervisor.ImageScaling = ToolStripItemImageScaling.None;
|
||||
btn_supervisor.ImageTransparentColor = Color.Magenta;
|
||||
btn_supervisor.Name = "btn_supervisor";
|
||||
btn_supervisor.Size = new Size(100, 65);
|
||||
btn_supervisor.Text = "Supervisor";
|
||||
btn_supervisor.TextImageRelation = TextImageRelation.ImageAboveText;
|
||||
//
|
||||
// toolstrip_quickbar
|
||||
//
|
||||
toolstrip_quickbar.ImageScalingSize = new Size(24, 24);
|
||||
@@ -294,18 +302,26 @@ namespace PolyTraderSharp.Ui
|
||||
colAccOverall.Name = "colAccOverall";
|
||||
colAccOverall.ReadOnly = true;
|
||||
colAccOverall.Width = 133;
|
||||
//
|
||||
//
|
||||
// launcherWidgets
|
||||
//
|
||||
launcherWidgets.Dock = DockStyle.Right;
|
||||
launcherWidgets.Location = new Point(2039, 139);
|
||||
launcherWidgets.Name = "launcherWidgets";
|
||||
launcherWidgets.Size = new Size(560, 498);
|
||||
launcherWidgets.TabIndex = 7;
|
||||
//
|
||||
// LauncherForm
|
||||
//
|
||||
//
|
||||
AutoScaleDimensions = new SizeF(10F, 25F);
|
||||
AutoScaleMode = AutoScaleMode.Font;
|
||||
ClientSize = new Size(2599, 669);
|
||||
Controls.Add(dgv_accountlist);
|
||||
Controls.Add(launcherWidgets);
|
||||
Controls.Add(statusStrip_info);
|
||||
Controls.Add(toolstrip_quickbar);
|
||||
Controls.Add(toolstrip_windows);
|
||||
Controls.Add(menuStrip);
|
||||
FormBorderStyle = FormBorderStyle.Sizable;
|
||||
MainMenuStrip = menuStrip;
|
||||
Margin = new Padding(4, 5, 4, 5);
|
||||
MinimumSize = new Size(1280, 720);
|
||||
@@ -355,5 +371,7 @@ namespace PolyTraderSharp.Ui
|
||||
private DataGridViewTextBoxColumn colAccPnl3d;
|
||||
private DataGridViewTextBoxColumn colAccWin3d;
|
||||
private DataGridViewTextBoxColumn colAccOverall;
|
||||
private ToolStripSeparator toolStripSeparator2;
|
||||
private LauncherWidgetsPanel launcherWidgets;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user