"Pin labels" feature

Issue #494 new
Robert Leach created an issue

USE CASE: WHAT DO YOU WANT TO DO?

I want to be able to mark some row and/or column labels so that I always have a visual reference point for them when my cursor leaves the matrix/labels/trees areas.

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

  1. Ensure whizzing labels are active (i.e. make the window small enough to not show all labels or open a large matrix)
  2. Right-click a tile, label, or a spot in the tree aligned with a leaf
  3. Select "Pin row label", "Pin column label", or "Pin labels".
  4. Hover the cursor off any/all of the matrix/labels/trees areas

CURRENT BEHAVIOR

Labels in whizzing mode are only visible on hover.

EXPECTED BEHAVIOR

  1. Pinned labels should appear as blue.
  2. At time when normally only the hint is shown, pinned labels should be drawn directly over/next-to the columns/rows they correspond to at the minimum font size.
  3. In dealing with pinned labels that are too close together: 3.1. Ideally: if the labels are too close together, they should be drawn near the position they belong with a line to connect them to their column/row. 3.2. Sufficiently: A simpler solution would be to just let them overlap and expect the user to fix it.
  4. Labels should only be able to be pinned one at a time, since multiple at a time would produce overlap.
  5. If a pinned label is over a column that's not in the current zoomed view, either: 5.1. Ideally: a blue arrow pointing off the edge of the label area in the direction of the pinned label should be displayed so that the user still has a frame of reference as to where they are relative to their label(s) of interest. A number next to the arrow indicating how many pinned labels are in that direction. 5.2. Sufficiently: the pinned labels are not displayed or their presence indicated in any way.
  6. If pinned labels are in view, do not display the zoom hint.
  7. If labels are whizzing, pinned labels move as normal, but are blue.
  8. If labels are whizzing, a "tick" in the hover indicator bar area should indicate the pin position
  9. If pinned labels are too close to the edge of the label area, offset them and draw a line to the column/row they are labeling

DEVELOPERS ONLY SECTION

SUGGESTED CHANGE (Pseudocode optional)

Keep an array/list of pinned label positions. In the code where the hint is normally drawn, if pinned labels are present in the visible range, display the pinned labels. Otherwise display the hint.

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

LabelView RowLabelView ColumnLabelView InteractiveMatrixView or IMVMouseAdapter (for the contextual menu) TRView (for the contextual menu)

LEVEL OF EFFORT - developers only

major

COMMENTS

Exporting pinned labels as a part of the whole exported image would also be a nice follow-up feature.

Comments (5)

  1. Log in to comment