static void printHeaderColumns(struct annoFormatTab *self, struct annoStreamer *source, boolean isFirst) /* Print names of included columns from this source. */ { FILE *f = self->f; char *sourceName = source->name; boolean isAvg = isWiggle(source->asObj->columnList) && doAvg; struct asColumn *col; int i; for (col = source->asObj->columnList, i = 0; col != NULL; col = col->next, i++) { if (columnIsIncluded(self, sourceName, col->name)) { if (isFirst) { fputc('#', f); isFirst = FALSE; } else fputc('\t', f); char fullName[PATH_LEN]; makeFullColumnName(fullName, sizeof(fullName), sourceName, col->name); if (isAvg && sameString(col->name, "value")) safecat(fullName, sizeof(fullName), "Average"); fputs(fullName, f); } } }
void annoFormatTabSetColumnVis(struct annoFormatter *vSelf, char *sourceName, char *colName, boolean enabled) /* Explicitly include or exclude column in output. sourceName must be the same * as the corresponding annoStreamer source's name. */ { struct annoFormatTab *self = (struct annoFormatTab *)vSelf; if (! self->columnVis) self->columnVis = hashNew(0); char fullName[PATH_LEN]; makeFullColumnName(fullName, sizeof(fullName), sourceName, colName); hashAddInt(self->columnVis, fullName, enabled); }
static boolean columnIsIncluded(struct annoFormatTab *self, char *sourceName, char *colName) // Return TRUE if column has not been explicitly deselected. { if (self->columnVis) { char fullName[PATH_LEN]; makeFullColumnName(fullName, sizeof(fullName), sourceName, colName); int vis = hashIntValDefault(self->columnVis, fullName, 1); if (vis == 0) return FALSE; } return TRUE; }
static void printHeaderColumns(struct annoFormatTab *self, struct annoStreamer *source, boolean *pIsFirst) /* Print names of included columns from this source. */ { FILE *f = self->f; char *sourceName = source->name; boolean isFirst = (pIsFirst && *pIsFirst); struct asColumn *col; for (col = source->asObj->columnList; col != NULL; col = col->next) { if (columnIsIncluded(self, sourceName, col->name)) { if (isFirst) isFirst = FALSE; else fputc('\t', f); char fullName[PATH_LEN]; makeFullColumnName(fullName, sizeof(fullName), sourceName, col->name); fputs(fullName, f); } } if (pIsFirst != NULL) *pIsFirst = isFirst; }