774cdab50f95e18aad73b455a907158c44f76f9e
kate
  Mon Apr 3 16:49:52 2017 -0700
Fix twitchy layout of vis drop-down (lose bolding of Go, seemed a bit excessive anyway).  Add pointer cursor to drop-down while the hood is up. refs #18556

diff --git src/hg/hgGtexTrackSettings/hgGtexTrackSettings.c src/hg/hgGtexTrackSettings/hgGtexTrackSettings.c
index 1dd7c0b..7b24767 100644
--- src/hg/hgGtexTrackSettings/hgGtexTrackSettings.c
+++ src/hg/hgGtexTrackSettings/hgGtexTrackSettings.c
@@ -8,80 +8,82 @@
 #include "cart.h"
 #include "portable.h"
 #include "cheapcgi.h"
 #include "web.h"
 #include "hCommon.h"
 #include "hui.h"
 #include "jsHelper.h"
 #include "gtexUi.h"
 #include "gtexInfo.h"
 #include "gtexTissue.h"
 
 /* Global Variables */
 struct cart *cart = NULL;             /* CGI and other variables */
 struct hash *oldVars = NULL;          /* Old contents of cart before it was updated by CGI */
 
+static void printGoButton()
+/* HTML for GO button and 'play' icon */
+{
+puts(
+"           <div class='gbButtonGoContainer text-right' title='Go to the Genome Browser'>\n"
+"               <div class='gbButtonGo'>GO</div>\n"
+"               <i class='gbIconGo fa fa-play fa-2x'></i>\n"
+"           </div>\n"
+);
+}
+
+static void printBodyMap()
+/* Include BodyMap SVG in HTML */
+{
+puts(
+"        <!-- Body Map panel -->\n"
+"           <object id='bodyMapSvg' type='image/svg+xml' data='/images/gtexBodyMap.svg'>\n"
+"               GTEx Body Map illustration not found\n"
+"           </object>\n");
+puts("<div class='gbmCredit'>Credit: jwestdesign</div>\n");
+}
+
 static void printTrackHeader(char *db, struct trackDb *tdb)
 /* Print top banner with track labels */
 // TODO: Try to simplify layout
 {
 char *assembly = stringBetween("(", ")", hFreezeFromDb(db));
 puts(
 "<a name='TRACK_TOP'></a>\n"
 "    <div class='row gbTrackTitleBanner'>\n"
 "       <div class='col-md-10'>\n"
 );
 printf(
 "           <span class='gbTrackName'>\n"
 "               %s Track\n"
 "               <span class='gbAssembly'> %s </span>\n"
 "           </span>"
 "           <span class='gbTrackTitle'> %s </span>\n"
 , tdb->shortLabel, assembly, tdb->longLabel);
 puts(
 "<!-- Info icon built from stacked fa icons -->\n"
 "           <a href='#INFO_SECTION' title='Jump to the track description'>\n"
 "               <span class='gbIconSmall fa-stack'>\n"
 "                   <i class='gbBlueDarkColor fa fa-circle fa-stack-2x'></i>\n"
 "                   <i class='gbWhiteColor fa fa-info fa-stack-1x'></i>\n"
 "               </span></a>\n"
 "       </div>\n"
 "       <div class='col-md-2 text-right'>\n"
-"           <div class='gbButtonGoContainer' title='Go to the Genome Browser'>\n"
-"               <div class='gbButtonGo'>GO</div>\n"
-"               <i class='gbIconGo fa fa-play fa-2x'></i>\n"
-"           </div>\n"
-"       </div>\n"
-"   </div>\n");
-}
-
-static void printBodyMap()
-{
-puts(
-"        <!-- Body Map panel -->\n"
-"           <object id='bodyMapSvg' type='image/svg+xml' data='/images/gtexBodyMap.svg'>\n"
-"               GTEx Body Map illustration not found\n"
-"           </object>\n");
-puts("<div class='gbmCredit'>Credit: jwestdesign</div>\n");
-}
-
-static void printGoButton()
-{
+);
+printGoButton();
 puts(
-"           <div class='gbButtonGoContainer' title='Go to the Genome Browser'>\n"
-"               <div class='gbButtonGo'>GO</div>\n"
-"               <i class='gbIconGo fa fa-play fa-2x'></i>\n"
+"       </div>\n"
 "   </div>\n"
 );
 }
 
 static void printVisSelect(struct trackDb *tdb)
 /* Track visibility dropdown */
 {
 enum trackVisibility vis = tdb->visibility;
 vis = hTvFromString(cartUsualString(cart, tdb->track, hStringFromTv(vis)));
 boolean canPack = TRUE;
 hTvDropDownClassVisOnlyAndExtra(tdb->track, vis, canPack, "gbSelect normalText visDD",
                                             trackDbSetting(tdb, "onlyVisibility"), NULL);
 }
 
 static void printScoreFilter(struct cart *cart, char *track, struct trackDb *tdb)
@@ -93,31 +95,31 @@
 int score = cartUsualInt(cart, buf, 0);
 int minScore = 0, maxScore = 1000;
 cgiMakeIntVarWithLimits(buf, score, "Minimum score", 0, minScore, maxScore);
 printf(
 "                    (range %d-%d)\n", minScore, maxScore);
 }
 
 static void printConfigPanel(struct trackDb *tdb)
 /* Controls for track configuration (except for tissues) */
 {
 char *track = tdb->track;
 puts(
 "        <!-- Configuration panel -->\n"
 "        <div class='row gbSectionBanner'>\n"
 "            <div class='col-md-8'>Configuration</div>\n"
-"            <div class='col-md-4 gbButtonContainer text-right'>\n");
+"            <div class='col-md-4 text-right'>\n");
 
 /* Track vis dropdown */
 printVisSelect(tdb);
 printGoButton();
 puts(
 "            </div>\n"
 "        </div>\n");
 
 /* GTEx-specific track controls, layout in 3 rows */
 puts(
 "        <!-- row 1 -->\n"
 "        <div class='row'>\n"
 "            <div class='gbControl col-md-5'>\n");
 gtexGeneUiGeneLabel(cart, track, tdb);
 puts(
@@ -170,31 +172,31 @@
 struct hash *selectedHash = cartHashList(cart, var);
 struct gtexTissue **tisTable = NULL;
 int count = slCount(tissues);
 AllocArray(tisTable, count);
 int i=0, col=0;
 int cols = 2;
 int last = count/2 + 1;
 
 puts(
  " <!-- Tissue list -->\n"
  "<div class='row gbSectionBanner'>\n"
  "  <div class='col-md-1'>Tissues</div>\n"
  "  <div class='col-md-7 gbSectionInfo'>\n"
  "      Click label below or in Body Map to set or clear a tissue\n"
  "  </div>\n"
- "  <div class='col-md-4 gbButtonContainer'>\n"
+ "  <div class='col-md-4 gbButtonContainer text-right'>\n"
  "      <div id='setAll' class='gbButtonSetClear gbButton'>set all</div>\n"
  "      <div id='clearAll' class='gbButtonSetClear gbButton'>clear all</div>\n"
  "  </div>\n"
  "</div>\n"
 );
 
 puts(
 "<table class='gbmTissueTable'>\n");
 puts(
 "<tr>\n");
 for (tis = tissues; tis != NULL; tis = tis->next)
     {
     if (tis->id < last)
         i = tis->id * 2;
     else