Skip to content

#1933 Added GUI console pane - #2053

Open
laim2003 wants to merge 88 commits into
devonfw:mainfrom
laim2003:#1933-gui-console-window
Open

#1933 Added GUI console pane#2053
laim2003 wants to merge 88 commits into
devonfw:mainfrom
laim2003:#1933-gui-console-window

Conversation

@laim2003

@laim2003 laim2003 commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

This PR fixes #1933

Implemented changes:

  • Added a console panel in the GUI.
  • Refactor usage of ProcessOutput/IdeLogListener/discuss architecture with @hohwille

Testing instructions

Please add conscise, understandable instructions on how a reviewer can test/verify the functionality of your contribution here:

1a. (Team) Review

  1. Run AppLauncher.java

1b. Retesting

  1. Run ide gui

2. Then:

  1. Console pane should be visible if you click the terminal icon in the bottom left
  2. You should be able to resize the console by dragging the top of the panel
  3. When running a commandlet (e.g. launching an IDE), the console should automatically become visible
  4. Log outputs should be shown in the console
  5. The "line count" should update.
  6. When clicking "clear": Console should be cleared
  7. While "Auto scroll" is checked: The console should always show the newest log message.
  8. When clicking the terminal button, this should toggle the visibility of the console.

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"

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 DI for IdeGuiStateManager.switchContext
…reading the list of workspaces/projects instead of reading those from the UI
…nager, when switchContext(Path rootDirectory, ...) is called.
…tateManager is now set when calling getInstance(), allowing us to provide a getInstance() method with a DI parameter

@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 thanks for your PR. Great job 👍
There is still one review comment from @oanding-blrng unresolved that you should have a look.
The only additional thing I want to point out during the review is that PR #2037 just introduced an "application icon" for IDEasy in addition to our logo.
In this PR you also add `terminal.png" and I guess it does not represent IDEasy itself but the console like a terminal. However, both icons look quite similar. Maybe we want to adjust to avoid confusion. However, should not block the merge.

Please note that you have to resolve some conflicts so this can be merged.

# Conflicts:
#	CHANGELOG.adoc
#	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
Signed-off-by: laim2003 <luk.faber@gmx.de>
Signed-off-by: laim2003 <luk.faber@gmx.de>
Signed-off-by: laim2003 <luk.faber@gmx.de>
Signed-off-by: laim2003 <luk.faber@gmx.de>
Signed-off-by: laim2003 <luk.faber@gmx.de>
Signed-off-by: laim2003 <luk.faber@gmx.de>
@laim2003 laim2003 moved this from 👀 In review to 🏗 In progress in IDEasy board Aug 3, 2026
@laim2003

laim2003 commented Aug 4, 2026

Copy link
Copy Markdown
Contributor Author

I'm currently working on migrating the implementation to a ListView based implementation. This allows us much more flexibility in working with log messages such as filtering etc. I think it makes sense to get this right from the start, as otherwise we will have to completely overhaul this later on.

@laim2003
laim2003 marked this pull request as draft August 4, 2026 09:05
laim2003 added 10 commits August 4, 2026 11:56
Signed-off-by: laim2003 <luk.faber@gmx.de>
…felxibility reasons.

Signed-off-by: laim2003 <luk.faber@gmx.de>
Signed-off-by: laim2003 <luk.faber@gmx.de>
Signed-off-by: laim2003 <luk.faber@gmx.de>
Signed-off-by: laim2003 <luk.faber@gmx.de>
…timestamps

Signed-off-by: laim2003 <luk.faber@gmx.de>
Signed-off-by: laim2003 <luk.faber@gmx.de>
Signed-off-by: laim2003 <luk.faber@gmx.de>
Signed-off-by: laim2003 <luk.faber@gmx.de>
@laim2003
laim2003 requested a review from hohwille August 4, 2026 14:54
@laim2003 laim2003 moved this from 🏗 In progress to 👀 In review in IDEasy board Aug 4, 2026
@laim2003
laim2003 marked this pull request as ready for review August 4, 2026 14:55
Signed-off-by: laim2003 <luk.faber@gmx.de>
@laim2003

laim2003 commented Aug 5, 2026

Copy link
Copy Markdown
Contributor Author

I just also realized what this new listView-based design allows us to do: Because we handle any Log output in the console via ListItems, we can fully customize what each list item displays. This allows us to integrate dialogues and choices into the console (potentially). As a first step, I will create a Figma design.

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

Projects

Status: 👀 In review

Development

Successfully merging this pull request may close these issues.

Implement a console window in the GUI

5 participants