#2097: Configure Ide Plugins in the GUI #2150
Open
KarimALotfy wants to merge 79 commits into
Open
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
Show plugins as checkable children of IDE-group tools in the tool
configuration TreeView. Plugin active state is loaded via
PluginBasedCommandlet#getPlugins() and persisted on Save through a new
savePluginActive() method on PluginBasedCommandlet. Plugins are grayed out when their parent tool is disabled.
…-slection-and-version-or-edition-configuration-via-gui # Conflicts: # CHANGELOG.adoc
…ol-slection-and-version-or-edition-configuration-via-gui
… the GUI, refactored ToolTreeCell.java to be in its own class file, added tests for the new add plugin feature
…tion-configuration-via-gui"
…tion-configuration-via-gui"
…oolSettingsServiceTest
…ition-configuration-via-gui" into "feature/2097-configure-ide-plugins-in-the-gui" and align the changes
…ion-or-edition-configuration-via-gui Content was already reconciled in 0cf29a0, which was committed without recording feature/2045's tip as a second parent, leaving the merge-base between the two branches stale and inflating PR diffs. This commit fixes the ancestry without changing any files.
Collaborator
Coverage Report for CI Build 29214208588Coverage decreased (-0.7%) to 71.491%Details
Uncovered ChangesNo uncovered changes found. Coverage Regressions47 previously-covered lines in 4 files lost coverage.
Coverage Stats💛 - Coveralls |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR fixes #2097
depends on #2080
Implemented changes:
PluginBasedCommandlet-based (currently IDE tools like Eclipse/IntelliJ/VS Code, etc) can now list, enable/disable, and add plugins directly from the GUI.ToolTreeNodeas a marker interface so the settingsTreeViewcan hold bothToolConfiguration(tool rows) and the newPluginConfiguration(plugin rows) as children of a tool.PluginConfigurationmodel representing a single plugin (name, id, active flag, parent tool), withisParentEnabled()so plugin rows can reflect their parent tool's enabled state.ToolTreeCellout ofToolSettingsControllerinto its own file; it now dispatches rendering by node type — group header, tool row (checkbox | name | edition combo | version combo | error icon), or plugin row (checkbox | name | id).onAddPlugin) that lets the user create a new plugin for the selected tool, prompting for plugin ID, name, tags, and URL (when required by the tool), and persists it viaToolSettingsService.createPlugin.ToolSettingsServicemethods:loadPluginsForTool,savePluginActive,isPluginUrlNeeded,createPlugin, backed byPluginBasedCommandlet.ToolSettingsServiceTestcovering plugin loading, activation/deactivation, and plugin creation.Testing instructions
intellijoreclipse).mvn clean testin theguimodule and confirm all tests pass.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
internalChecklist for tool commandlets