apache / apache/struts-intellij-plugin

Diagram tab: zoom, pan, and fit-to-view controls

Open
#100 0 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.