#79: GuiPromptEditorTab erhaelt Konfigurationsaenderungen via notifyConfigurationChanged

Einfuehren von GuiPromptEditorPortFactory als funktionalem Interface,
damit GuiConfigurationEditorWorkspace bei jedem Laden oder Speichern
einer Konfiguration einen passenden Port fuer den Prompt-Tab erzeugen
kann. GuiPromptEditorTab.notifyConfigurationChanged() aktualisiert Port,
Pfad und maxTitleLength und setzt Dirty-State sowie Tab-Titel zurueck.
BootstrapRunner uebergibt die Factory an GuiStartupContext. Damit werden
alle vier Symptome aus #79 behoben: leerer Tab, gesperrte Textarea,
fehlgeschlagenes Speichern und fehlender Dirty-State-Indikator.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
van Elst, Marcus
2026-05-04 11:38:42 +02:00
parent 0b69adf8c9
commit ddfbf9b8cb
6 changed files with 181 additions and 17 deletions
@@ -849,7 +849,8 @@ public class BootstrapRunner {
historyOverviewPort,
historyDetailsPort,
historyResetPort,
deleteHistoryPort);
deleteHistoryPort,
this::buildGuiPromptEditorPort);
}
Path configPath = Paths.get(configPathOverride.get());
@@ -879,7 +880,8 @@ public class BootstrapRunner {
historyOverviewPort,
historyDetailsPort,
historyResetPort,
deleteHistoryPort);
deleteHistoryPort,
this::buildGuiPromptEditorPort);
}
LOG.info("GUI startup: configuration file confirmed at: {}", configPath.toAbsolutePath());
@@ -892,7 +894,8 @@ public class BootstrapRunner {
technicalTestOrchestrator, correctionExecutionService, batchRunLauncher,
miniRunLauncher, resetPort, manualRenamePort, manualCopyPort,
historicalDocumentContextPort, applicationVersion, promptEditorPort,
historyOverviewPort, historyDetailsPort, historyResetPort, deleteHistoryPort);
historyOverviewPort, historyDetailsPort, historyResetPort, deleteHistoryPort,
this::buildGuiPromptEditorPort);
} catch (GuiConfigurationLoadException e) {
LOG.error("GUI startup: configuration could not be loaded, starting without it: {}",
e.getMessage(), e);
@@ -918,7 +921,8 @@ public class BootstrapRunner {
historyOverviewPort,
historyDetailsPort,
historyResetPort,
deleteHistoryPort);
deleteHistoryPort,
this::buildGuiPromptEditorPort);
}
}