Phase 5-UI: Views sind echte Forms + Launcher-Offen-Status

- ModuleView liefert jetzt ein Form (CreateForm statt CreateControl); die 4 Views
  (Terminal, Settings, Jobs, Dashboard) von UserControl auf Form umgestellt
  (im Designer als Fenster bearbeitbar). ViewHostForm entfernt.
- ShellUiHost verwaltet offene Forms: Einzelinstanz, bereits offenes Fenster wird
  in den Vordergrund geholt, OpenStateChanged-Event.
- LauncherForm: Fenster-Buttons an View-IDs gebunden; offene Fenster werden am
  Button markiert (Checked), erneuter Klick holt das Fenster nach vorn.
- Build 0 Fehler.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Richard
2026-07-03 09:19:13 +02:00
co-authored by Claude Opus 4.8
parent ff1db2aea0
commit ad5ba34b56
18 changed files with 242 additions and 102 deletions
+15 -11
View File
@@ -22,10 +22,10 @@ namespace PolyTraderSharp.Ui
miLegacy = new ToolStripMenuItem();
miBeenden = new ToolStripMenuItem();
toolstrip_windows = new ToolStrip();
btn_dashboard = new ToolStripButton();
btn_settings = new ToolStripButton();
btn_terminal = new ToolStripButton();
btn_jobs = new ToolStripButton();
btn_dashboard = new ToolStripButton();
toolstrip_quickbar = new ToolStrip();
btn_liveTrading = new ToolStripButton();
btn_demoTrading = new ToolStripButton();
@@ -72,13 +72,23 @@ namespace PolyTraderSharp.Ui
//
toolstrip_windows.AutoSize = false;
toolstrip_windows.ImageScalingSize = new Size(64, 64);
toolstrip_windows.Items.AddRange(new ToolStripItem[] { btn_settings, btn_terminal, btn_jobs, btn_dashboard });
toolstrip_windows.Items.AddRange(new ToolStripItem[] { btn_dashboard, btn_settings, btn_terminal, btn_jobs });
toolstrip_windows.Location = new Point(0, 35);
toolstrip_windows.Name = "toolstrip_windows";
toolstrip_windows.Size = new Size(2599, 70);
toolstrip_windows.TabIndex = 3;
toolstrip_windows.Text = "toolStrip1";
//
// btn_dashboard
//
btn_dashboard.Image = Properties.Resources.dashboard;
btn_dashboard.ImageScaling = ToolStripItemImageScaling.None;
btn_dashboard.Name = "btn_dashboard";
btn_dashboard.Overflow = ToolStripItemOverflow.Never;
btn_dashboard.Size = new Size(104, 65);
btn_dashboard.Text = "Dashboard";
btn_dashboard.TextImageRelation = TextImageRelation.ImageAboveText;
//
// btn_settings
//
btn_settings.BackColor = SystemColors.Control;
@@ -107,13 +117,6 @@ namespace PolyTraderSharp.Ui
btn_jobs.Size = new Size(106, 65);
btn_jobs.Text = "Server Jobs";
btn_jobs.TextImageRelation = TextImageRelation.ImageAboveText;
//
// btn_dashboard
//
btn_dashboard.DisplayStyle = ToolStripItemDisplayStyle.Text;
btn_dashboard.Name = "btn_dashboard";
btn_dashboard.Size = new Size(110, 65);
btn_dashboard.Text = "Dashboard";
//
// toolstrip_quickbar
//
@@ -144,7 +147,7 @@ namespace PolyTraderSharp.Ui
statusStrip_info.BackColor = Color.Gainsboro;
statusStrip_info.ImageScalingSize = new Size(24, 24);
statusStrip_info.Items.AddRange(new ToolStripItem[] { lbl_trading, lbl_modules, lbl_ratelimit });
statusStrip_info.Location = new Point(0, 133);
statusStrip_info.Location = new Point(0, 140);
statusStrip_info.Name = "statusStrip_info";
statusStrip_info.Size = new Size(2599, 32);
statusStrip_info.TabIndex = 5;
@@ -172,11 +175,12 @@ namespace PolyTraderSharp.Ui
//
AutoScaleDimensions = new SizeF(10F, 25F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(2599, 165);
ClientSize = new Size(2599, 172);
Controls.Add(statusStrip_info);
Controls.Add(toolstrip_quickbar);
Controls.Add(toolstrip_windows);
Controls.Add(menuStrip);
FormBorderStyle = FormBorderStyle.FixedSingle;
MainMenuStrip = menuStrip;
Margin = new Padding(4, 5, 4, 5);
Name = "LauncherForm";