#1933 Added GUI console pane - #2053
Conversation
- Added testing class for modals
- Added logging to IdeGuiStateManager. - Added functionality, that selecting a different project now switches the IdeContext to the new project.
- Added testing class for modals
- Added logging to IdeGuiStateManager. - Added functionality, that selecting a different project now switches the IdeContext to the new project.
…t-for-gui' into devonfw#1785-implement-modals-in-idecontext
- Added functionality, that selecting a different project now switches the IdeContext to the new project.
…plementation' into devonfw#1802-state-management-implementation
…r other ui feature branches
- 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.
This reverts commit 6f92d93.
…plementation' into devonfw#1802-state-management-implementation
…tateManager is now set when calling getInstance(), allowing us to provide a getInstance() method with a DI parameter
… getInstance()) (see previous commit)
…can be extended by tests
…plementation' into devonfw#1802-state-management-implementation
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>
…se UI performance Signed-off-by: laim2003 <luk.faber@gmx.de>
|
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. |
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>
… into devonfw#1933-gui-console-window
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>
Signed-off-by: laim2003 <luk.faber@gmx.de>
|
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. |
…nsole-window # Conflicts: # CHANGELOG.adoc
hohwille
left a comment
There was a problem hiding this comment.
@laim2003 thanks for your PR. This is great progress and you also did some nice cleanups alongside. 👍
Surely in the GUI there is still some experimental code that needs some redesign but this is a good improvement I am happy to merge. However, beside my review comments there are currently some merge conflicts.
| * The wrapper stores the original log entry and a timestamp (in milliseconds since the epoch). It offers getters for both values and a {@code toString()} | ||
| * implementation that formats the timestamp and the log entry level and message for display. | ||
| */ | ||
| public class GuiLogEntryWrapper { |
There was a problem hiding this comment.
Wouldn't it make more sense, to add a timestamp field to IdeLogEntry?
I do not see what is GUI specific about this class.
| protected Void call() { | ||
|
|
||
| try { | ||
| IdeStartContextImpl startContext = new IdeStartContextImpl(IdeLogLevel.INFO, guiLogListener); |
There was a problem hiding this comment.
Currently the context only supports a single log listener.
You are replacing the default one with your GUI.
If I am not mistaken, this will break features like deactivateLogging and activateLogging.
Maybe we should consider adding further optional listeners...
And we could also think about reusing the IdeLogEvent for that so we do not have to create multiple instances of it for the same log message.
|
|
||
| context.getCommandletManager().getCommandlet(commandlet).run(); | ||
|
|
||
| LOG.info("[GUI] === {} ran successfully. ===", commandlet); |
There was a problem hiding this comment.
| LOG.info("[GUI] === {} ran successfully. ===", commandlet); | |
| LOG.info("[GUI] === {} completed successfully. ===", commandlet); |
This PR fixes #1933
Implemented changes:
Testing instructions
Please add conscise, understandable instructions on how a reviewer can test/verify the functionality of your contribution here:
1a. (Team) Review
1b. Retesting
ide gui2. Then:
Checklist for this PR
Make sure everything is checked before merging this PR. For further info please also see
our DoD.
mvn clean testlocally all tests pass and build is successful#«issue-id»: «brief summary»(e.g.#921: fixed setup.bat). If no issue ID exists, title only.In Progressand assigned to you or there is no issue (might happen for very small PRs)with
internal