a22ee661a510ad206faf91a649b112aec81bc530 tdreszer Tue May 17 20:29:03 2011 -0700 Forget about floating, Just use the same table that under the image toggleBars use. diff --git src/hg/hgTracks/config.c src/hg/hgTracks/config.c index 52a80ea..5f7d524 100644 --- src/hg/hgTracks/config.c +++ src/hg/hgTracks/config.c @@ -92,73 +92,73 @@ boolean isFirstNotCtGroup = TRUE; for (group = groupList; group != NULL; group = group->next) { struct trackRef *tr; if (group->trackList == NULL) continue; /* check if group section should be displayed */ char *otherState; char *indicator; char *indicatorImg; boolean isOpen = !isCollapsedGroup(group); collapseGroupGoodies(isOpen, FALSE, &indicatorImg, &indicator, &otherState); - hPrintf("<TABLE BORDER='1' CELLSPACING='0' style='background-color:#%s; min-width:54em;'>\n",HG_COL_INSIDE); + hPrintf("<TABLE BORDER='1' CELLSPACING='0' style='background-color:#%s; width:54em;'>\n",HG_COL_INSIDE); hPrintf("<TR NOWRAP class='blueToggleBar'>"); hPrintf("<TH NOWRAP align='left' colspan=3>"); + hPrintf("<table style='width:100%%;'><tr><td style='text-align:left;'>"); hPrintf("\n<A NAME='%sGroup'></A>",group->name); hPrintf("<input type=hidden name='%s' id='%s' value=%d>", collapseGroupVar(group->name),collapseGroupVar(group->name), (isOpen?0:1)); - hPrintf(" <IMG class='toggleButton' onclick=\"return toggleTrackGroupVisibility(this,'%s');\" id='%s_button' src='%s' alt='%s' title='%s this group'> ", + hPrintf("<IMG class='toggleButton' onclick=\"return toggleTrackGroupVisibility(this,'%s');\" id='%s_button' src='%s' alt='%s' title='%s this group'> ", group->name, group->name, indicatorImg, indicator,isOpen?"Collapse":"Expand"); - hPrintf("<B> %s</B> ", wrapWhiteFont(group->label)); + hPrintf("<B> %s</B> ", group->label); hPrintf(" "); - //hPrintf("<span style='float:right;'>"); //FIXME: backing out float:right until I figure out why FF wraps the TH to 2 lines - hPrintf("<span>"); + hPrintf("</td><td style='text-align:right;'>\n"); hPrintf("<INPUT TYPE=SUBMIT NAME=\"%s\" VALUE=\"%s\" " "onClick=\"document.mainForm.%s.value='%s'; %s\" title='Hide all tracks in this groups'>", configHideAll, "hide all", configGroupTarget, group->name, jsSetVerticalPosition("mainForm")); hPrintf(" "); hPrintf("<INPUT TYPE=SUBMIT NAME=\"%s\" VALUE=\"%s\" " "onClick=\"document.mainForm.%s.value='%s'; %s\" title='Show all tracks in this groups'>", configShowAll, "show all", configGroupTarget, group->name, jsSetVerticalPosition("mainForm")); hPrintf(" "); hPrintf("<INPUT TYPE=SUBMIT NAME=\"%s\" VALUE=\"%s\" " "onClick=\"document.mainForm.%s.value='%s'; %s\" title='Show default tracks in this group'>", configDefaultAll, "default", configGroupTarget, group->name, jsSetVerticalPosition("mainForm")); hPrintf(" "); /* do not want all the submit buttons named the same. It is * confusing to the javascript submit() function. */ char submitName[256]; safef(submitName, sizeof(submitName), "%sSubmit", group->name); cgiMakeButtonWithMsg(submitName, "submit","Submit your selections and view them in the browser"); #ifdef PRIORITY_CHANGES_IN_CONFIG_UI if (withPriorityOverride) { hPrintf(" "); hPrintf(" "); hPrintf(" "); hPrintf("%s", wrapWhiteFont("Group Order: ")); } #endif///def PRIORITY_CHANGES_IN_CONFIG_UI - hPrintf("</span>"); + hPrintf("</td></tr></table>\n"); hPrintf("</TH>\n"); #ifdef PRIORITY_CHANGES_IN_CONFIG_UI if (withPriorityOverride) { hPrintf("<TH>\n"); safef(pname, sizeof(pname), "%s.priority",group->name); hDoubleVar(pname, (double)group->priority, 4); hPrintf("</TH>\n"); if (isOpen) hPrintf("<TH align=CENTER BGCOLOR='#536ED3'><B> %s</B></TH> ", wrapWhiteFont("Group")); hPrintf("\n"); } #endif///def PRIORITY_CHANGES_IN_CONFIG_UI hPrintf("</TR>\n"); @@ -319,31 +319,31 @@ /* suppress group pull-down for supertrack members */ if (tdbIsSuperTrackChild(track->tdb)) hPrintf(" "); else { safef(gname, sizeof(gname), "%s.group",track->track); printGroupListHtml(gname, groupList, track->groupName); } } hPrintf("</TD>"); } #endif///def PRIORITY_CHANGES_IN_CONFIG_UI hPrintf("</TR>\n"); } hPrintf("</TABLE>\n"); - hPrintf("<BR>"); + cgiDown(0.9); } } #ifdef DOWNLOADS_ONLY_TRACKS_INCLUDED static int addDownloadOnlyTracks(char *db,struct group **pGroupList,struct track **pTrackList) // Download only tracks are not normaly incorporated into the grou and track lists { int count = 0; struct track *track = NULL; struct group *group = NULL; struct trackDb *tdbList = hTrackDb(db); struct trackDb *tdb = tdbList; for(;tdb != NULL; tdb = tdb->next) { if (!tdbIsDownloadsOnly(tdb)