0658fac8d5f0ec35d5212eec876c3a2d87bd25ac braney Mon Feb 6 15:46:27 2017 -0800 add the ability to set default labels and the label separator for bigBed labels diff --git src/hg/hgTracks/bigBedTrack.c src/hg/hgTracks/bigBedTrack.c index 9653b4c..0b4441f 100644 --- src/hg/hgTracks/bigBedTrack.c +++ src/hg/hgTracks/bigBedTrack.c @@ -113,39 +113,42 @@ return NULL; char *rest = cloneString(bb->rest); char *restFields[1024]; int restCount = chopTabs(rest, restFields); char *field = NULL; if (fieldIdx < restCount) field = cloneString(restFields[fieldIdx]); freeMem(rest); return field; } char *makeLabel(struct track *track, struct bigBedInterval *bb) // Build a label for a bigBedTrack from the requested label fields. { +char *labelSeparator = trackDbSettingClosestToHome(track->tdb, "labelSeparator"); +if (labelSeparator == NULL) + labelSeparator = "/"; char *restFields[256]; chopTabs(cloneString(bb->rest), restFields); struct dyString *dy = newDyString(128); boolean firstTime = TRUE; struct slInt *labelInt = track->labelColumns; for(; labelInt; labelInt = labelInt->next) { if (!firstTime) - dyStringPrintf(dy, "/"); + dyStringAppend(dy, labelSeparator); dyStringPrintf(dy, "%s", restFields[labelInt->val - 3]); firstTime = FALSE; } return dyStringCannibalize(&dy); } void bigBedAddLinkedFeaturesFromExt(struct track *track, char *chrom, int start, int end, int scoreMin, int scoreMax, boolean useItemRgb, int fieldCount, struct linkedFeatures **pLfList, int maxItems) /* Read in items in chrom:start-end from bigBed file named in track->bbiFileName, convert * them to linkedFeatures, and add to head of list. */ { struct lm *lm = lmInit(0); struct trackDb *tdb = track->tdb;