src/hg/hgTracks/bamTrack.c 1.30

1.30 2010/03/10 05:07:57 angie
When item labels are suppressed, we still need to draw the leftLabel in dense mode (shortLabel).
Index: src/hg/hgTracks/bamTrack.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgTracks/bamTrack.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -b -B -U 4 -r1.29 -r1.30
--- src/hg/hgTracks/bamTrack.c	4 Mar 2010 05:14:13 -0000	1.29
+++ src/hg/hgTracks/bamTrack.c	10 Mar 2010 05:07:57 -0000	1.30
@@ -618,13 +618,22 @@
     prevEnd = lf->end;
     }
 }
 
-static void dontDrawLeftLabels(struct track *tg, int seqStart, int seqEnd, struct hvGfx *hvg,
+static void maybeDrawLeftLabels(struct track *tg, int seqStart, int seqEnd, struct hvGfx *hvg,
 			       int xOff, int yOff, int width, int height, boolean withCenterLabels,
 			       MgFont *font, Color color, enum trackVisibility vis)
-/* Allow left labels to be inhibited by tdb and/or cart. */
+/* If this is invoked, we are hiding item labels.  In full mode, that means no left labels.
+ * In dense mode, we do need the left label to show shortLabel. */
 {
+if (tg->limitedVis == tvDense)
+    {
+    int fontHeight = mgFontLineHeight(font);
+    if (isWithCenterLabels(tg))
+	yOff += fontHeight;
+    hvGfxTextRight(hvg, xOff, yOff, width, tg->lineHeight, color, font, tg->shortLabel);
+    }
+return;
 }
 
 
 void bamMethods(struct track *track)
@@ -640,9 +649,9 @@
 boolean compositeLevel = isNameAtCompositeLevel(track->tdb, BAM_PAIR_ENDS_BY_NAME);
 boolean isPaired = cartUsualBooleanClosestToHome(cart, track->tdb, compositeLevel,
 			 BAM_PAIR_ENDS_BY_NAME,
 			 (trackDbSettingClosestToHome(track->tdb, BAM_PAIR_ENDS_BY_NAME) != NULL));
-char *tdbShowNames = trackDbSettingClosestToHome(track->tdb, BAM_SHOW_NAMES);
+char *tdbShowNames = trackDbSetting(track->tdb, BAM_SHOW_NAMES);
 boolean showNames = cartUsualBooleanClosestToHome(cart, track->tdb, compositeLevel,
 						  BAM_SHOW_NAMES, !sameOk(tdbShowNames, "off"));
 char *colorMode = cartOrTdbString(cart, track->tdb, BAM_COLOR_MODE, BAM_COLOR_MODE_DEFAULT);
 char *userTag = cartOrTdbString(cart, track->tdb, BAM_COLOR_TAG, BAM_COLOR_TAG_DEFAULT);
@@ -671,9 +680,9 @@
     }
 if (!showNames)
     {
     track->drawName = TRUE; // ironic, but this is how to suppress item labels in pack mode.
-    track->drawLeftLabels = dontDrawLeftLabels;
+    track->drawLeftLabels = maybeDrawLeftLabels;
     }
 
 track->nextItemButtonable = track->nextExonButtonable = FALSE;
 track->nextPrevItem = NULL;