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]

Reply via email to