hansva opened a new pull request, #8494:
URL: https://github.com/apache/hop/pull/8494
## Canvas UX improvements (Hop GUI + Hop Web)
### Tooltip on transform/action names
Hovering a transform or action name now shows "Click to edit this
transform/action",
making the single-click-to-edit affordance discoverable. Both graphs already
route
hover through `setToolTip(...)`, which the Hop Web canvas calls too, so one
change
covers both clients.
### New option: "Use menus instead of the context dialog"
Look & Feel → Canvas. When enabled, transforms, actions, hops and notes show
their
actions in a native pop-up menu (one submenu per category, ordered like the
context
dialog) instead of the context dialog. A click on empty canvas keeps the
context
dialog while the design palette is hidden — that is where new
transforms/actions are
searched for; with the palette shown, empty canvas gets a menu as well.
- New `GuiContextMenu` builds the menu from the same `IGuiContextHandler`
actions
(same RBAC filter, shift/ctrl passed through);
`HopGuiContextDelegate.fileNew()`
reuses it instead of its private copy.
- Works in Hop Web unchanged (SWT `Menu`/`MenuItem` are supported by RAP).
- Documented in `perspective-configuration.adoc` and `canvas-mouse.adoc`.
### Hop Web canvas font and text alignment
The server-rendered SVG asked AWT for "FreeSans", which does not exist, so
Batik wrote
`font-family='Dialog'` — a name no browser knows — and the browser fell back
to a serif.
Text was also measured with a different font than it was drawn with,
misaligning names.
- `HopSvgGraphics2D` now emits a real CSS font stack (Verdana, DejaVu Sans,
… sans-serif)
and pins every text run to its server-measured width via `textLength`, so
names,
borders, hover areas and hop labels line up whatever font the browser uses.
- `SvgGc` measures with the first family of that same list the JVM actually
has.
- Also benefits the Hop Web context dialog (same renderer). Unit tests added.
### Restyled canvas tooltips
`HopToolTip` is now an inverted rounded pill (dark on the light theme, light
on the
dark theme) with proper padding; ASCII `-----` rule lines and padding blank
lines in
tooltip texts are dropped. Desktop gets rounded corners via a shell `Region`
(`RoundedShellRegion`, desktop-only class since RAP has no `Region`); Hop
Web gets the
same look plus a soft shadow via `Shell.hopToolTip` CSS in both themes.
### Hop Web tooltip fixes
- Tooltips stuck after moving the pointer away: `canvas-svg.js` only
notified the server
on hover *enter*. It now sends one `hover {leave: true}` when leaving the
area or the
canvas; `CanvasInteractionHandler` routes it to the new
`IWebCanvasGraph.handleWebCanvasHoverEnd()` → `hideToolTips()`. Test added.
- "Selection cleared" never went away: it relied on the next mouse move. It
now hides
after 1.5 s via `HopToolTip.hideAfter(...)` (generation-guarded so it
never dismisses
a newer tooltip).
------------------------
Thank you for your contribution! Follow this checklist to help us
incorporate your contribution quickly and easily:
- [ ] Run `mvn clean install apache-rat:check` to make sure basic checks
pass. A more thorough check will be performed on your pull request
automatically.
- [ ] If you have a group of commits related to the same change, please
squash your commits into one and force push your branch using `git rebase -i`.
- [ ] Mention the appropriate issue in your description (for example:
`addresses #123`), if applicable.
To make clear that you license your contribution under the [Apache License
Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0)
you have to acknowledge this by using the following check-box.
- [ ] I hereby declare this contribution to be licensed under the [Apache
License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0)
- [ ] In any other case, please file an [Apache Individual Contributor
License Agreement](https://www.apache.org/licenses/icla.pdf).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]