apache / apache/struts-intellij-plugin
Diagram tab: zoom, pan, and fit-to-view controls
- Dominant language
- Java
- Stars
- 5
- Forks
- 3
- Avg merge
- 3d 19h
- Merged PRs (30d)
- 2
Description
## Context
The Graph tab used `GraphBuilder` / `Graph2DView` with toolbar actions (`AbstractGraphAction.getCommonToolbarActions()`): zoom, fit content, pan, and an overview/minimap.
The Diagram tab uses a fixed 3-column Swing layout (`Struts2DiagramComponent`) — scrollable, but no zoom, pan toolbar, or minimap.
## Proposal
Add interactive canvas controls for large configurations.
## Acceptance criteria
- [ ] Zoom in/out and fit-to-view
- [ ] Pan when content exceeds the viewport
- [ ] Optional: minimap/overview for large configs
## Implementation notes
Could be implemented on the current Swing renderer, or deferred until a migration to `com.intellij.diagram.Provider` (see `diagram/model/package-info.java`).
## References
- `Struts2DiagramComponent` — fixed layout, no viewport transforms
- Legacy `Struts2GraphComponent` — toolbar + `getOverview()`
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading Struts2DiagramComponent to understand the current fixed three-column Swing layout, then compare the legacy Struts2GraphComponent toolbar and getOverview() behavior. Review diagram/model/package-info.java before choosing whether to extend the current renderer or defer to com.intellij.diagram.Provider. Done means the Diagram tab supports zoom, fit-to-view, and panning; a minimap is optional.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100