...
The current TierGlyph has all the logic for displaying the data in various ways (Graph, Annotation, ...)
The new design will have a subclass of TierGlyph, TierGlyphViewMode, that will contain another
Glyph, ViewModeGlyph (an abstract class), and will delegate all calls to the viewModeGlyph. To display
the data (object model SeqSymmetry) in a different manner, just change the ViewModeGlyph. For example,
for a Wiggle file (Graph track), the TierGlyph can have a FillBarGraphGlyph, then replace that with a
HeatMapGraphGlyph, then replace that with a StairStepGraphGlyph, all subclasses of ViewModeGlyph.
Each ViewModeGlyph will specify what data it can display, so only only the view mode glyphs that can
handle the data will be available. This is done by specifying a FileTypeCategory for each data set.
FileTypeCategories are: Annotation, Alignment, Graph, Sequence, Probeset, Scored, Mismatch, or Variant.
The method com.affymetrix.igb.util.TrackUtils.useViewMode(String method), is used to specify whether
to use the old code (regular TierGlyph) or new code (TierGlyphViewMode). The method takes in the
uri, and passes back true to use new code, or false to use old code. To test all data using the
new code, change this method to always return true.
Annotations/Alignments
- MaxExpanded @
- Collapsed @
- ScrollExpanded - like MaxExpanded, but with a vertical scroll, and no max stack depth
- Depth @
- Tabular - show the data in a table like the Selection Info tab (rows/columns reversed)
...