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
+4 -12
View File
@@ -138,9 +138,7 @@ internal static class Program
Title = "Terminal",
Group = "Core",
Order = 10,
PreferredWidth = 1000,
PreferredHeight = 650,
CreateControl = () =>
CreateForm = () =>
{
var view = new PolyTraderSharp.Ui.Views.TerminalView();
view.Initialize(viewServices.GetRequiredService<TerminalLogger>());
@@ -153,9 +151,7 @@ internal static class Program
Title = "Server Settings",
Group = "Core",
Order = 20,
PreferredWidth = 720,
PreferredHeight = 720,
CreateControl = () =>
CreateForm = () =>
{
var view = new PolyTraderSharp.Ui.Views.SettingsView();
view.Initialize(
@@ -171,9 +167,7 @@ internal static class Program
Title = "Server Jobs",
Group = "Core",
Order = 30,
PreferredWidth = 1000,
PreferredHeight = 500,
CreateControl = () =>
CreateForm = () =>
{
var view = new PolyTraderSharp.Ui.Views.JobsView();
view.Initialize(viewServices.GetRequiredService<JobManager>());
@@ -186,9 +180,7 @@ internal static class Program
Title = "Dashboard",
Group = "Core",
Order = 5,
PreferredWidth = 1200,
PreferredHeight = 650,
CreateControl = () =>
CreateForm = () =>
{
var view = new PolyTraderSharp.Ui.Views.DashboardView();
view.Initialize(