src/hg/hgTracks/imageV2.c 1.7

1.7 2009/08/27 00:10:16 tdreszer
Fixed a couple bugs and ensured ps-pdf code still works with IMAGEv2
Index: src/hg/hgTracks/imageV2.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/hg/hgTracks/imageV2.c,v
retrieving revision 1.6
retrieving revision 1.7
diff -b -B -U 4 -r1.6 -r1.7
--- src/hg/hgTracks/imageV2.c	17 Jul 2009 18:25:41 -0000	1.6
+++ src/hg/hgTracks/imageV2.c	27 Aug 2009 00:10:16 -0000	1.7
@@ -413,9 +413,8 @@
 
 struct imgTrack *imgTrackUpdate(struct imgTrack *imgTrack,struct trackDb *tdb,char *name,char *db,char *chrom,int chromStart,int chromEnd,boolean plusStrand,boolean showCenterLabel,enum trackVisibility vis,int order)
 /* Updates an already existing image track */
 {
-static int lastOrder = 900; // keep track of the order these images get added
 if(tdb != NULL && tdb != imgTrack->tdb)
     imgTrack->tdb    = tdb;
 if(name != NULL && differentStringNullOk(imgTrack->name,name))
     {
@@ -431,8 +430,10 @@
 imgTrack->chromEnd   = chromEnd;
 imgTrack->plusStrand = plusStrand;
 imgTrack->showCenterLabel = showCenterLabel;
 imgTrack->vis             = vis;
+#ifdef IMAGEv2_DRAG_REORDER
+static int lastOrder = 900; // keep track of the order these images get added
 if(order == IMG_FIXEDPOS)
     {
     imgTrack->reorderable = FALSE;
     if(name != NULL && sameString(RULER_TRACK_NAME,name))
@@ -450,8 +451,12 @@
         }
     else if(imgTrack->order != order)
         imgTrack->order = order;
     }
+#else//ifndef IMAGEv2_DRAG_REORDER
+    imgTrack->reorderable = FALSE;
+    imgTrack->order = 1;
+#endif//ndef IMAGEv2_DRAG_REORDER
 return imgTrack;
 }
 
 int imgTrackOrderCmp(const void *va, const void *vb)
@@ -1050,20 +1055,22 @@
 if(!imgBoxIsComplete(imgBox,TRUE))
     return;
 char name[128];
 
-// TODO: Add in sorting
-//if(differentStringNullOk(imgBox->imgTracks->name,RULER_TRACK_NAME))
-//    slReverse(&(imgBox->imgTracks));
+#ifdef IMAGEv2_DRAG_REORDER
 imgBoxTracksNormalizeOrder(imgBox);
+#endif//def IMAGEv2_DRAG_REORDER
 
 hPrintf("<!---------------vvv IMAGEv2 vvv---------------->\n");
 //commonCssStyles();
+#ifdef IMAGEv2_DRAG_REORDER
 jsIncludeFile("jquery.tablednd.js", NULL);
-// TODO: jsIncludeFile("dragScroll.js", NULL);
+#endif//def IMAGEv2_DRAG_REORDER
 hPrintf("<style type='text/css'>\n");
+#ifdef IMAGEv2_DRAG_REORDER
 hPrintf(".trDrag {opacity:0.4; padding:1px; background-color:red;}\n");// outline:red solid thin;}\n"); // opacity for FF, padding/bg for IE
 hPrintf(".dragHandle {cursor: s-resize;}\n");
+#endif//def IMAGEv2_DRAG_REORDER
 hPrintf("div.dragZoom {cursor: text;}\n");
 hPrintf("</style>\n");
 
 if(imgBox->showPortal)
@@ -1084,9 +1091,12 @@
     }
 
 hPrintf("<TABLE id='imgTbl' border=0 cellspacing=0 cellpadding=0");
 hPrintf(" width=%d",imgBox->showPortal?(imgBox->portalWidth+imgBox->sideLabelWidth):imgBox->width);
-hPrintf(" class='tableWithDragAndDrop' style='border:1px solid blue;border-collapse:separate'");
+#ifdef IMAGEv2_DRAG_REORDER
+hPrintf(" class='tableWithDragAndDrop'");
+#endif//def IMAGEv2_DRAG_REORDER
+hPrintf(" style='border:1px solid blue;border-collapse:separate'");
 hPrintf(">\n");
 
 struct imgTrack *imgTrack = imgBox->imgTracks;
 for(;imgTrack!=NULL;imgTrack=imgTrack->next)
@@ -1096,9 +1106,9 @@
         (imgTrack->reorderable?" class='trDraggable'":" class='nodrop nodrag'"));
     // leftLabel
     if(imgBox->showSideLabel && imgBox->plusStrand)
         {
-        safef(name,sizeof(name),"left_%s",trackName);
+        safef(name,sizeof(name),"side_%s",trackName);
         hPrintf(" <TD id='td_%s'%s>\n",name,
             (imgTrack->reorderable?" class='dragHandle' title='Drag to reorder'":""));
         sliceAndMapDraw(imgBox,imgTrackSliceGetByType(imgTrack,isSide), name,FALSE);
         hPrintf(" </TD>");
@@ -1114,15 +1124,15 @@
         //hPrintf("<BR>\n");
         }
     // data image
     safef(name, sizeof(name), "data_%s", trackName);
-    sliceAndMapDraw(imgBox,imgTrackSliceGetByType(imgTrack,isData), name,imgTrack->reorderable);
+    sliceAndMapDraw(imgBox,imgTrackSliceGetByType(imgTrack,isData), name,(imgTrack->order>0));
     hPrintf(" </TD>");
 
     // rightLabel
     if(imgBox->showSideLabel && !imgTrack->plusStrand)
         {
-        safef(name, sizeof(name), "right_%s", trackName);
+        safef(name, sizeof(name), "side_%s", trackName);
         hPrintf(" <TD id='td_%s'%s>\n", name,
             (imgTrack->reorderable?" class='dragHandle' title='Drag to reorder'":""));
         sliceAndMapDraw(imgBox,imgTrackSliceGetByType(imgTrack,isSide), name,FALSE);
         hPrintf(" </TD>\n");