src/hg/lib/hui.c 1.284
1.284 2010/05/11 01:43:30 kent
Refactoring to split the trackDb.tableName field into separate track and table fields. Similarly track.mapName field goes to the same track and table fields.
Index: src/hg/lib/hui.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/lib/hui.c,v
retrieving revision 1.283
retrieving revision 1.284
diff -b -B -U 4 -r1.283 -r1.284
--- src/hg/lib/hui.c 9 May 2010 17:18:29 -0000 1.283
+++ src/hg/lib/hui.c 11 May 2010 01:43:30 -0000 1.284
@@ -52,13 +52,13 @@
{
// Downloads directory if this is ENCODE
if(trackDbSetting(tdb, "wgEncode") != NULL)
{
- printf("<A HREF=\"http://%s/goldenPath/%s/%s/%s/\" title='Open dowloads directory in a new window' TARGET=ucscDownloads>%s</A>",
+ printf("<A HREF=\"http://%s/goldenPath/%s/%s/%s/\" title='Open downloads directory in a new window' TARGET=ucscDownloads>%s</A>",
hDownloadsServer(),
trackDbSettingOrDefault(tdb, "origAssembly","hg18"),
ENCODE_DCC_DOWNLOADS,
- tdb->tableName,name);
+ tdb->track,name);
return TRUE;
}
return FALSE;
}
@@ -72,18 +72,16 @@
boolean makeSchemaLink(char *db,struct trackDb *tdb,char *label)
// Make a table schema link (if appropriate and then returns TRUE)
{
#define SCHEMA_LINKED "<A HREF=\"../cgi-bin/hgTables?db=%s&hgta_group=%s&hgta_track=%s&hgta_table=%s&hgta_doSchema=describe+table+schema\" TARGET=ucscSchema%s>%s</A>"
-if (hTableOrSplitExists(db, tdb->tableName))
+if (hTableOrSplitExists(db, tdb->table))
{
- char *tableName = tdb->tableName;
- if (sameString(tableName, "mrna"))
- tableName = "all_mrna";
+ char *tableName = tdb->table;
char *hint = " title='Open table schema in new window'";
if( label == NULL)
label = " View table schema";
struct trackDb *topLevel = trackDbTopLevelSelfOrParent(tdb);
- printf(SCHEMA_LINKED, db, topLevel->grp, topLevel->tableName,tableName,hint,label);
+ printf(SCHEMA_LINKED, db, topLevel->grp, topLevel->track,tableName,hint,label);
return TRUE;
}
return FALSE;
}
@@ -95,10 +93,10 @@
if(safeObj == NULL || safeObj->vars == NULL)
return FALSE;
printf("%s<A HREF='#a_meta_%s' onclick='return metadataShowHide(\"%s\");' title='Show metadata details...'>%s</A>",
- (embeddedInText?" ":"<P>"),tdb->tableName,tdb->tableName, title);
-printf("<DIV id='div_%s_meta' style='display:none;'><!--<table>",tdb->tableName);
+ (embeddedInText?" ":"<P>"),tdb->table,tdb->table, title);
+printf("<DIV id='div_%s_meta' style='display:none;'><!--<table>",tdb->table);
if(showLongLabel)
printf("<tr onmouseover=\"this.style.cursor='text';\"><td colspan=2>%s</td></tr>",tdb->longLabel);
printf("<tr onmouseover=\"this.style.cursor='text';\"><td align=right><i>shortLabel:</i></td><td nowrap>%s</td></tr>",tdb->shortLabel);
@@ -131,10 +129,10 @@
void extraUiLinks(char *db,struct trackDb *tdb)
/* Show downlaods, schema and metadata links where appropriate */
{
-boolean schemaLink = (isCustomTrack(tdb->tableName) == FALSE)
- && (hTableOrSplitExists(db, tdb->tableName));
+boolean schemaLink = (isCustomTrack(tdb->table) == FALSE)
+ && (hTableOrSplitExists(db, tdb->table));
boolean metadataLink = (!tdbIsComposite(tdb)
&& metadataForTable(db, tdb, NULL) != NULL);
boolean downloadLink = (trackDbSetting(tdb, "wgEncode") != NULL);
boolean moreThanOne = (schemaLink && metadataLink)
@@ -857,9 +855,9 @@
gotIt = TRUE;
else if (! sameString(setting, "none"))
errAbort("trackDb for %s, setting %s: unrecognized value \"%s\". "
"must be one of {none,all,given,genbank,table}.",
- tdb->tableName, BASE_COLOR_USE_CDS, setting);
+ tdb->track, BASE_COLOR_USE_CDS, setting);
}
else if (startsWith("genePred", tdb->type))
gotIt = TRUE;
return gotIt;
@@ -880,9 +878,9 @@
else if (differentString(setting, "none"))
errAbort("trackDb for %s, setting %s: unrecognized value \"%s\". "
"must be one of {none,genbank,seq,ss,extFile,nameIsSequence,seq1Seq2,"
"hgPcrResult,lfExtra}.",
- tdb->tableName, BASE_COLOR_USE_SEQUENCE, setting);
+ tdb->track, BASE_COLOR_USE_SEQUENCE, setting);
}
return gotIt;
}
@@ -894,9 +892,9 @@
char var[512];
boolean gotCds = baseColorGotCds(tdb);
boolean gotSeq = baseColorGotSequence(tdb);
-safef(var, sizeof(var), "%s." BASE_COLOR_VAR_SUFFIX, tdb->tableName);
+safef(var, sizeof(var), "%s." BASE_COLOR_VAR_SUFFIX, tdb->track);
if (gotCds && gotSeq)
{
puts("<P><B>Color track by codons or bases:</B>");
cgiMakeDropListFull(var, baseColorDrawAllOptionLabels,
@@ -962,19 +960,19 @@
boolean showDoubleInsert, showQueryInsert, showPolyA;
char var[512];
indelEnabled(cart, tdb, 0.0, &showDoubleInsert, &showQueryInsert, &showPolyA);
printf("<P><B>Alignment Gap/Insertion Display Options</B><BR>\n");
- safef(var, sizeof(var), "%s_%s", INDEL_DOUBLE_INSERT, tdb->tableName);
+ safef(var, sizeof(var), "%s_%s", INDEL_DOUBLE_INSERT, tdb->track);
cgiMakeCheckBox(var, showDoubleInsert);
printf("Draw double horizontal lines when both genome and query have "
"an insertion "
"<BR>\n");
- safef(var, sizeof(var), "%s_%s", INDEL_QUERY_INSERT, tdb->tableName);
+ safef(var, sizeof(var), "%s_%s", INDEL_QUERY_INSERT, tdb->track);
cgiMakeCheckBox(var, showQueryInsert);
printf("Draw a vertical purple line for an insertion at the beginning or "
"end of the query, orange for insertion in the middle of the query"
"<BR>\n");
- safef(var, sizeof(var), "%s_%s", INDEL_POLY_A, tdb->tableName);
+ safef(var, sizeof(var), "%s_%s", INDEL_POLY_A, tdb->track);
/* We can highlight valid polyA's only if we have query sequence --
* so indelPolyA code piggiebacks on baseColor code: */
if (baseColorGotSequence(tdb))
{
@@ -998,9 +996,9 @@
char optionStr[512];
alreadySet = !sameString("off",
trackDbSettingOrDefault(tdb, settingName, defaultOnOff));
safef(optionStr, sizeof(optionStr), "%s_%s",
- settingName, tdb->tableName);
+ settingName, tdb->track);
alreadySet = cartUsualBoolean(cart, optionStr, alreadySet);
return alreadySet;
}
@@ -1660,12 +1658,12 @@
{
struct trackDb *tdb = trackEl->val;
char *dupe = cloneString(tdb->type);
char *type = firstWordInLine(dupe);
- if ((sameString(type, "genePred")) && (!sameString(tdb->tableName, "tigrGeneIndex") && !tdbIsComposite(tdb)))
+ if ((sameString(type, "genePred")) && (!sameString(tdb->track, "tigrGeneIndex") && !tdbIsComposite(tdb)))
{
AllocVar(name);
- name->name = tdb->tableName;
+ name->name = tdb->track;
name->label = tdb->shortLabel;
slAddHead(&nameList, name);
}
freez(&dupe);
@@ -1743,9 +1741,9 @@
{
if (hTrackOnChrom(tdb, chrom))
{
if (tdb->subtracks == NULL || !leafOnly)
- hashAdd(trackHash, tdb->tableName, tdb);
+ hashAdd(trackHash, tdb->track, tdb);
}
rAddTrackListToHash(trackHash, tdb->subtracks, chrom, leafOnly);
}
}
@@ -1820,9 +1818,9 @@
struct slRef *tdbRef, *tdbRefList = trackDbListGetRefsToDescendants(tdb->subtracks);
for (tdbRef = tdbRefList; tdbRef != NULL; tdbRef = tdbRef->next)
{
struct trackDb *subtrack = tdbRef->val;
- if (sameString(subtrack->tableName, primarySubtrack))
+ if (sameString(subtrack->track, primarySubtrack))
{
type = subtrack->type;
break;
}
@@ -2175,9 +2173,9 @@
int mIx;
for(mIx=0;mIx<members->count;mIx++)
{
char objName[SMALLBUF];
- safef(objName, sizeof(objName), "%s.mat_%s_dim%c_cb",parentTdb->tableName,members->names[mIx],letter);
+ safef(objName, sizeof(objName), "%s.mat_%s_dim%c_cb",parentTdb->track,members->names[mIx],letter);
currentlySet=(NULL!=findWordByDelimiter(members->names[mIx],',',dimCheckedDefaults));
currentlySet=cartUsualBoolean(cart,objName,currentlySet);
if(currentlySet)
{
@@ -2446,10 +2444,10 @@
if(setting == NULL) // Must be in trackDb or not a sortable table
return NULL;
sortOrder_t *sortOrder = needMem(sizeof(sortOrder_t));
-sortOrder->htmlId = needMem(strlen(parentTdb->tableName)+15);
-safef(sortOrder->htmlId, (strlen(parentTdb->tableName)+15), "%s.sortOrder", parentTdb->tableName);
+sortOrder->htmlId = needMem(strlen(parentTdb->track)+15);
+safef(sortOrder->htmlId, (strlen(parentTdb->track)+15), "%s.sortOrder", parentTdb->track);
char *cartSetting = NULL;
if(cart != NULL)
cartSetting = cartCgiUsualString(cart, sortOrder->htmlId, setting);
if(cart != NULL && strlen(cartSetting) == strlen(setting))
@@ -2668,9 +2666,9 @@
char *setting = trackDbSettingClosestToHome(tdb, FILTER_BY);
if(setting == NULL)
return NULL;
if( name == NULL )
- name = tdb->tableName;
+ name = tdb->track;
setting = cloneString(setting);
char *filters[10];
int filterCount = chopLine(setting, filters);
@@ -2874,11 +2872,11 @@
int fullSize = slCount(filterBy->slValues)+1;
int openSize = min(20,fullSize);
int closedSize = (filterBy->slChoices == NULL || slCount(filterBy->slChoices) == 1 ? 1 : openSize); //slCount(filterBy->slValues)+1); // slChoice ??
//#define MULTI_SELECT_WITH_JS "<div class='multiSelectContainer'><SELECT name='%s.filterBy.%s' multiple=true size=%d openSize=%d style='display: none' onclick='multiSelectClick(this,%d);' onblur='multiSelectBlur(this,%d);' class='normalText filterBy'></div><BR>\n"
-// printf(MULTI_SELECT_WITH_JS,tdb->tableName,filterBy->column,closedSize,openSize,openSize,openSize);
+// printf(MULTI_SELECT_WITH_JS,tdb->track,filterBy->column,closedSize,openSize,openSize,openSize);
#define MULTI_SELECT_WITH_JS "<SELECT name='%s.filterBy.%s' multiple=true size=%d onkeydown='this.size=%d' onclick='multiSelectClick(this,%d);' onblur='multiSelectBlur(this);' class='filterBy'><BR>\n"
- printf(MULTI_SELECT_WITH_JS,tdb->tableName,filterBy->column,closedSize,openSize,openSize);
+ printf(MULTI_SELECT_WITH_JS,tdb->track,filterBy->column,closedSize,openSize,openSize);
printf("<OPTION%s>All</OPTION>\n",(filterBy->slChoices == NULL || slNameInList(filterBy->slChoices,"All")?" SELECTED":"") );
struct slName *slValue;
if(filterBy->useIndex)
{
@@ -2903,9 +2901,9 @@
printf("<OPTION%s>%s</OPTION>\n",(filterBy->slChoices != NULL && slNameInList(filterBy->slChoices,slValue->name)?" SELECTED":""),slValue->name);
}
}
// The following is needed to make msie scroll to selected option.
- printf("<script type='text/javascript'>onload=function(){ if( $.browser.msie ) { $(\"select[name^='%s.filterBy.']\").children('option[selected]').each( function(i) { $(this).attr('selected',true); }); }}</script>\n",tdb->tableName);
+ printf("<script type='text/javascript'>onload=function(){ if( $.browser.msie ) { $(\"select[name^='%s.filterBy.']\").children('option[selected]').each( function(i) { $(this).attr('selected',true); }); }}</script>\n",tdb->track);
puts("</TR></TABLE>");
return;
}
@@ -2921,9 +2919,9 @@
int ix;
#define CHECKBOX_ID_SZ 128
// What is wanted: id="cb_ES_K4_SIG_cb"
struct dyString *id = newDyString(CHECKBOX_ID_SZ);
-dyStringPrintf(id,"cb_%s_", tdb->tableName);
+dyStringPrintf(id,"cb_%s_", tdb->track);
int dimIx=1; // Skips over view dim for now
for(;dimIx<dimMax;dimIx++)
{
if(dims[dimIx] != NULL)
@@ -3079,9 +3077,9 @@
struct trackDb *tdb;
boolean cartPriorities = FALSE;
for (tdb = tdbList; tdb != NULL; tdb = tdb->next)
{
- safef(htmlIdentifier, sizeof(htmlIdentifier), "%s.priority", tdb->tableName);
+ safef(htmlIdentifier, sizeof(htmlIdentifier), "%s.priority", tdb->track);
char *cartHas = cartOptionalString(cart,htmlIdentifier);
if(cartHas != NULL)
{
tdb->priority = atof(cartHas);
@@ -3111,9 +3109,9 @@
boolean cartPriorities = FALSE;
for (tdbRef = *tdbRefList; tdbRef != NULL; tdbRef = tdbRef->next)
{
struct trackDb *tdb = tdbRef->val;
- safef(htmlIdentifier, sizeof(htmlIdentifier), "%s.priority", tdb->tableName);
+ safef(htmlIdentifier, sizeof(htmlIdentifier), "%s.priority", tdb->track);
char *cartHas = cartOptionalString(cart,htmlIdentifier);
if(cartHas != NULL)
{
tdb->priority = atof(cartHas);
@@ -3222,9 +3220,9 @@
char *setting =trackDbLocalSetting(subtrack->parent, "visibility");
if(setting == NULL)
setting = TV_HIDE;
-safef(objName, sizeof(objName), "%s.%s.vis", subtrack->parent->parent->tableName,view);
+safef(objName, sizeof(objName), "%s.%s.vis", subtrack->parent->parent->track,view);
setting = cartUsualString(cart, objName, setting); // Not ClosestToHome
return sameWord(setting,TV_HIDE);
}
@@ -3247,14 +3245,14 @@
setting = trackDbLocalSetting(thisTdb, "visibility");
if(setting == NULL && thisTdb->subtracks != NULL)
setting = TV_HIDE;// non-subtrack must default to hide.
- safef(objName, sizeof(objName), "%s.vis", thisTdb->tableName);
+ safef(objName, sizeof(objName), "%s.vis", thisTdb->track);
if(thisTdb->parent != NULL && thisTdb->subtracks != NULL) // middle level so probably view
{
char * view = trackDbLocalSetting(thisTdb, "view");
if(view != NULL)
- safef(objName, sizeof(objName), "%s.%s.vis", thisTdb->parent->tableName,view);
+ safef(objName, sizeof(objName), "%s.%s.vis", thisTdb->parent->track,view);
}
setting = cartUsualString(cart, objName, setting); // Not ClosestToHome
if(setting != NULL && (thisTdb->subtracks == NULL || !applyMax))
return setting; // defined at lowest level so accept it.
@@ -3303,9 +3301,9 @@
// If subtrack's view is hide then fourstate includes disabled
if(sameWord(setting,TV_HIDE) && subtracksViewIsHidden(cart,subtrack))
FOURSTATE_DISABLE(fourState);
-safef(objName, sizeof(objName), "%s_sel", subtrack->tableName);
+safef(objName, sizeof(objName), "%s_sel", subtrack->track);
fourState = cartUsualInt(cart, objName, fourState);
tdbExtrasAddOrUpdate(subtrack,FOURSTATE_KEY,(void *)(long)fourState);
return fourState;
}
@@ -3344,15 +3342,15 @@
// Now we can start in on the table of subtracks
printf("\n<TABLE CELLSPACING='2' CELLPADDING='0' border='0'");
if(sortOrder != NULL)
{
- printf(" id='subtracks.%s.sortable'",parentTdb->tableName);
+ printf(" id='subtracks.%s.sortable'",parentTdb->track);
dyStringClear(dyHtml);
dyStringPrintf(dyHtml, "tableSortable");
colorIx = COLOR_BG_ALTDEFAULT_IX;
}
else
- printf(" id='subtracks.%s'",parentTdb->tableName);
+ printf(" id='subtracks.%s'",parentTdb->track);
if(useDragAndDrop)
{
if(dyStringLen(dyHtml) > 0)
dyStringAppendC(dyHtml,' ');
@@ -3393,16 +3391,16 @@
if(sortOrder != NULL) // Add some sort buttons
{
puts("<TD colspan=5> </TD></TR>");
- printf("<TR id=\"%s.sortTr\" class='nodrop nodrag'>\n",parentTdb->tableName); // class='nodrop nodrag'
+ printf("<TR id=\"%s.sortTr\" class='nodrop nodrag'>\n",parentTdb->track); // class='nodrop nodrag'
printf("<TD> <INPUT TYPE=HIDDEN NAME='%s' id='%s' VALUE=\"%s\"></TD>", sortOrder->htmlId, sortOrder->htmlId,sortOrder->sortOrder); // keeing track of priority
// Columns in tdb order (unchanging), sort in cart order (changed by user action)
int sIx=0;
for(sIx=0;sIx<sortOrder->count;sIx++)
{
printf ("<TH id='%s.%s.sortTh' abbr='%c' nowrap><A HREF='#nowhere' onclick=\"tableSortAtButtonPress(this,'%s');return false;\">%s</A><sup>%s",
- parentTdb->tableName,sortOrder->column[sIx],
+ parentTdb->track,sortOrder->column[sIx],
(sortOrder->forward[sIx]?'-':'+'),
sortOrder->column[sIx],sortOrder->title[sIx],
(sortOrder->forward[sIx]?"↓":"↑"));
if (sortOrder->count > 1)
@@ -3442,10 +3440,10 @@
int fourState = subtrackFourStateChecked(subtrack,cart);
boolean checkedCB = fourStateChecked(fourState);
boolean enabledCB = fourStateEnabled(fourState);
isPrimary = (primarySubtrack &&
- sameString(subtrack->tableName, primarySubtrack));
- safef(htmlIdentifier, sizeof(htmlIdentifier), "%s_sel", subtrack->tableName);
+ sameString(subtrack->track, primarySubtrack));
+ safef(htmlIdentifier, sizeof(htmlIdentifier), "%s_sel", subtrack->track);
if (primarySubtrack)
{
@@ -3497,9 +3495,9 @@
cgiMakeCheckBoxFourWay(htmlIdentifier,checkedCB,enabledCB,id,dyStringContents(dyHtml),"onclick='matSubCbClick(this);' onmouseover=\"this.style.cursor='default';\"");
if(sortOrder != NULL || useDragAndDrop)
{
- safef(htmlIdentifier, sizeof(htmlIdentifier), "%s.priority", subtrack->tableName);
+ safef(htmlIdentifier, sizeof(htmlIdentifier), "%s.priority", subtrack->track);
float priority = (float)cartUsualDouble(cart, htmlIdentifier, subtrack->priority);
printf("<INPUT TYPE=HIDDEN NAME='%s' id='%s' VALUE=\"%.0f\">", htmlIdentifier, htmlIdentifier, priority); // keeing track of priority
}
@@ -3516,9 +3514,9 @@
#define CFG_SUBTRACK_LINK "<A HREF='#a_cfg_%s' onclick='return subtrackCfgShow(\"%s\");' title='Subtrack Configuration'>%s</A>\n"
#define MAKE_CFG_SUBTRACK_LINK(table,title) printf(CFG_SUBTRACK_LINK, (table),(table),(title))
printf ("<TD id='%s' nowrap abbr='%s' align='left'> ",sortOrder->column[sIx],membership->membership[ix]);
if(cType != cfgNone && sameString("view",sortOrder->column[sIx]))
- MAKE_CFG_SUBTRACK_LINK(subtrack->tableName,titleRoot); // FIXME: Currently configurable under sort only supported when multiview
+ MAKE_CFG_SUBTRACK_LINK(subtrack->track,titleRoot); // FIXME: Currently configurable under sort only supported when multiview
else
printf("%s\n",titleRoot);
puts ("</TD>");
freeMem(titleRoot);
@@ -3529,9 +3527,9 @@
{
printf ("<TD nowrap='true'> ");
indentIfNeeded(hierarchy,membership);
if(cType != cfgNone)
- MAKE_CFG_SUBTRACK_LINK(subtrack->tableName,subtrack->shortLabel);
+ MAKE_CFG_SUBTRACK_LINK(subtrack->track,subtrack->shortLabel);
else
printf("%s\n",subtrack->shortLabel);
puts ("</TD>");
}
@@ -3545,12 +3543,12 @@
{
dependentCfgsNeedBinding = TRUE; // configurable subtrack needs to be bound to composite settings
#define CFG_SUBTRACK_DIV "<DIV id='div_%s_cfg'%s><INPUT TYPE=HIDDEN NAME='%s' value='%s'>\n"
#define MAKE_CFG_SUBTRACK_DIV(table,cfgVar,open) printf(CFG_SUBTRACK_DIV,(table),((open)?"":" style='display:none'"),(cfgVar),((open)?"on":"off"))
- safef(htmlIdentifier,sizeof(htmlIdentifier),"%s.childShowCfg",subtrack->tableName);
+ safef(htmlIdentifier,sizeof(htmlIdentifier),"%s.childShowCfg",subtrack->track);
boolean open = cartUsualBoolean(cart, htmlIdentifier,FALSE);
- MAKE_CFG_SUBTRACK_DIV(subtrack->tableName,htmlIdentifier,open);
- safef(htmlIdentifier,sizeof(htmlIdentifier),"%s",subtrack->tableName);
+ MAKE_CFG_SUBTRACK_DIV(subtrack->track,htmlIdentifier,open);
+ safef(htmlIdentifier,sizeof(htmlIdentifier),"%s",subtrack->track);
cfgByCfgType(cType,db,cart,subtrack,htmlIdentifier,"Subtrack",TRUE);
puts("</DIV>\n");
}
printf("<TD nowrap> ");
@@ -3574,9 +3572,9 @@
puts("<P>");
if (!primarySubtrack)
puts("<script type='text/javascript'>matInitializeMatrix();</script>");
if(dependentCfgsNeedBinding)
- cfgLinkToDependentCfgs(parentTdb,parentTdb->tableName);
+ cfgLinkToDependentCfgs(parentTdb,parentTdb->track);
membersForAllSubGroupsFree(parentTdb,&membersForAll);
dyStringFree(&dyHtml)
sortOrderFree(&sortOrder);
dividersFree(÷rs);
@@ -3795,9 +3793,9 @@
void bedUi(struct trackDb *tdb, struct cart *cart, char *title, boolean boxed)
/* Put up UI for an mRNA (or EST) track. */
{
-struct mrnaUiData *mud = newBedUiData(tdb->tableName);
+struct mrnaUiData *mud = newBedUiData(tdb->track);
struct mrnaFilter *fil;
struct controlGrid *cg = NULL;
char *filterTypeVar = mud->filterTypeVar;
char *filterTypeVal = cartUsualString(cart, filterTypeVar, "red");
@@ -4104,10 +4102,10 @@
puts(" <B> Show only items in top-scoring </B>");
cgiMakeIntVarWithLimits(option,atoi(scoreFilterCt),"Top-scoring count",0,1,100000);
/* Only check size of table if track does not have subtracks */
- if ( !compositeLevel && hTableExists(db, tdb->tableName))
- printf(" (range: 1 to 100,000 total items: %d)\n",getTableSize(db, tdb->tableName));
+ if ( !compositeLevel && hTableExists(db, tdb->table))
+ printf(" (range: 1 to 100,000 total items: %d)\n",getTableSize(db, tdb->table));
else
printf(" (range: 1 to 100,000)\n");
}
cfgEndBox(boxed);
@@ -4292,9 +4290,9 @@
else if(minLimit != NO_VALUE)
safef(limits, sizeof(limits), "violates lower limit (%d)", minLimit);
else //if(maxLimit != NO_VALUE)
safef(limits, sizeof(limits), "violates uppper limit (%d)", maxLimit);
- warn("invalid filter by %s: %s %s for track %s", field, value, limits, tdb->tableName);
+ warn("invalid filter by %s: %s %s for track %s", field, value, limits, tdb->track);
}
}
// else no default limits!
if(invalid)
@@ -4327,9 +4325,9 @@
#endif//ndef FILTER_ASSUMES_RANGE_AT_LIMITS_IS_VALID_FILTER
*and=TRUE;
}
}
- //if(dyStringLen(extraWhere)) warn("SELECT FROM %s WHERE %s",tdb->tableName,dyStringContents(extraWhere));
+ //if(dyStringLen(extraWhere)) warn("SELECT FROM %s WHERE %s",tdb->table,dyStringContents(extraWhere));
return extraWhere;
}
struct dyString *dyAddFilterAsDouble(struct cart *cart, struct trackDb *tdb,
@@ -4372,9 +4370,9 @@
else if((int)minLimit != NO_VALUE)
safef(limits, sizeof(limits), "violates lower limit (%g)", minLimit);
else //if((int)maxLimit != NO_VALUE)
safef(limits, sizeof(limits), "violates uppper limit (%g)", maxLimit);
- warn("invalid filter by %s: %s %s for track %s", field, value, limits, tdb->tableName);
+ warn("invalid filter by %s: %s %s for track %s", field, value, limits, tdb->track);
}
}
if(invalid)
{
@@ -4406,9 +4404,9 @@
#endif//ndef FILTER_ASSUMES_RANGE_AT_LIMITS_IS_VALID_FILTER
*and=TRUE;
}
}
- //if(dyStringLen(extraWhere)) warn("SELECT FROM %s WHERE %s",tdb->tableName,dyStringContents(extraWhere));
+ //if(dyStringLen(extraWhere)) warn("SELECT FROM %s WHERE %s",tdb->table,dyStringContents(extraWhere));
return extraWhere;
}
void encodePeakCfgUi(struct cart *cart, struct trackDb *tdb, char *name, char *title, boolean boxed)
@@ -4504,11 +4502,11 @@
printf("<p><b>Filter out NMD targets.</b>");
cgiMakeCheckBox(varName, nmdDefault);
}
-if(!sameString(tdb->tableName, "tigrGeneIndex")
-&& !sameString(tdb->tableName, "ensGeneNonCoding")
-&& !sameString(tdb->tableName, "encodeGencodeRaceFrags"))
+if(!sameString(tdb->track, "tigrGeneIndex")
+&& !sameString(tdb->track, "ensGeneNonCoding")
+&& !sameString(tdb->track, "encodeGencodeRaceFrags"))
baseColorDrawOptDropDown(cart, tdb);
filterBy_t *filterBySet = filterBySetGet(tdb,cart,name);
if(filterBySet != NULL)
@@ -4522,9 +4520,9 @@
static boolean isSpeciesOn(struct cart *cart, struct trackDb *tdb, char *species, char *option, int optionSize, boolean defaultState)
/* check the cart to see if species is turned off or on (default is defaultState) */
{
boolean ret = defaultState;
-safef(option, optionSize, "%s.%s", tdb->tableName, species);
+safef(option, optionSize, "%s.%s", tdb->track, species);
/* see if this is a simple multiz (not composite track) */
char *s = cartOptionalString(cart, option);
if (s != NULL)
@@ -4537,9 +4535,9 @@
char *viewString;
if (subgroupFind(tdb, "view", &viewString))
{
safef(option, optionSize, "%s.%s.%s",
- tdb->parent->tableName, viewString, species);
+ tdb->parent->track, viewString, species);
ret = cartUsualBoolean(cart, option, ret);
}
}
}
@@ -4565,11 +4563,11 @@
/* determine species and groups for pairwise -- create checkboxes */
if (speciesOrder == NULL && speciesGroup == NULL && speciesUseFile == NULL)
{
- if (isCustomTrack(tdb->tableName))
+ if (isCustomTrack(tdb->track))
return NULL;
- errAbort("Track %s missing required trackDb setting: speciesOrder, speciesGroups, or speciesUseFile", tdb->tableName);
+ errAbort("Track %s missing required trackDb setting: speciesOrder, speciesGroups, or speciesUseFile", tdb->track);
}
char **groups = needMem(MAX_GROUPS * sizeof (char *));
*groupCt = 1;
@@ -4758,9 +4756,9 @@
safef(option, sizeof(option), "%s.%s", name, wmSpecies->name);
label = hOrganism(wmSpecies->name);
if (label == NULL)
label = wmSpecies->name;
- strcpy(trackName, tdb->tableName);
+ strcpy(trackName, tdb->track);
/* try AaMaf first */
chp = strstr(trackName, "AaMaf");
/* if it is not a AaMaf track, try Maf next */
@@ -4886,9 +4884,9 @@
cgiMakeCheckBox(option, cartCgiUsualBoolean(cart, option, TRUE));
char *irowStr = trackDbSetting(tdb, "irows");
boolean doIrows = (irowStr == NULL) || !sameString(irowStr, "off");
-if (isCustomTrack(tdb->tableName) || doIrows)
+if (isCustomTrack(tdb->track) || doIrows)
puts("Display chains between alignments<BR>");
else
{
if (isWigMafProt)
@@ -5173,9 +5171,9 @@
if(configurable[ix] != cfgNone)
{
if(firstOpened == -1)
{
- safef(varName, sizeof(varName), "%s.%s.showCfg", parentTdb->tableName, viewName);
+ safef(varName, sizeof(varName), "%s.%s.showCfg", parentTdb->track, viewName);
if(cartUsualBoolean(cart,varName,FALSE))
firstOpened = ix;
}
makeCfgRows = TRUE;
@@ -5195,15 +5193,15 @@
{
printf("<TD>");
if(configurable[ix] != cfgNone)
{
- MAKE_CFG_LINK(membersOfView->names[ix],membersOfView->values[ix],parentTdb->tableName,(firstOpened == ix));
+ MAKE_CFG_LINK(membersOfView->names[ix],membersOfView->values[ix],parentTdb->track,(firstOpened == ix));
}
else
printf("<B>%s</B>\n",membersOfView->values[ix]);
puts("</TD>");
- safef(varName, sizeof(varName), "%s.%s.vis", parentTdb->tableName, viewName);
+ safef(varName, sizeof(varName), "%s.%s.vis", parentTdb->track, viewName);
enum trackVisibility tv =
hTvFromString(cartUsualString(cart, varName,hStringFromTv(visCompositeViewDefault(parentTdb,viewName))));
safef(javascript, sizeof(javascript), "onchange=\"matSelectViewForSubTracks(this,'%s');\"", viewName);
@@ -5234,9 +5232,9 @@
int ix2=ix;
while(0 < ix2--)
printf("<TD width=100> </TD>");
printf("<TD colspan=%d>",membersOfView->count+1);
- safef(varName, sizeof(varName), "%s", view->tableName);
+ safef(varName, sizeof(varName), "%s", view->track);
if(configurable[ix] != cfgNone)
{
cfgByCfgType(configurable[ix],db,cart,view->subtracks,varName,
membersOfView->values[ix],TRUE);
@@ -5488,9 +5486,9 @@
char javascript[JBUFSIZE];
boolean alreadySet=FALSE;
if(membersForAll->checkedTags[ix] != NULL)
alreadySet=(NULL!=findWordByDelimiter(membersForAll->members[ix]->names[aIx],',',membersForAll->checkedTags[ix]));
- safef(objName, sizeof(objName), "%s.mat_%s_dim%c_cb",parentTdb->tableName,membersForAll->members[ix]->names[aIx], 'A' + (ix - dimA));
+ safef(objName, sizeof(objName), "%s.mat_%s_dim%c_cb",parentTdb->track,membersForAll->members[ix]->names[aIx], 'A' + (ix - dimA));
safef(javascript,sizeof(javascript),"onclick='matCbClick(this);' class=\"matCB abc %s\"",membersForAll->members[ix]->names[aIx]);
// TODO Set classes properly (if needed!!!) The class abc works but what about a b or c?
cgiMakeCheckBoxJS(objName,alreadySet,javascript);
printf("%s",labelWithVocabLink(db,parentTdb,tdbs[aIx],membersForAll->members[ix]->tag,membersForAll->members[ix]->values[aIx]));
@@ -5783,13 +5781,13 @@
for (tdbRef = tdbRefList; tdbRef != NULL; tdbRef = tdbRef->next)
{
subtrack = tdbRef->val;
boolean newVal = FALSE;
- safef(option, sizeof(option), "%s_sel", subtrack->tableName);
+ safef(option, sizeof(option), "%s_sel", subtrack->track);
newVal = sameString(button, ADD_BUTTON_LABEL);
if (primarySubtrack)
{
- if (sameString(subtrack->tableName, primarySubtrack))
+ if (sameString(subtrack->track, primarySubtrack))
newVal = TRUE;
if (hSameTrackDbType(primaryType, subtrack->type))
cartSetBoolean(cart, option, newVal);
}
@@ -5859,13 +5857,13 @@
continue;
if (sameString(subName, subGroup) && sameString(subValue, name))
{
boolean newVal = FALSE;
- safef(option, sizeof(option),"%s_sel", subtrack->tableName);
+ safef(option, sizeof(option),"%s_sel", subtrack->track);
newVal = sameString(button, ADD_BUTTON_LABEL);
if (primarySubtrack)
{
- if (sameString(subtrack->tableName, primarySubtrack))
+ if (sameString(subtrack->track, primarySubtrack))
newVal = TRUE;
if (hSameTrackDbType(primaryType, subtrack->type))
cartSetBoolean(cart, option, newVal);
}
@@ -5972,9 +5970,9 @@
/* determine if supertrack is show/hide */
boolean show = FALSE;
char *setting =
- cartUsualString(cart, tdb->tableName, tdb->isShow ? "show" : "hide");
+ cartUsualString(cart, tdb->track, tdb->isShow ? "show" : "hide");
if (sameString("show", setting))
show = TRUE;
/* Determine if any tracks in supertrack are visible; if not,
@@ -5985,15 +5983,15 @@
struct trackDb *cTdb;
for (cTdb = tdb->subtracks; cTdb != NULL; cTdb = tdb->next)
{
cTdb->visibility =
- hTvFromString(cartUsualString(cart, cTdb->tableName,
+ hTvFromString(cartUsualString(cart, cTdb->track,
hStringFromTv(cTdb->visibility)));
if (cTdb->visibility != tvHide)
visibleChild = 1;
}
}
-hideShowDropDown(tdb->tableName, show, (show && visibleChild) ?
+hideShowDropDown(tdb->track, show, (show && visibleChild) ?
"normalText" : "hiddenText");
return TRUE;
}
@@ -6029,9 +6027,9 @@
// This routine should give these results: compositeName.viewName or else subtrackName.viewName or else compositeName or else subtrackName
if(tdbIsCompositeChild(tdb) == TRUE && trackDbLocalSetting(tdb, "parent") != NULL)
{
if(trackDbSettingClosestToHomeOn(tdb, "configurable"))
- rootName = tdb->tableName; // subtrackName
+ rootName = tdb->track; // subtrackName
else
rootName = firstWordInLine(cloneString(trackDbLocalSetting(tdb, "parent"))); // compositeName
}
if(rootName != NULL)
@@ -6046,11 +6044,12 @@
else
name = cloneString(rootName);
}
else
- name = cloneString(tdb->tableName);
+ name = cloneString(tdb->track);
return name;
}
+
void compositeViewControlNameFree(char **name)
/* frees a string allocated by compositeViewControlNameFromTdb */
{
if(name && *name)
@@ -6062,9 +6061,9 @@
returns TRUE for composite level name */
{
struct trackDb *parent;
for (parent = tdb->parent; parent != NULL; parent = parent->parent)
- if (startsWithWordByDelimiter(parent->tableName, '.', name))
+ if (startsWithWordByDelimiter(parent->track, '.', name))
return TRUE;
return FALSE;
}