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
+95
-94
@@ -17,126 +17,127 @@ namespace PolyTraderSharp.Ui.Views
|
||||
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.dgvJobs = new System.Windows.Forms.DataGridView();
|
||||
this.colJobName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colStatus = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colLastRun = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colNextRun = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.col_dgv_jobs_Enabled = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.col_dgv_jobs_Run = new System.Windows.Forms.DataGridViewButtonColumn();
|
||||
this.colDescription = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.toolStripJobs = new System.Windows.Forms.ToolStrip();
|
||||
this.tsJobsRefresh = new System.Windows.Forms.ToolStripButton();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvJobs)).BeginInit();
|
||||
this.toolStripJobs.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(JobsView));
|
||||
dgvJobs = new DataGridView();
|
||||
colJobName = new DataGridViewTextBoxColumn();
|
||||
colStatus = new DataGridViewTextBoxColumn();
|
||||
colLastRun = new DataGridViewTextBoxColumn();
|
||||
colNextRun = new DataGridViewTextBoxColumn();
|
||||
col_dgv_jobs_Enabled = new DataGridViewCheckBoxColumn();
|
||||
col_dgv_jobs_Run = new DataGridViewButtonColumn();
|
||||
colDescription = new DataGridViewTextBoxColumn();
|
||||
toolStripJobs = new ToolStrip();
|
||||
tsJobsRefresh = new ToolStripButton();
|
||||
((System.ComponentModel.ISupportInitialize)dgvJobs).BeginInit();
|
||||
toolStripJobs.SuspendLayout();
|
||||
SuspendLayout();
|
||||
//
|
||||
// dgvJobs
|
||||
//
|
||||
this.dgvJobs.AllowUserToAddRows = false;
|
||||
this.dgvJobs.AllowUserToDeleteRows = false;
|
||||
this.dgvJobs.AutoGenerateColumns = false;
|
||||
this.dgvJobs.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvJobs.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colJobName,
|
||||
this.colStatus,
|
||||
this.colLastRun,
|
||||
this.colNextRun,
|
||||
this.col_dgv_jobs_Enabled,
|
||||
this.col_dgv_jobs_Run,
|
||||
this.colDescription});
|
||||
this.dgvJobs.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.dgvJobs.Location = new System.Drawing.Point(0, 0);
|
||||
this.dgvJobs.Name = "dgvJobs";
|
||||
this.dgvJobs.RowHeadersVisible = false;
|
||||
this.dgvJobs.Size = new System.Drawing.Size(900, 500);
|
||||
this.dgvJobs.TabIndex = 0;
|
||||
//
|
||||
dgvJobs.AllowUserToAddRows = false;
|
||||
dgvJobs.AllowUserToDeleteRows = false;
|
||||
dgvJobs.AutoGenerateColumns = false;
|
||||
dgvJobs.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
dgvJobs.Columns.AddRange(new DataGridViewColumn[] { colJobName, colStatus, colLastRun, colNextRun, col_dgv_jobs_Enabled, col_dgv_jobs_Run, colDescription });
|
||||
dgvJobs.Dock = DockStyle.Fill;
|
||||
dgvJobs.Location = new Point(0, 34);
|
||||
dgvJobs.Margin = new Padding(4, 5, 4, 5);
|
||||
dgvJobs.Name = "dgvJobs";
|
||||
dgvJobs.RowHeadersVisible = false;
|
||||
dgvJobs.RowHeadersWidth = 62;
|
||||
dgvJobs.Size = new Size(1429, 799);
|
||||
dgvJobs.TabIndex = 0;
|
||||
//
|
||||
// colJobName
|
||||
//
|
||||
this.colJobName.DataPropertyName = "JobName";
|
||||
this.colJobName.HeaderText = "Job Name";
|
||||
this.colJobName.Name = "colJobName";
|
||||
this.colJobName.ReadOnly = true;
|
||||
this.colJobName.Width = 150;
|
||||
colJobName.DataPropertyName = "JobName";
|
||||
colJobName.HeaderText = "Job Name";
|
||||
colJobName.Name = "colJobName";
|
||||
colJobName.ReadOnly = true;
|
||||
colJobName.Width = 150;
|
||||
//
|
||||
// colStatus
|
||||
//
|
||||
this.colStatus.DataPropertyName = "StatusText";
|
||||
this.colStatus.HeaderText = "Status";
|
||||
this.colStatus.Name = "colStatus";
|
||||
this.colStatus.ReadOnly = true;
|
||||
this.colStatus.Width = 150;
|
||||
colStatus.DataPropertyName = "StatusText";
|
||||
colStatus.HeaderText = "Status";
|
||||
colStatus.Name = "colStatus";
|
||||
colStatus.ReadOnly = true;
|
||||
colStatus.Width = 150;
|
||||
//
|
||||
// colLastRun
|
||||
//
|
||||
this.colLastRun.DataPropertyName = "LastRun";
|
||||
this.colLastRun.HeaderText = "Zuletzt ausgeführt";
|
||||
this.colLastRun.Name = "colLastRun";
|
||||
this.colLastRun.ReadOnly = true;
|
||||
this.colLastRun.Width = 130;
|
||||
colLastRun.DataPropertyName = "LastRun";
|
||||
colLastRun.HeaderText = "Zuletzt ausgeführt";
|
||||
colLastRun.Name = "colLastRun";
|
||||
colLastRun.ReadOnly = true;
|
||||
colLastRun.Width = 130;
|
||||
//
|
||||
// colNextRun
|
||||
//
|
||||
this.colNextRun.DataPropertyName = "NextRun";
|
||||
this.colNextRun.HeaderText = "Nächster Lauf";
|
||||
this.colNextRun.Name = "colNextRun";
|
||||
this.colNextRun.ReadOnly = true;
|
||||
this.colNextRun.Width = 130;
|
||||
colNextRun.DataPropertyName = "NextRun";
|
||||
colNextRun.HeaderText = "Nächster Lauf";
|
||||
colNextRun.Name = "colNextRun";
|
||||
colNextRun.ReadOnly = true;
|
||||
colNextRun.Width = 130;
|
||||
//
|
||||
// col_dgv_jobs_Enabled
|
||||
//
|
||||
this.col_dgv_jobs_Enabled.DataPropertyName = "IsEnabled";
|
||||
this.col_dgv_jobs_Enabled.HeaderText = "Aktiv";
|
||||
this.col_dgv_jobs_Enabled.Name = "col_dgv_jobs_Enabled";
|
||||
this.col_dgv_jobs_Enabled.Width = 60;
|
||||
col_dgv_jobs_Enabled.DataPropertyName = "IsEnabled";
|
||||
col_dgv_jobs_Enabled.HeaderText = "Aktiv";
|
||||
col_dgv_jobs_Enabled.Name = "col_dgv_jobs_Enabled";
|
||||
col_dgv_jobs_Enabled.Width = 60;
|
||||
//
|
||||
// col_dgv_jobs_Run
|
||||
//
|
||||
this.col_dgv_jobs_Run.HeaderText = "Aktion";
|
||||
this.col_dgv_jobs_Run.Name = "col_dgv_jobs_Run";
|
||||
this.col_dgv_jobs_Run.Text = "Run Now";
|
||||
this.col_dgv_jobs_Run.UseColumnTextForButtonValue = true;
|
||||
this.col_dgv_jobs_Run.Width = 90;
|
||||
col_dgv_jobs_Run.HeaderText = "Aktion";
|
||||
col_dgv_jobs_Run.MinimumWidth = 8;
|
||||
col_dgv_jobs_Run.Name = "col_dgv_jobs_Run";
|
||||
col_dgv_jobs_Run.Text = "Run Now";
|
||||
col_dgv_jobs_Run.UseColumnTextForButtonValue = true;
|
||||
col_dgv_jobs_Run.Width = 90;
|
||||
//
|
||||
// colDescription
|
||||
//
|
||||
this.colDescription.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
|
||||
this.colDescription.DataPropertyName = "Description";
|
||||
this.colDescription.HeaderText = "Beschreibung";
|
||||
this.colDescription.Name = "colDescription";
|
||||
this.colDescription.ReadOnly = true;
|
||||
colDescription.AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
|
||||
colDescription.DataPropertyName = "Description";
|
||||
colDescription.HeaderText = "Beschreibung";
|
||||
colDescription.Name = "colDescription";
|
||||
colDescription.ReadOnly = true;
|
||||
//
|
||||
// toolStripJobs
|
||||
//
|
||||
this.toolStripJobs.ImageScalingSize = new System.Drawing.Size(24, 24);
|
||||
this.toolStripJobs.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.tsJobsRefresh});
|
||||
this.toolStripJobs.Location = new System.Drawing.Point(0, 0);
|
||||
this.toolStripJobs.Name = "toolStripJobs";
|
||||
this.toolStripJobs.Size = new System.Drawing.Size(1000, 25);
|
||||
this.toolStripJobs.TabIndex = 1;
|
||||
//
|
||||
//
|
||||
toolStripJobs.ImageScalingSize = new Size(24, 24);
|
||||
toolStripJobs.Items.AddRange(new ToolStripItem[] { tsJobsRefresh });
|
||||
toolStripJobs.Location = new Point(0, 0);
|
||||
toolStripJobs.Name = "toolStripJobs";
|
||||
toolStripJobs.Padding = new Padding(0, 0, 3, 0);
|
||||
toolStripJobs.Size = new Size(1429, 34);
|
||||
toolStripJobs.TabIndex = 1;
|
||||
//
|
||||
// tsJobsRefresh
|
||||
//
|
||||
this.tsJobsRefresh.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
|
||||
this.tsJobsRefresh.Name = "tsJobsRefresh";
|
||||
this.tsJobsRefresh.Text = "Aktualisieren";
|
||||
this.tsJobsRefresh.ToolTipText = "Job-Liste neu zeichnen (Status/Zeiten aktualisieren).";
|
||||
//
|
||||
//
|
||||
tsJobsRefresh.DisplayStyle = ToolStripItemDisplayStyle.Text;
|
||||
tsJobsRefresh.Name = "tsJobsRefresh";
|
||||
tsJobsRefresh.Size = new Size(116, 29);
|
||||
tsJobsRefresh.Text = "Aktualisieren";
|
||||
tsJobsRefresh.ToolTipText = "Job-Liste neu zeichnen (Status/Zeiten aktualisieren).";
|
||||
//
|
||||
// JobsView
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.dgvJobs);
|
||||
this.Controls.Add(this.toolStripJobs);
|
||||
this.ClientSize = new System.Drawing.Size(1000, 500);
|
||||
this.Name = "JobsView";
|
||||
this.Text = "Server Jobs";
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvJobs)).EndInit();
|
||||
this.toolStripJobs.ResumeLayout(false);
|
||||
this.toolStripJobs.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
//
|
||||
AutoScaleDimensions = new SizeF(10F, 25F);
|
||||
AutoScaleMode = AutoScaleMode.Font;
|
||||
ClientSize = new Size(1429, 833);
|
||||
Controls.Add(dgvJobs);
|
||||
Controls.Add(toolStripJobs);
|
||||
Icon = (Icon)resources.GetObject("$this.Icon");
|
||||
Margin = new Padding(4, 5, 4, 5);
|
||||
Name = "JobsView";
|
||||
Text = "Server Jobs";
|
||||
((System.ComponentModel.ISupportInitialize)dgvJobs).EndInit();
|
||||
toolStripJobs.ResumeLayout(false);
|
||||
toolStripJobs.PerformLayout();
|
||||
ResumeLayout(false);
|
||||
PerformLayout();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
Reference in New Issue
Block a user