Add ability to precisely select tree nodes in a "correlation" range

Issue #516 new
Robert Leach created an issue

USE CASE: WHAT DO YOU WANT TO DO?

Select all subtrees clustered together with a correlation of 0.8 and higher.

STEPS TO REPRODUCE AN ISSUE (OR TRIGGER A NEW FEATURE)

  1. Hover over one extreme side of the tree until the level of the cursor is at 0.8 correlation
  2. Click & drag across the entire tree to the lower right-hand corner

OR:

  1. Hover over the tree until the level of the cursor is at 0.8 correlation
  2. control-command-drag to the bottom of the tree

CURRENT BEHAVIOR

There is no current click & drag behavior in the tree panels, but it is planned in the holistic modifier plan & cheat sheet.

EXPECTED BEHAVIOR

The user should be able to see both the correlation value of hovered nodes and the relative correlation value of the exact position of the cursor (in order to select an arbitrary cutoff).

Single-click behavior should not change - i.e. the currently red-highlighted subtree should be selected.

Click & drag however should behave differently. Once the fact that a drag in progress has been detected, the normal red highlighting should disappear and be replaced by a new type of red highlighting which behaves like this: Dragging draws a box and any internal node which is inside the box will both get its entire subtree drawn red. The nodes encompassed by the box will also get red dots (the dots which currently show on hover at the highest hovered node).

The relative correlation value of the initial click during a click & drag operation should remain visible and the relative correlation value of the cursor's current (i.e. dropped) position should continuously update.

There should be a modifier (or modifier combo) which will draw the box across the entire tree which only necessitates dragging in 1 dimension.

The average value of the tiles corresponding to the red-highlighted subtrees should also continue to be updated (i.e. that behavior should adapt to the new selection method).

DEVELOPERS ONLY SECTION

SUGGESTED CHANGE (Pseudocode optional)

First, the modifier plan documents need to be updated to reflect these changed behaviors. Here's what I suggest:

Let's change every drag operation on the trees to perform the box selection behavior where every encompassed node is selected/deselected. The modifiers should work the same way. option always deselects encompassed nodes. control always selects encompassed nodes. shift and command however will always select because there's no selection state upon the first click to decide whether you're selecting or deselecting.

We will add a new control-command-drag modifier combo to select across the entire width of the tree and option-command to deselect across the entire width of the tree (since in other contexts, control, and option refer to single dimension operations). Individual dimension operations normally don't make sense in a label or tree pane since they only apply to one dimension of the matrix, hence those individual modifiers (control and option) were utilized for different functions (add & remove selection) in the label and tree panels.

Even if the user drags the box to the bottom of the tree, leaves should not be selected unless their parent nodes are within the drawn box.

Current red hover highlighting behavior should cease & be blanked out once a drag operation is detected and a new behavior of red highlighting only subtrees of box-encompassed nodes should start.

This issue does not address click operations, but should not change any behaviors WRT clicks. Only drag operations should be affected.

FILES AFFECTED (where the changes will be implemented) - developers only

holistic_modifier_plan.txt holistic_modifier_cheat_sheet.txt TRView.java

LEVEL OF EFFORT - developers only

major

COMMENTS

These changes are the direct result of discussions with Jessica Schwaber in December 2016.

Comments (1)

  1. Log in to comment