void userSettingsLoadForm(struct userSettings *us) /* Put up controls that let user name and save the current * set. */ { struct hashEl *list = cartFindPrefix(us->cart, us->savePrefix); /* Start form/save session/print title. */ hPrintf("<FORM ACTION=\"../cgi-bin/hgNear\" NAME=\"usForm\" METHOD=GET>\n"); cartSaveSession(us->cart); hPrintf("<H2>Load %s</H2>\n", us->formTitle); hPrintf("<TABLE><TR><TD>\n"); hPrintf("<SELECT NAME=\"%s\" SIZE=%d>", us->nameVar, slCount(list)); printLabelList(us, list); hPrintf("</SELECT>"); hPrintf("</TD><TD>"); cgiMakeButton(us->formVar, "load"); hPrintf(" "); cgiMakeButton(us->formVar, "cancel"); hPrintf("</TD></TR></TABLE>"); /* Cleanup. */ hPrintf("</FORM>\n"); slFreeList(&list); }
void userSettingsDropDown(struct userSettings *us) /* Display list of available saved settings . */ { struct hashEl *list = cartFindPrefix(us->cart, us->savePrefix); if (list != NULL) { hPrintf("<SELECT NAME=\"%s\">\n", us->nameVar); slSort(&list, hashElCmp); printLabelList(us, list); slFreeList(&list); hPrintf("</SELECT>"); } }
void userSettingsSaveForm(struct userSettings *us) /* Put up controls that let user name and save the current * set. */ { char buf[1024]; struct hashEl *list = cartFindPrefix(us->cart, us->savePrefix); safef(buf, sizeof(buf), "Save %s", us->formTitle); makeTitle(buf, NULL); /* Start form/save session/print title. */ hPrintf("<FORM ACTION=\"../cgi-bin/hgNear\" NAME=\"usForm\" METHOD=GET>\n"); cartSaveSession(us->cart); /* Put up controls that are always there. */ hPrintf("Please name this setup:\n"); cartMakeTextVar(us->cart, us->nameVar, "", 16); hPrintf(" "); cgiMakeButton(us->formVar, "save"); hPrintf(" "); cgiMakeButton(us->formVar, "cancel"); /* Put up additional controls if have saved settings already. */ if (list != NULL) { struct dyString *js = newDyString(0); htmlHorizontalLine(); slSort(&list, hashElCmp); hPrintf("Existing Setups:"); dyStringPrintf(js, "document.usForm.%s.value=", us->nameVar); dyStringPrintf(js, "document.usForm.%s.options", us->listDisplayVar); dyStringPrintf(js, "[document.usForm.%s.selectedIndex].value;", us->listDisplayVar); hPrintf("<SELECT NAME=\"%s\" SIZE=%d onchange=\"%s\">", us->listDisplayVar, slCount(list), js->string); printLabelList(us, list); hPrintf("</SELECT>\n"); cgiMakeButton(us->formVar, "delete existing setup"); } /* Cleanup. */ hPrintf("</FORM>\n"); slFreeList(&list); }