#2278: Split main-view.fxml into separate layout components - #2297
#2278: Split main-view.fxml into separate layout components#2297krystynaShatkovska wants to merge 12 commits into
Conversation
- Remove setController() to avoid conflict with fx:controller in FXML - Add initialized flag to MainController.initialize() to run only once across all 3 FXML files (main-view, navigation, status-bar) - All 56 GUI tests pass Co-Authored-By: Capgemini Sovereign AI Platform
Coverage Report for CI Build 32148089094Coverage decreased (-0.01%) to 72.92%Details
Uncovered ChangesNo uncovered changes found. Coverage Regressions34 previously-covered lines in 3 files lost coverage.
Coverage Stats💛 - Coveralls |
There was a problem hiding this comment.
Thanks for your PR! Looks good! Sadly I hoped that JavaFX allows for an easier way to fragment layouts without having to add extra checks, but it seems like JavaFX is not very flexible. From what I could research, using a controller factory seems to be the most common way to implement this. Maybe we should rethink the way we will fragment the UI in the future. For now this is good in my opinion.
# Conflicts: # CHANGELOG.adoc
hohwille
left a comment
There was a problem hiding this comment.
@krystynaShatkovska thank your very much for your PR. We should always follow SoC and this is a great improvement for modularity and maintainability of the UI code. Great jib!👍
I left some remark about some code duplication in the test.
However, this should not prevent the merge that I want to get done.
Therefore, I will resolve the comment and merge this PR as is.
It would be great if you can take up the comment and create a new issue from it so it does not get lost.
This PR fixes #2278
Implemented changes:
Split main-view.fxml (~300 lines) into three FXML files using fx:include tags:
Controller integration:
All fx:id references and onAction handlers preserved and verified.
Testing instructions
Build the project with mvn clean test and verify all tests pass
Launch the IDEasy GUI and confirm the main window renders correctly with all three regions (sidebar, center IDE rows, bottom status bar)
Interact with each region to verify functionality is unchanged:
Checklist for this PR
Make sure everything is checked before merging this PR. For further info please also see
our DoD.
with internal