3bd303d90463041294d0879f7a3ef64c6f8dcaf4 braney Sun May 7 17:44:39 2017 -0700 ongoing work on custom composites diff --git src/hg/hgComposite/hgComposite.c src/hg/hgComposite/hgComposite.c index 5c56e32..d35ac86 100644 --- src/hg/hgComposite/hgComposite.c +++ src/hg/hgComposite/hgComposite.c @@ -227,32 +227,32 @@ fprintf(f, "\t%s %s\n", hel->name, (char *)hel->val); } if (bigDataUrl == NULL) { if (dataUrl != NULL) fprintf(f, "\tbigDataUrl %s\n", dataUrl); } fprintf(f, "\tparent %s\n",parent); fprintf(f, "\tcolor %d,%d,%d\n", (color >> 16) & 0xff,(color >> 8) & 0xff,color & 0xff); fprintf(f, "\n"); } static void outComposite(FILE *f, struct composite *composite) { char *parent = composite->name; -char *shortLabel = composite->name; -char *longLabel = composite->name; +char *shortLabel = composite->shortLabel; +char *longLabel = composite->longLabel; fprintf(f,"track %s\n\ shortLabel %s\n\ compositeTrack on\n\ aggregate none\n\ longLabel %s\n\ %s on\n\ #container multiWig\n\ type wig \n\ visibility full\n\n", parent, shortLabel, longLabel, CUSTOM_COMPOSITE_SETTING); } static struct trackDb *findTrack(char *name, struct trackDb *fullTrackList) { struct trackDb *tdb; for (tdb = fullTrackList; tdb != NULL; tdb = tdb->next) @@ -438,65 +438,67 @@ //#*** ------------------ end verbatim --------------- printf("
" "Select Genome Assembly
\n"); /* Print clade, genome and assembly line. */ hgGatewayCladeGenomeDb(); } static void printCompositeList(struct composite *compositeList, struct composite *currentComposite) { if (compositeList == NULL) return; -printf("

My Composites

\n"); +printf("
" + "My Composites
\n"); int count = slCount(compositeList); char *labels[count]; char *names[count]; count = 0; for(; compositeList; compositeList = compositeList->next) { labels[count] = compositeList->shortLabel; names[count] = compositeList->name; count++; } cgiMakeDropListFull("compositeList", labels, names, count, currentComposite->name, "change", "var e = document.getElementById('compositeList'); \ var strUser = e.options[e.selectedIndex].value; \ document.changeCompositeForm.elements['"hgsCurrentComposite"'].value = strUser; \ document.changeCompositeForm.submit();"); //document.addTrackForm.elements['hgComp_track'] = strUser;"); } static void makeAddComposite() { printf("
"); printf("
"); printf("

Make New Composite

"); printf("name "); cgiMakeTextVar(hgsNewCompositeName, "", 29); -printf("short label "); +printf("
short label "); cgiMakeTextVar(hgsNewCompositeShortLabel, "", 29); -printf("long label "); +printf("
long label "); cgiMakeTextVar(hgsNewCompositeLongLabel, "", 29); +printf("
"); hOnClickButton("selVar_MakeNewComposite", "var e = document.getElementById('"hgsNewCompositeName"'); \ document.makeNewCompositeForm.elements['"hgsNewCompositeName"'].value = e.value; \ var e = document.getElementById('"hgsNewCompositeShortLabel"'); \ document.makeNewCompositeForm.elements['"hgsNewCompositeShortLabel"'].value = e.value; \ var e = document.getElementById('"hgsNewCompositeLongLabel"'); \ document.makeNewCompositeForm.elements['"hgsNewCompositeLongLabel"'].value = e.value; \ document.makeNewCompositeForm.submit(); return false;", "submit"); printf("
"); } static void printTrackList(struct composite *composite) { printf("
" "Tracks in Composite
\n"); @@ -514,31 +516,31 @@ printf("%s\n",track->shortLabel); } //printf("track1"); //printf("track2"); printf(""); } static boolean trackCanBeAdded(struct trackDb *tdb) { return (tdb->subtracks == NULL) && !startsWith("wigMaf",tdb->type) && (startsWith("wig",tdb->type) || startsWith("bigWig",tdb->type)) ; } static void availableTracks(char *db, struct grp *groupList, struct trackDb *fullTrackList) { -printf("

Available tracks in %s

", db); +printf("

Add tracks from %s

", db); char *curGroupName = cartOptionalString(cart, hgsCurrentGroup); printf("
groups: "); char **labels, **names; int count = slCount(groupList); AllocArray(labels, count); AllocArray(names, count); count = 0; struct grp *grp; for(grp = groupList; grp; grp = grp->next) { labels[count] = grp->label; names[count] = grp->name; count++; } @@ -610,44 +612,46 @@ void doMainPage(char *db, struct grp *groupList, struct trackDb *fullTrackList, struct composite *currentComposite, struct composite *compositeList) /* Print out initial HTML of control page. */ { //struct composite *currentComposite = compositeList; jsInit(); webIncludeResourceFile("jquery-ui.css"); webIncludeResourceFile("ui.dropdownchecklist.css"); boolean alreadyAgreed = cartUsualBoolean(cart, "hgva_agreedToDisclaimer", FALSE); jsInlineF( "$(document).ready(function() { hgva.disclaimer.init(%s, hgva.userClickedAgree); });\n" , alreadyAgreed ? "true" : "false"); addSomeCss(); printAssemblySection(); puts("
"); +printf("
" + "Add Hubs and Custom Tracks
\n"); printCtAndHubButtons(); //struct hashEl *hel = cartFindPrefix(cart, hgCompEditPrefix); //if (hel != NULL) { // printf("printing EditCom\n"); /// printEditComposite(); } -printf(""); puts("
"); -makeAddComposite(); puts("
"); printCompositeList(compositeList, currentComposite); +makeAddComposite(); puts("
"); printTrackList(currentComposite); puts("
"); availableTracks(db, groupList, fullTrackList); puts("
"); // Make wrapper table for collapsible sections: //selectVariants(); //char *geneTrack = selectGenes(); //if (geneTrack != NULL) { //selectRegulatory(); //selectAnnotations(geneTrack); //selectFilters(); //selectOutput();