Status: Closed (View Workflow)
Affects Version/s: None
Fix Version/s: 9.1.8 Major Release
Sprint:Winter 4 Feb 8 - Feb 19, Winter 5 Feb 22 - Mar 5, Winter 6 Mar 8 - Mar 19
Situation: In IGB, the Track Label Font size dropdown is limited to values between 8-20. This is fine for the default IGB window size, but if a user has a large screen (for example 32 inches and above) and is capturing many tracks, the track labels can appear too small.
Task: Expand the range of the Track Label Font size.
Note that the Track Label Font size can be set in multiple locations in IGB: Annotation tab, Graph tab,
Annotation Label Font in preferences, Tracks in preferences, Track Defaults in preferences.
- relates to
IGBF-2796 Investigate IGB track label and annotation font sizes
Ann Loraine - Is there a specific size we should shoot for? I was thinking of expanding the max from 20 to 32
From the user story it seemed like they were creating screenshots on large monitors where IGB was set to fullscreen. I'm not sure why the font size limit was placed as 8-20 in the first place. It may be worth making the font limit 6-72 and testing to see if the text fails to render or is just too large at certain sizes?
Nowlan Freese - I've attached a couple of screenshots of 22,28,36 and 72 size font.
All of the fonts show up but my monitor is only so large to the point where they end up blocking out but it looks like they show up okay. Should we keep it 6 - 72?
Irvin Naylor - you can adjust the width of the track label space by dragging it to make it wider. I'm just curious for the size 72 font if you can give it enough width to show the full text.
Irvin Naylor - Cool. I would lean towards keeping a wide font range (6-72) and let users determine what they want to use.
Improved stepwise instructions found in more recent comment: https://jira.transvar.org/browse/IGBF-2770?focusedCommentId=31121&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-31121
The topic branch installer downloads and runs as expected.
Track label font size was tested for sizes 6.0 through 72.0 from within the Annotation tab, and Graph tab at the bottom of the window, and in the Preferences window > Tracks tabs in the 'size' column on the right and 'Track Label Font' at the bottom left. These all functioned appropriately.
When testing the sizes from the Preferences window > Annotation Label Font tab > Fixed size Labels uniform radio button, the font sizes 48.0 and 72.0 cause the annotation label to disappear from the screen. I played around with resizing the track and changing the viewing scale, but the annotation label never appeared. Sizes 36.0 and below worked appropriately for me.
Irvin Naylor, are you able to reproduce this on your machine?
Logan Weidenhammer - I've been able to replicate the issue on my end. I appreciate the heads up!
Nowlan Freese - In this case, should we stick to 6 - 72 only for the graph tracks but for annotations maybe 6 - 36? I'll investigate to see if there is a potential fix in the meantime.
So to confirm, the font sizes 48 and 72 only disappear when set from the Annotation Label Font tab in preferences?
Since that seems like an edge case and users can set the size in the Annotation tab without them disappearing I would leave the size at 6-72 for everything.
The issue with the Annotation Label Font probably has to do with the additional logic that is applied with the Fixed size labels, uniform setting.
Yup, it's only sizes 48 and 72 (and I assume anything larger than that). That makes sense though, I'll leave it as is.
Question regarding comment from Logan Weidenhammer:
I'm not aware of any tabbed panel in the IGB interface that has a label of "Tracks." There are "Graph" and "Annotation" tabbed panels, but not "Tracks". Kindly edit the comment to make this more clear what is meant.
Regarding this error noticed by Logan Weidenhammer:
Annotation Label Font tab in preferences, the font sizes 48.0 and 72.0 cause the annotation label to disappear from the screen.
This should be looked into before proceeding with a pull request.
The Tracks tab is within the Preferences window, along with the Annotation Label Font and the Track Defaults. All of them have access to the Font Size setting.
In Preferences > Annotation Label Font there is an option for "Fixed size labels, uniform". This allows the user to set a Font Size that is consistent between labels and annotations.
"You set the label font size. All annotations in every track have the same font size. Partial labels with ... sometimes appear."
I recall there were several issues/changes with the logic for how this should be implemented (IGBF-431).
Edited instructions originally from Dr. Freese,
Select the human genome
Move the Horizontal Zoom slider about halfway so that the annotation track labels are visible
Select File > Preferences
In the Preferences Window:
Select the Annotation Label Font tab
Click the radio button "Fixed size labels, uniform"
Increase the value the Font Size dropdown up to either 48.0 or 72.0
Note that the annotation track label has disappeared
Expanding upon Rachel's comment with some of the points we discussed yesterday. I've attached three screenshots of what happens when the annotations are automatically sized and when they are set to a fixed font using the new expanded options.
In preferences, if the user selects "Auto-size labels, uniform" they will get labels that are formatted in a way that keeps their sizes as they zoom in and out of the track.
Upon selecting "Fixed size labels" with a font size of 15 or below, labels will still show up on the track at their correct font size the user selected. However if the user selects a font size of 16 or higher, the labels will disappear all together, and will not appear at any zoom level (as can be seen in Anno_Fixed_48Font.png)
The Annotation Label Font has nothing to do with Track Label font size. Why are you discussing that here? The business logic for controlling Annotation Label Font and Track Label Font are completely unrelated in the code. Please do not continue discussing Annotation Label Font in this issue unless I'm wrong and the code for these two aspects of the interface are connected in some way.
Irvin Naylor - do both files (TrackConstants.java and StylePanel.java) need to be edited for the Track Label Font sizes to be expanded?
In other words, is the Annotation Label Font tab Font Size using the same supported sizes as the Track Label Font sizes?
Fork link: https://bitbucket.org/Inaylor01/integrated-genome-browser/commits/branch/IGBF-2770
Ann Loraine What had happened was my previous changes increased the supported size range of both the annotation label font and the track label font as I had mistakenly assumed their supported size ranges were connected in the code when I was going through the codebase.
Rachel's observations about my changes (to both size ranges) revealed that the Annotation labels do disappear at size 16 and above within the default 8-20 point font range. It was a point that Nowlan Freese and I discussed this morning which I am not sure if we should investigate further as a separate issue.
I have now reverted the changes to where they only expand the track label font size as intended. Terribly sorry for the confusion!
After testing it appears that the TrackConstants.java provides the range of font sizes available in the Tracks and Track Defaults tabs (as well as the Annotation Label Font tab), whereas StylePanel.java provides the font sizes for the Annotation and Graph tabs. So both files would need to be altered to expand the font size options consistently.
On mac, the higher values for Font Size in the Annotation Label Font tab were visible.
My preference would be to make the edits to both TrackConstants.java and StylePanel.java (i.e. Irvin's original commit) that way a user would have a consistent experience.
Question for Nowlan Freese: By "consistent experience" do you mean: Provide the same options for selecting track label font size (not annotation label font size) in the different places of the interface where it is possible to do this?
Question for Nowlan Freese: I think this could be a good intro level "how to modify the code" case study for the on-line class. What do you think?
See: Module 8 in https://canvas.instructure.com/courses/1164217/modules.
Irvin Naylor, Logan Weidenhammer and Nowlan Freese: Thank you for your work on this!
Please review the attached PowerPoint and confirm that all noted places are properly updated to support expanded Track Label Font size range. If this is not possible without also modifying the range of values allowed for Annotation Font size, please make a note of it.
Yes, by consistent I mean that a user should have the same options for font size choice in all locations within IGB that allow the Track Label Font to be changed.
The powerpoint does indicate each location a user can modify the Track Label Font size, however, it appears that to expand the Track Label Font size range in all locations also requires modifying the range of values allowed for Annotation Font size.
Irvin Naylor - Dr. Loraine and I went over the changes and did some testing. Please alter the font size in both TrackConstants.java and StylePanel.java (i.e. go back to your first commit that had both changes).
Nowlan Freese - Here are the reverted changes: https://bitbucket.org/Inaylor01/integrated-genome-browser/commits/branch/IGBF-2770
Please rebase the branch onto the latest master branch.
Also, please try this:
Instead of using the Bitbucket "sync" button to bring your fork up-to-date with the team repository, use your local clone as a go-between to update your fork.
By avoiding the "sync" button, I think we can avoid seeing loads and loads of merge commits, which keeps the project history smaller and easier to read. I recently stopped using "sync" because of that.
In case this will be helpful, here are some instructions on how to do that. But there are many ways to do the same thing in git, so don't feel like you have to do it exactly this way if you prefer another approach.
- On your local copy of IGB, switch to the master branch (save any work you have not yet committed by using "git stash")
- If you have not already done so, add the team repository as a new remote, aliased to the string "upstream" (git remote add upstream https://bitbucket.org/lorainelab/integrated-genome-browser.git")
- Check that the above command has worked properly by listing your clone's remotes (git remote -v)
- Update your local master branch using upstream (git pull upstream master)
- Push the changes up to your fork, which is very likely "aliased" to the string "origin" (git push origin master)
Now your fork is up-to-date. Yay!
Next, rebase your branch on the master branch, which is now up-to-date in your clone and your fork. Resolve any conflicts that may come up.
A tip: Before rebasing, re-play a few of the "learn git branching" rebase animations as a warm-up if you need it.
Post-Merge testing is complete.
Following along with the attached PowerPoint slides, I changed the font sizes through the Annotation tab, Graph tab, Tracks in preferences, and Track Defaults in preferences.
Everything works as expected.
Moving to closed.
Please add to the next sprint and assign to "Beginner" as I think this will be easy to implement.
attn: Nowlan Freese