Closed maarzt closed 2 years ago
Some thoughts:
LongEdgesLineageTreeLayout
?MamutBranchViewTrackScheme
to MamutViewTrackScheme
and from LongEdgesLineageTreeLayout
to LineageTreeLayoutImp
.@tinevez Sorry, I could finish this today. And I won't have time to look at this before next week.
Hi @tinevez, I will start now to fix the remaining issues.
@tinevez Ok, I think it's ready now. Please review my last changes and merge it.
:partying_face:
This PR changes the Hierarchical TrackScheme. The goal is to allow the users to get a better overview of the data. The rendering of the Hirarchical TrackScheme is changed slightly. And there are new menu items. That allow to only show a selected track or downward track in the Hierarchical TrackScheme.
This PR fixes https://github.com/mastodon-sc/mastodon/issues/172
Changes to the rendering of the Hierarchical TrackScheme:
Allow to zoom out further in the hierarchical TrackScheme:![image](https://user-images.githubusercontent.com/24407711/173801520-5c48f5a9-26ad-4a37-b5e2-c39b874c968e.png)
Allow to show only a subset of the tracks in the hierarchical TrackScheme:![image](https://user-images.githubusercontent.com/24407711/173802080-04ad8a94-a1cf-41b8-99ed-53ed3fceadb7.png)
Refacoring of the LineageTreeLayout class
I had a deeper look into the LineageTreeLayout class in order to implement the new functionality. The code was quite complicated so a refactored a lot of stuff such that I could understand it better:
LineageTreeLayout
an interface an move the implementation toLineageTreeLayoutImp
paintLongEdges
setting inTrackSchemeOptions
by using aLineageTreeLayoutFactory
.layoutX_iterative()
method inLineageTreeLayout
by using a newDepthFirstIteration
class.TrackSchemeVertices
fromLineageTreeLayout
toTrackSchemeVertexTable
.LineageTreeLayout
andLongEdgesLineageTreeLayout
by adding the new methodsaddScreenVertex
andbuildScreenColumns
New HierarchyLayout class I added a new HierarchyLayout class the only purpose is to hide the label of the root node. The label would otherwise be printed over an edge. And the label is anyway visible as the title of the column.