Skip to content

#2033: Added UML diagrams for the GUI#2035

Open
laim2003 wants to merge 3 commits into
devonfw:mainfrom
laim2003:feature/#2033-Improve-documentation-of-GUI-code
Open

#2033: Added UML diagrams for the GUI#2035
laim2003 wants to merge 3 commits into
devonfw:mainfrom
laim2003:feature/#2033-Improve-documentation-of-GUI-code

Conversation

@laim2003

@laim2003 laim2003 commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

This PR fixes #2033

Implemented changes:

  • Added comprehensive PUML diagrams for the GUI structure.

Testing instructions

  • No testing required, only documentation updated.

Checklist for this PR

Make sure everything is checked before merging this PR. For further info please also see
our DoD.

  • When running mvn clean test locally all tests pass and build is successful
  • PR title is of the form #«issue-id»: «brief summary» (e.g. #921: fixed setup.bat). If no issue ID exists, title only.
  • PR top-level comment summarizes what has been done and contains link to addressed issue(s)
  • PR and issue(s) have suitable labels
  • Issue is set to In Progress and assigned to you or there is no issue (might happen for very small PRs)
  • You followed all coding conventions
  • You have added the issue implemented by your PR in CHANGELOG.adoc unless issue is labeled
    with internal
  • You have formulated clear instructions on how to test your contribution under "Testing instructions"

@github-project-automation github-project-automation Bot moved this to 🆕 New in IDEasy board Jun 16, 2026
@laim2003 laim2003 self-assigned this Jun 16, 2026
@laim2003 laim2003 added documentation Improvements or additions to documentation GUI Graphical User Interface of IDEasy (aka dashboard) build with JavaFx internal Nothing to be added to CHANGELOG, only internal story labels Jun 16, 2026
@laim2003 laim2003 moved this from 🆕 New to 🏗 In progress in IDEasy board Jun 16, 2026
@laim2003 laim2003 added this to the release:2026.06.001 milestone Jun 16, 2026
@coveralls

coveralls commented Jun 16, 2026

Copy link
Copy Markdown
Collaborator

Coverage Report for CI Build 27631907653

Coverage decreased (-0.03%) to 71.255%

Details

  • Coverage decreased (-0.03%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 2 coverage regressions across 2 files.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

2 previously-covered lines in 2 files lost coverage.

File Lines Losing Coverage Coverage
com/devonfw/tools/ide/tool/ide/IdeToolCommandlet.java 1 78.33%
com/devonfw/tools/ide/version/VersionSegment.java 1 89.76%

Coverage Stats

Coverage Status
Relevant Lines: 16222
Covered Lines: 12054
Line Coverage: 74.31%
Relevant Branches: 7250
Covered Branches: 4671
Branch Coverage: 64.43%
Branches in Coverage %: Yes
Coverage Strength: 3.15 hits per line

💛 - Coveralls

@laim2003 laim2003 marked this pull request as ready for review June 16, 2026 16:19
@laim2003 laim2003 moved this from 🏗 In progress to Team Review in IDEasy board Jun 16, 2026
@KarimALotfy KarimALotfy self-requested a review June 17, 2026 11:10
@KarimALotfy KarimALotfy self-assigned this Jun 17, 2026
@KarimALotfy

Copy link
Copy Markdown
Contributor

Great job! The UML diagram is clean, easy to follow, and provides a clear and informative overview of the flow

@KarimALotfy KarimALotfy moved this from Team Review to 👀 In review in IDEasy board Jun 18, 2026

@hohwille hohwille left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@laim2003 thank you very much for your diagrams. Great that you pro-actively document things. 👍
Be aware that the more implementation details you document the faster they will outdate.
IMHO the gui-launcher-sequence should remain quite stable and is fine.
The gui state manager will however, change.
Already, the naming could be questioned:
Since we have IdeContext with IdeContextConsole as implementation for the console/CLI, why do we name it IdeGuiContext instead of IdeContextGui.
The details of IdeGuiStateManager is also very likely to change.
However, except for the totally temporary notes, we can merge but need to be aware to update when we change the code.

participant "CLI" as cli
participant "Gui\nCommandlet" as guiCmd
participant "Maven" as maven
participant "Launcher\nPOM" as launcherPom

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would refer directly to the file path since not everybody would immediately get what you mean with "Launcher POM".

Suggested change
participant "Launcher\nPOM" as launcherPom
participant "gui/pom.xml" as launcherPom

activate maven

note over maven
Maven loads Launcher POM

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Maven loads Launcher POM
Maven loads gui/pom.xml

Comment on lines +59 to +64
note top of AppLauncher
<b>Current considerations regarding the UI state management:</b>
- Darf die GUI mehr als einmal offen sein? (Fall: Fenster mit gleichem Projekt parallel offen)
- Wie Context-Handling implementieren?
- Wie werden Log messages gehandelt?
end note

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should avoid merging such temporary WIP comments to git.
This will forgotten and never updated.
Keep temporary things local and discuss via collaborative tools such as figma or team chat.

Comment on lines +53 to +56
note bottom of StateChangeListener
Idea: This listener is implemented by any UI component to get notified of any context changes.
Alternative: an abstract StateDependentGuiComponent class that implements the listener and provides an abstract method for handling context changes.
end note

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This also looks like very temporary documentation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation GUI Graphical User Interface of IDEasy (aka dashboard) build with JavaFx internal Nothing to be added to CHANGELOG, only internal story

Projects

Status: 👀 In review

Development

Successfully merging this pull request may close these issues.

Improve documentation of GUI code.

4 participants