RFR: JDK-8288750: IGV: Improve Shortcuts [v6]

Tobias Holenstein tholenstein at openjdk.org
Mon Jun 27 07:32:09 UTC 2022


> *Improvement of keyboard shortcuts in IGV under macOS:*.
> Certain keyboard/mouse shortcuts do not work under macOS. E.g. `Ctrl + left-click` to select multiple nodes. The reason is that this keyboard shortcut is hardwired as a right-click under macOS and cannot be easily changed in the operating system. In general, the macOS user manual recommends using "Command/Meta" as a modifier key instead of "Control."
> 
> *Fixed focus of the Graph Tab:*.
> In IGV, shortcuts are linked to a component. Components are for example a Graph Tab, "Outline", "Filters", "Bytecode", "Control Flow" and "Properties". Shortcuts only work if the linked component is in focus. The focus can be changed with `Ctrl + TAB` or by clicking into the TAB component. The Graph Tab did not get the focus back when the user clicked on it. This needed to be fixed. 
> 
> *Fixing QuickSearch:*
> Netbeans' QuickSearchAction is a global component of which only one common instance exists. IGV used a workaround to repaint the search bar in a new graphics tab. On macOS, the search bar doubled in size with each new Graph Tab. In addition, keyboard shortcuts for the search bar did not work. This issue was fixed by adding the search bar whenever the tab gained focus, and removing it (by default) when a new tab gained focus. This way, no workaround is required, and the size and ability to use a keyboard shortcut are fixed. 
> 
> *Adding new actions to expand/shrink the difference selection:*.
> The user can expand/reduce the difference selection by moving the beginning/end of the selection with the mouse. 
> ![diff](https://urldefense.com/v3/__https://user-images.githubusercontent.com/71546117/175498713-df3c76e8-9945-4e1c-8cab-36d9d4ee64c1.png__;!!ACWV5N9M2RV99hQ!MXjmiEdREC0uHTBaR9NvabgnsqnWmHhU_mKIYj6vFefSd8aAmcTjgHMDjOs_SnrTk2cj0cz79ndZ6rlUYeGAfBs2GHdJ7R8XN4QA$ )
> This is something many users didn't know. Therefore two new buttons should make it more clear for the user that this functionality exists. 
> ![actions](https://urldefense.com/v3/__https://user-images.githubusercontent.com/71546117/175498464-9e88e7d8-36df-4506-a801-a8d102d6bc4a.png__;!!ACWV5N9M2RV99hQ!MXjmiEdREC0uHTBaR9NvabgnsqnWmHhU_mKIYj6vFefSd8aAmcTjgHMDjOs_SnrTk2cj0cz79ndZ6rlUYeGAfBs2GHdJ7Qu1VhNz$ )
> By adding these button we can now also add keyboard shortcuts to expand/reduce the difference selection.
> 
> **Fixed shortcuts for:**
> - Add a single node in the graph to selection (`Ctrl/Cmd + left-click`)
> - Add a multiple node in the graph to selection (`Ctrl/Cmd + left-click-drag`)
> - Zoom in and out (`Ctrl/Cmd + mouse-wheel`)
> 
> **Added new shortcuts for:**
> - Search (`Ctrl/Cmd - I` and `Ctrl/Cmd - F`) 
> - Undo (`Ctrl/Cmd - Z`) 
> - Redo (`Ctrl/Cmd - Y` and `Ctrl/Cmd - Shift - Z`) 
> - Show Next Graph (`Ctrl/Cmd - RIGHT`) 
> - Expand the difference selection (`Ctrl/Cmd - UP` and `Ctrl/Cmd - Shift - RIGHT`) 
> - Reduce the difference selection (`Ctrl/Cmd - DOWN` and `Ctrl/Cmd - Shift - LEFT`) 
> - Show Previous Graph (`Ctrl/Cmd - LEFT`) 
> - Show satellite view (`Hold S`)

Tobias Holenstein has updated the pull request incrementally with five additional commits since the last revision:

 - Update src/utils/IdealGraphVisualizer/Coordinator/src/main/java/com/sun/hotspot/igv/coordinator/actions/ImportAction.java
   
   code style
   
   Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>
 - Update src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/actions/CustomSelectAction.java
   
   code style
   
   Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>
 - Update src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/actions/CustomSelectAction.java
   
   code style
   
   Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>
 - Update src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/actions/OverviewAction.java
   
   added missing ")"
   
   Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>
 - Update src/utils/IdealGraphVisualizer/View/src/main/java/com/sun/hotspot/igv/view/EditorTopComponent.java
   
   code style
   
   Co-authored-by: Christian Hagedorn <christian.hagedorn at oracle.com>

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/9260/files
  - new: https://git.openjdk.org/jdk/pull/9260/files/42653123..c9dbe843

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=9260&range=05
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=9260&range=04-05

  Stats: 8 lines in 4 files changed: 3 ins; 0 del; 5 mod
  Patch: https://git.openjdk.org/jdk/pull/9260.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/9260/head:pull/9260

PR: https://git.openjdk.org/jdk/pull/9260


More information about the hotspot-compiler-dev mailing list