gnodet opened a new pull request, #24351:
URL: https://github.com/apache/camel/pull/24351

   ## Summary
   
   _Claude Code on behalf of Guillaume Nodet_
   
   Add comprehensive mouse event handling to the Camel TUI monitor:
   
   - **Mouse wheel scrolling** in all scrollable views: logs, diagrams, 
topology, routes, errors, history, metrics, process info, configuration, spans, 
startup, and HTTP spec/probe views
   - **Click on tab headers** to switch between tabs (Overview, Log, Diagram, 
Route, Endpoint, HTTP, Health, Inspect, Errors, More)
   - **Click on topology nodes** and EIP nodes in diagram views to select them
   - **Drag panel border** between content area and shell/AI panel to resize 
the split
   - **Mouse scroll in shell panel and AI panel** (AI panel was missing scroll 
support)
   
   ### Implementation Details
   
   - `MonitorTab` interface gains a default `handleMouseEvent(MouseEvent, 
Rect)` method
   - `CamelMonitor` dispatches mouse events to the active tab, handles tab bar 
click detection, and panel border drag resize
   - `DiagramSupport` provides `handleMouseScroll()` for wheel scrolling and 
`handleNodeClick()`/`handleEipNodeClick()` for click-to-select on topology and 
route diagram node boxes
   - `ShellPanel` and `AiPanel` gain `setSplitPercent()` for continuous drag 
resize (snapping to nearest preset: 25%, 50%, 75%, 100%)
   - 14 tab implementations override `handleMouseEvent()` with view-specific 
scroll handling
   
   ### Files Changed (16 files, +527 lines)
   
   | File | Change |
   |------|--------|
   | `MonitorTab.java` | Added `handleMouseEvent()` default method |
   | `CamelMonitor.java` | Mouse dispatch, tab click detection, panel drag 
resize |
   | `DiagramSupport.java` | Mouse scroll, node click hit-testing |
   | `DiagramTab.java` | Delegate mouse to DiagramSupport |
   | `RoutesTab.java` | Delegate mouse to DiagramSupport |
   | `LogTab.java` | Mouse wheel scroll for log view |
   | `ProcessTab.java` | Mouse wheel scroll for process info |
   | `ErrorsTab.java` | Mouse scroll + diagram node clicks |
   | `HistoryTab.java` | Mouse scroll + diagram node clicks |
   | `MetricsTab.java` | Mouse wheel scroll for raw metrics view |
   | `HttpTab.java` | Mouse scroll for spec and probe views |
   | `SpansTab.java` | Mouse scroll for waterfall view |
   | `StartupTab.java` | Mouse wheel scroll |
   | `ConfigurationTab.java` | Mouse wheel scroll |
   | `ShellPanel.java` | Added `setSplitPercent()` for drag resize |
   | `AiPanel.java` | Mouse scroll + `setSplitPercent()` for drag resize |
   
   ## Test plan
   
   - [ ] Verify mouse wheel scrolling works in the Log tab
   - [ ] Verify mouse wheel scrolling works in the Diagram/Topology view
   - [ ] Verify clicking on tab labels switches to the correct tab
   - [ ] Verify clicking on topology nodes selects them
   - [ ] Verify dragging the shell/AI panel border resizes the split
   - [ ] Verify mouse wheel scrolling works in all other scrollable tabs
   - [ ] Verify existing keyboard navigation still works as before
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


-- 
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