Skip to content

#1784 implement java fx based progress bars for the GUI#1935

Open
laim2003 wants to merge 79 commits into
devonfw:mainfrom
laim2003:#1784-Implement-JavaFX-based-progress-bars-for-the-GUI
Open

#1784 implement java fx based progress bars for the GUI#1935
laim2003 wants to merge 79 commits into
devonfw:mainfrom
laim2003:#1784-Implement-JavaFX-based-progress-bars-for-the-GUI

Conversation

@laim2003

@laim2003 laim2003 commented May 12, 2026

Copy link
Copy Markdown
Contributor

This PR fixes #1784

This PR depends on #1802

Implemented changes:

  • Added a current-tasks area in the bottom right corner
  • Added a task overview window which shows all tasks, if multiple tasks are running in parallel.
  • Added feature for indeterminate progress bars in the GUI (not the CLI)

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

Testing instructions

  • Pull the state of this PR
  • Run ideasy with a Run Config that runs ide gui
  • You now should be able to see a status text in the bottom right corner, saying "IDEasy is ready."
  • Ensure, that at least two of the IDEs shown in the GUI is NOT installed on your system/project.
  • With the IDE that is not installed, click on "Open". Now you should see a progress bar in the bottom right corner and the download progress on the label.
  • When downloading two IDEs at the same time, you should see a "2 tasks running..." status that allows you to click the status text, opening a window with a list of all running tasks.

laim2003 added 30 commits March 27, 2026 17:52
- Added logging to IdeGuiStateManager.
- Added functionality, that selecting a different project now switches the IdeContext to the new project.
- Added logging to IdeGuiStateManager.
- Added functionality, that selecting a different project now switches the IdeContext to the new project.
- Added functionality, that selecting a different project now switches the IdeContext to the new project.
- Added Task overview window
- added ListView that allows to manage concurrent tasks
…g progress -> better performance and higher reliability
- added DI for IdeGuiStateManager.switchContext
…reading the list of workspaces/projects instead of reading those from the UI
…nager, when switchContext(Path rootDirectory, ...) is called.
- taskids are now strings, based on UUID.randomUUID()
- The TaskOverviewWindow is now displayed directly above the layout node that opens it
- progress units are now shown in TaskOverviewWindow
…tateManager is now set when calling getInstance(), allowing us to provide a getInstance() method with a DI parameter
@laim2003 laim2003 added this to the release:2026.06.001 milestone Jun 5, 2026
@coveralls

coveralls commented Jun 5, 2026

Copy link
Copy Markdown
Collaborator

Coverage Report for CI Build 27630490958

Coverage increased (+0.05%) to 71.335%

Details

  • Coverage increased (+0.05%) from the base build.
  • Patch coverage: No coverable lines changed in this PR.
  • 71 coverage regressions across 5 files.

Uncovered Changes

No uncovered changes found.

Coverage Regressions

71 previously-covered lines in 5 files lost coverage.

File Lines Losing Coverage Coverage
com/devonfw/ide/gui/MainController.java 33 70.0%
com/devonfw/ide/gui/App.java 29 0.0%
com/devonfw/ide/gui/context/IdeGuiContext.java 7 30.0%
com/devonfw/ide/gui/AppLauncher.java 1 0.0%
com/devonfw/tools/ide/tool/ide/IdeToolCommandlet.java 1 78.33%

Coverage Stats

Coverage Status
Relevant Lines: 16421
Covered Lines: 12212
Line Coverage: 74.37%
Relevant Branches: 7280
Covered Branches: 4695
Branch Coverage: 64.49%
Branches in Coverage %: Yes
Coverage Strength: 3.15 hits per line

💛 - Coveralls

@laim2003 laim2003 added the progressbar progressbar to give feedback to user for longer running processing like download or unpack label Jun 9, 2026
@laim2003 laim2003 moved this from 🏗 In progress to Team Review in IDEasy board Jun 12, 2026
@laim2003 laim2003 marked this pull request as ready for review June 16, 2026 08:55
@laim2003

Copy link
Copy Markdown
Contributor Author

Merge #1802 first, then update this & merge (after review)

laim2003 added 2 commits June 16, 2026 13:30
…-bars-for-the-GUI

# Conflicts:
#	gui/src/main/java/com/devonfw/ide/gui/App.java
#	gui/src/main/java/com/devonfw/ide/gui/MainController.java
#	gui/src/main/java/com/devonfw/ide/gui/context/IdeGuiContext.java
#	gui/src/main/resources/com/devonfw/ide/gui/main-view.fxml
#	gui/src/test/java/com/devonfw/ide/gui/AppBaseTest.java
…TaskManager; updated some Javadocs, removed redundant property tags in main-view.fxml, fixed typos
@laim2003 laim2003 marked this pull request as draft June 16, 2026 15:41
@laim2003 laim2003 moved this from Team Review to 🏗 In progress in IDEasy board Jun 16, 2026
@KarimALotfy KarimALotfy self-assigned this Jun 17, 2026
@laim2003 laim2003 marked this pull request as ready for review June 17, 2026 12:44
@laim2003 laim2003 moved this from 🏗 In progress to Team Review in IDEasy board Jun 17, 2026
@KarimALotfy KarimALotfy self-requested a review June 17, 2026 14:33
@KarimALotfy

Copy link
Copy Markdown
Contributor

Great job, the progress bars are a really nice addition. They give the user clear feedback instead of just waiting without knowing what is happening 👍I left a few notices.

@KarimALotfy

Copy link
Copy Markdown
Contributor

I am not sure if this only happens on my side, but the progress bars were only shown when I started the GUI via AppLauncher, not when using the gui commandlet.

@laim2003

Copy link
Copy Markdown
Contributor Author

I am not sure if this only happens on my side, but the progress bars were only shown when I started the GUI via AppLauncher, not when using the gui commandlet.

Oh ok! Good to know! Did you see something like a status text? Maybe let's take this out of the release then.

@laim2003

Copy link
Copy Markdown
Contributor Author

I also figured that it seems like sometimes things that work via AppLauncher don't work when launched via the Commandlet...

@KarimALotfy

Copy link
Copy Markdown
Contributor

Small suggestion: I noticed that the task window stays open even after multiple tasks are finished.

Once the IDE(s) are downloaded, extracted, and launched successfully, it would be nice if the task/progress window closed automatically.

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

Labels

GUI Graphical User Interface of IDEasy (aka dashboard) build with JavaFx progressbar progressbar to give feedback to user for longer running processing like download or unpack

Projects

Status: Team Review

Development

Successfully merging this pull request may close these issues.

Implement JavaFX based progress bars for the GUI

4 participants