22f809907e0828309f9d807bab3ba197b2a5f519 angie Tue May 29 10:59:36 2012 -0700 Bug #8048: Fix suggested by Tim: add a class to ldUi's inversion checkboxes,and detect that class when marking changes in subCfg.js. Also found an slSort that was missing & for its first arg, resulting in weird sorting of subtracks for inversion checkbox display. diff --git src/hg/hgTrackUi/hgTrackUi.c src/hg/hgTrackUi/hgTrackUi.c index 3f4ac2d..5b7f7aa 100644 --- src/hg/hgTrackUi/hgTrackUi.c +++ src/hg/hgTrackUi/hgTrackUi.c @@ -621,39 +621,40 @@ cgiMakeRadioButton(var, "dprime", sameString("dprime", val)); printf(" D' "); cgiMakeRadioButton(var, "lod", sameString("lod", val)); printf(" LOD<BR>"); printf("<BR><B>Track Geometry:</B><BR> \n"); safef(var, sizeof(var), "%s_trm", tdb->track); cgiMakeCheckBox(var, cartUsualBoolean(cart, var, ldTrmDefault)); printf(" Trim to triangle<BR>\n"); if (tdbIsComposite(tdb)) { printf("<BR> "); struct slRef *tdbRefList = trackDbListGetRefsToDescendantLeaves(tdb->subtracks); - slSort(tdbRefList, trackDbRefCmp); + slSort(&tdbRefList, trackDbRefCmp); struct slRef *tdbRef; for (tdbRef = tdbRefList; tdbRef != NULL; tdbRef = tdbRef->next) { struct trackDb *subTdb = tdbRef->val; if (hTableExists(database, subTdb->table)) { safef(var, sizeof(var), "%s_inv", subTdb->track); - cgiMakeCheckBox(var, cartUsualBoolean(cart, var, ldInvDefault)); + cgiMakeCheckBoxJS(var, cartUsualBoolean(cart, var, ldInvDefault), + "class='subtrackInCompositeUi'"); printf(" Invert display for %s<BR> \n", subTdb->longLabel); } } slFreeList(&tdbRefList); } else { safef(var, sizeof(var), "%s_inv", tdb->track); printf(" "); cgiMakeCheckBox(var, cartUsualBoolean(cart, var, ldInvDefault)); printf(" Invert the display<BR> \n"); } printf("<BR><B>Colors:</B>\n");