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 @@ -1,577 +1,577 @@ /* config - put up track and display configuration page. */ #include "common.h" #include "dystring.h" #include "cheapcgi.h" #include "htmshell.h" #include "hdb.h" #include "hCommon.h" #include "cart.h" #include "web.h" #include "customTrack.h" #include "hgTracks.h" #include "hgConfig.h" #include "jsHelper.h" #include "imageV2.h" #include "search.h" #define DOWNLOADS_ONLY_TRACKS_INCLUDED #ifdef DOWNLOADS_ONLY_TRACKS_INCLUDED #include "fileUi.h" #endif///def DOWNLOADS_ONLY_TRACKS_INCLUDED static void textSizeDropDown() /* Create drop down for font size. */ { static char *sizes[] = {"6", "8", "10", "12", "14", "18", "24", "34"}; hDropList(textSizeVar, sizes, ArraySize(sizes), tl.textSize); } #ifdef PRIORITY_CHANGES_IN_CONFIG_UI static void printGroupListHtml(char *groupCgiName, struct group *groupList, char *defaultGroup) /* Make an HTML select input listing the groups. */ { char *groups[128]; char *labels[128]; char *defaultLabel = NULL; int numGroups = 0; struct group *group = NULL; for (group = groupList; group != NULL; group = group->next) { groups[numGroups] = group->name; labels[numGroups] = group->name; if (sameWord(defaultGroup, groups[numGroups])) defaultLabel = groups[numGroups]; numGroups++; if (numGroups >= ArraySize(groups)) internalErr(); } cgiMakeDropListFull(groupCgiName, labels, groups, numGroups, defaultLabel, NULL); } #endif///def PRIORITY_CHANGES_IN_CONFIG_UI static void trackConfig(struct track *trackList, struct group *groupList, char *groupTarget, int changeVis) /* Put up track configurations. If groupTarget is * NULL then set visibility for tracks in all groups. Otherwise, * just set it for the given group. If vis is -2, then visibility is * unchanged. If -1 then set visibility to default, otherwise it should * be tvHide, tvDense, etc. */ { #ifdef PRIORITY_CHANGES_IN_CONFIG_UI char pname[512]; char gname[512]; #endif///def PRIORITY_CHANGES_IN_CONFIG_UI struct group *group; boolean showedRuler = FALSE; setRulerMode(); changeTrackVis(groupList, groupTarget, changeVis); /* Set up ruler mode according to changeVis. */ #ifdef BOB_DOESNT_LIKE if (changeVis != -2) { if (groupTarget == NULL || (groupList != NULL && sameString(groupTarget, groupList->name))) { if (changeVis == -1) rulerMode = tvFull; else rulerMode = changeVis; } } #endif /* BOB_DOESNT_LIKE */ jsInit(); cgiMakeHiddenVar(configGroupTarget, "none"); 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("
"); + hPrintf(" | \n"); #ifdef PRIORITY_CHANGES_IN_CONFIG_UI if (withPriorityOverride) { hPrintf("\n"); safef(pname, sizeof(pname), "%s.priority",group->name); hDoubleVar(pname, (double)group->priority, 4); hPrintf(" | \n"); if (isOpen) hPrintf("%s | ", wrapWhiteFont("Group")); hPrintf("\n"); } #endif///def PRIORITY_CHANGES_IN_CONFIG_UI hPrintf("|||
---|---|---|---|---|---|
"); hPrintf("", hgTrackUiName(), cartSessionVarName(), cartSessionId(cart), chromName, RULER_TRACK_NAME); hPrintf("%s", RULER_TRACK_LABEL); hPrintf(" | "); hPrintf(""); hTvDropDownClass("ruler", rulerMode, FALSE, rulerMode ? "normalText" : "hiddenText"); hPrintf(" | "); hPrintf(""); hPrintf("Chromosome position in bases. (Clicks here zoom in 3x)"); hPrintf(" | "); #ifdef PRIORITY_CHANGES_IN_CONFIG_UI if (withPriorityOverride) { hPrintf(""); hPrintf(" | "); hPrintf(""); hPrintf(" | "); } #endif///def PRIORITY_CHANGES_IN_CONFIG_UI hPrintf("|
"); if (tdbIsSuperTrackChild(tdb)) /* indent members of a supertrack */ hPrintf(" "); // Print an icon before the title when one is defined hPrintPennantIcon(tdb); if (track->hasUi) hPrintf("", tdb->parent ? "Part of super track: " : "Configure ", tdb->parent ? tdb->parent->shortLabel : tdb->shortLabel, hgTrackUiName(),cartSessionVarName(), cartSessionId(cart), track->track); hPrintf(" %s", tdb->shortLabel); if (tdbIsSuper(tdb)) hPrintf("..."); if (track->hasUi) hPrintf(""); hPrintf(" | "); hPrintf(""); if (tdbIsSuperTrackChild(tdb)) /* indent members of a supertrack */ hPrintf(" "); /* If track is not on this chrom print an informational message for the user. */ #ifdef DOWNLOADS_ONLY_TRACKS_INCLUDED if (tdbIsDownloadsOnly(tdb)) hPrintf("Downloads", // No vis display for downloadsOnly hgFileUiName(),cartSessionVarName(), cartSessionId(cart), tdb->track); else #endif///def DOWNLOADS_ONLY_TRACKS_INCLUDED if (hTrackOnChrom(track->tdb, chromName)) { if (tdbIsSuper(track->tdb)) { /* supertrack dropdown is hide/show */ superTrackDropDown(cart, track->tdb, 1); } else { /* check for option of limiting visibility to one mode */ hTvDropDownClassVisOnly(track->track, track->visibility, track->canPack, (track->visibility == tvHide) ? "hiddenText" : "normalText", trackDbSetting(track->tdb, "onlyVisibility")); } } else hPrintf("[No data-%s]", chromName); hPrintf(" | "); hPrintf(""); hPrintf("%s", tdb->longLabel); hPrintf(" | "); #ifdef PRIORITY_CHANGES_IN_CONFIG_UI if (withPriorityOverride) { hPrintf(""); #ifdef DOWNLOADS_ONLY_TRACKS_INCLUDED if (tdbIsDownloadsOnly(tdb)) hPrintf("  | \n "); else #endif///def DOWNLOADS_ONLY_TRACKS_INCLUDED { safef(pname, sizeof(pname), "%s.priority",track->track); hDoubleVar(pname, (double)track->priority, 4); hPrintf(" | "); hPrintf("\n"); /* 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(" | "); } #endif///def PRIORITY_CHANGES_IN_CONFIG_UI hPrintf("