Copytrading-Tabs: ToolStrips in ClosedTrades + AccountSettings

Konsistent zum Master-Trader-Tab bekommen die beiden anderen Tabs eine ToolStrip
mit ihren Aktions-Buttons:
- ClosedTradesView: ToolStrip mit "Aktualisieren"; Kurzauswertung wandert in eine
  untere Statusleiste (lblSummary).
- AccountSettingsView: ToolStrip mit Account-Auswahl (ToolStripComboBox) +
  "Speichern"; Hinweistext in untere Statusleiste (lblHint).
- Beide bleiben Designer-basiert (Size statt ClientSize, da UserControl).

Hinweis: Separate Einzelview-Registrierungen existieren nicht mehr (bereits in
c3d7e41 auf die eine View copytrading.main konsolidiert); die drei UserControls
sind ausschliesslich Tab-Inhalte.

Verifiziert: Build gruen, --smoke-ui gruen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Richard
2026-07-06 11:13:48 +02:00
co-authored by Claude Opus 4.8
parent c3d7e41e62
commit e27a659529
5 changed files with 274 additions and 147 deletions
@@ -17,9 +17,8 @@ namespace PolyTrader.Modules.CopyTrading.Ui
private void InitializeComponent()
{
this.pnlTop = new System.Windows.Forms.Panel();
this.lblSummary = new System.Windows.Forms.Label();
this.btnRefresh = new System.Windows.Forms.Button();
this.toolbar = new System.Windows.Forms.ToolStrip();
this.tsRefresh = new System.Windows.Forms.ToolStripButton();
this.dgvTrades = new System.Windows.Forms.DataGridView();
this.colTradeId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colAccount = new System.Windows.Forms.DataGridViewTextBoxColumn();
@@ -34,37 +33,29 @@ namespace PolyTrader.Modules.CopyTrading.Ui
this.colPnlPct = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colOpenedAt = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colClosedAt = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.pnlTop.SuspendLayout();
this.statusPanel = new System.Windows.Forms.Panel();
this.lblSummary = new System.Windows.Forms.Label();
this.toolbar.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.dgvTrades)).BeginInit();
this.statusPanel.SuspendLayout();
this.SuspendLayout();
//
// pnlTop
// toolbar
//
this.pnlTop.Controls.Add(this.lblSummary);
this.pnlTop.Controls.Add(this.btnRefresh);
this.pnlTop.Dock = System.Windows.Forms.DockStyle.Top;
this.pnlTop.Location = new System.Drawing.Point(0, 0);
this.pnlTop.Name = "pnlTop";
this.pnlTop.Size = new System.Drawing.Size(1100, 40);
this.pnlTop.TabIndex = 0;
this.toolbar.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
this.toolbar.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.tsRefresh});
this.toolbar.Location = new System.Drawing.Point(0, 0);
this.toolbar.Name = "toolbar";
this.toolbar.Size = new System.Drawing.Size(1100, 25);
this.toolbar.TabIndex = 0;
//
// lblSummary
// tsRefresh
//
this.lblSummary.AutoSize = true;
this.lblSummary.Location = new System.Drawing.Point(148, 12);
this.lblSummary.Name = "lblSummary";
this.lblSummary.Size = new System.Drawing.Size(16, 15);
this.lblSummary.TabIndex = 1;
this.lblSummary.Text = "—";
//
// btnRefresh
//
this.btnRefresh.Location = new System.Drawing.Point(8, 6);
this.btnRefresh.Name = "btnRefresh";
this.btnRefresh.Size = new System.Drawing.Size(130, 28);
this.btnRefresh.TabIndex = 0;
this.btnRefresh.Text = "Aktualisieren";
this.btnRefresh.UseVisualStyleBackColor = true;
this.tsRefresh.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Text;
this.tsRefresh.Name = "tsRefresh";
this.tsRefresh.Size = new System.Drawing.Size(90, 22);
this.tsRefresh.Text = "Aktualisieren";
//
// dgvTrades
//
@@ -87,12 +78,12 @@ namespace PolyTrader.Modules.CopyTrading.Ui
this.colOpenedAt,
this.colClosedAt});
this.dgvTrades.Dock = System.Windows.Forms.DockStyle.Fill;
this.dgvTrades.Location = new System.Drawing.Point(0, 40);
this.dgvTrades.Location = new System.Drawing.Point(0, 25);
this.dgvTrades.Name = "dgvTrades";
this.dgvTrades.ReadOnly = true;
this.dgvTrades.RowHeadersVisible = false;
this.dgvTrades.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
this.dgvTrades.Size = new System.Drawing.Size(1100, 560);
this.dgvTrades.Size = new System.Drawing.Size(1100, 549);
this.dgvTrades.TabIndex = 1;
//
// colTradeId
@@ -199,25 +190,47 @@ namespace PolyTrader.Modules.CopyTrading.Ui
this.colClosedAt.ReadOnly = true;
this.colClosedAt.Width = 130;
//
// statusPanel
//
this.statusPanel.Controls.Add(this.lblSummary);
this.statusPanel.Dock = System.Windows.Forms.DockStyle.Bottom;
this.statusPanel.Location = new System.Drawing.Point(0, 574);
this.statusPanel.Name = "statusPanel";
this.statusPanel.Size = new System.Drawing.Size(1100, 26);
this.statusPanel.TabIndex = 2;
//
// lblSummary
//
this.lblSummary.Dock = System.Windows.Forms.DockStyle.Fill;
this.lblSummary.Location = new System.Drawing.Point(0, 0);
this.lblSummary.Name = "lblSummary";
this.lblSummary.Padding = new System.Windows.Forms.Padding(8, 0, 0, 0);
this.lblSummary.Size = new System.Drawing.Size(1100, 26);
this.lblSummary.TabIndex = 0;
this.lblSummary.Text = "—";
this.lblSummary.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// ClosedTradesView
//
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.dgvTrades);
this.Controls.Add(this.pnlTop);
this.Controls.Add(this.statusPanel);
this.Controls.Add(this.toolbar);
this.Name = "ClosedTradesView";
this.Size = new System.Drawing.Size(1100, 600);
this.pnlTop.ResumeLayout(false);
this.pnlTop.PerformLayout();
this.toolbar.ResumeLayout(false);
this.toolbar.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.dgvTrades)).EndInit();
this.statusPanel.ResumeLayout(false);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Panel pnlTop;
private System.Windows.Forms.Button btnRefresh;
private System.Windows.Forms.Label lblSummary;
private System.Windows.Forms.ToolStrip toolbar;
private System.Windows.Forms.ToolStripButton tsRefresh;
private System.Windows.Forms.DataGridView dgvTrades;
private System.Windows.Forms.DataGridViewTextBoxColumn colTradeId;
private System.Windows.Forms.DataGridViewTextBoxColumn colAccount;
@@ -232,5 +245,7 @@ namespace PolyTrader.Modules.CopyTrading.Ui
private System.Windows.Forms.DataGridViewTextBoxColumn colPnlPct;
private System.Windows.Forms.DataGridViewTextBoxColumn colOpenedAt;
private System.Windows.Forms.DataGridViewTextBoxColumn colClosedAt;
private System.Windows.Forms.Panel statusPanel;
private System.Windows.Forms.Label lblSummary;
}
}