4898794edd81be5285ea6e544acbedeaeb31bf78
max
  Tue Nov 23 08:10:57 2021 -0800
Fixing pointers to README file for license in all source code files. refs #27614

diff --git src/hg/near/hgNear/configure.c src/hg/near/hgNear/configure.c
index 8ea7143..7084b33 100644
--- src/hg/near/hgNear/configure.c
+++ src/hg/near/hgNear/configure.c
@@ -1,317 +1,317 @@
 /* configure - Do configuration page. */
 
 /* Copyright (C) 2012 The Regents of the University of California 
- * See README in this or parent directory for licensing information. */
+ * See kent/LICENSE or http://genome.ucsc.edu/license/ for licensing information. */
 
 #include "common.h"
 #include "linefile.h"
 #include "hash.h"
 #include "cheapcgi.h"
 #include "obscure.h"
 #include "jksql.h"
 #include "htmshell.h"
 #include "hdb.h"
 #include "cart.h"
 #include "web.h"
 #include "hgExp.h"
 #include "hgColors.h"
 #include "hgNear.h"
 
 
 char *configVarName(struct column *col, char *varName)
 /* Return variable name for configuration. */
 {
 static char name[64];
 safef(name, sizeof(name), "%s%s.%s", colConfigPrefix, col->name, varName);
 return name;
 }
 
 char *configVarVal(struct column *col, char *varName)
 /* Return value for configuration variable.  Return NULL if it
  * doesn't exist or if it is "" */
 {
 char *name = configVarName(col, varName);
 return cartNonemptyString(cart, name);
 }
 
 
 static void configTable(struct column *colList, struct sqlConnection *conn)
 /* Write out configuration table */
 {
 struct column *col;
 char varName[128];
 boolean isVis;
 
 hPrintf("<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=1 BGCOLOR=\"#"HG_COL_INSIDE"\">\n");
 
 /* Write out first row - labels. */
 hPrintf("<TR BGCOLOR=\"#"HG_COL_HEADER"\">");
 hPrintf("<TH ALIGN=left>Name</TH>");
 hPrintf("<TH ALIGN=left>On</TH>");
 hPrintf("<TH ALIGN=left>Position</TH>");
 hPrintf("<TH ALIGN=left>Description</TH>");
 hPrintf("<TH ALIGN=left>Configuration</TH>");
 
 /* Print out configuration controls. */
 hPrintf("</TR>");
 
 /* Write out other rows. */
 for (col = colList; col != NULL; col = col->next)
     {
     hPrintf("<TR>");
 
     /* Do small label. */
     hPrintf("<TD>%s</TD>", col->shortLabel);
 
     /* Do on/off dropdown. */
     hPrintf("<TD>");
     safef(varName, sizeof(varName), "%s%s.vis", colConfigPrefix, col->name);
     isVis = cartUsualBoolean(cart, varName, col->on);
     cgiMakeCheckBox(varName, isVis);
     hPrintf("</TD>");
 
     /* Do left/right button */
     hPrintf("<TD ALIGN=CENTER>");
     safef(varName, sizeof(varName), "near.do.up.%s", col->name);
     if (col != colList)
 	{
 	hPrintf("<INPUT NAME=\"%s\" TYPE=\"IMAGE\" VALUE=\"up\" ", varName);
 	hPrintf("SRC=\"../images/up.gif\">");
 	}
     safef(varName, sizeof(varName), "near.do.down.%s", col->name);
     if (col->next != NULL)
 	{
 	hPrintf("<INPUT NAME=\"%s\" TYPE=\"IMAGE\" VALUE=\"down\" ", varName);
 	hPrintf("SRC=\"../images/down.gif\">");
 	}
     hPrintf("</TD>");
 
     /* Do long label. */
     hPrintf("<TD>%s</TD>", col->longLabel);
 
     /* Do configuration controls. */
     if (col->configControls != NULL)
          col->configControls(col);
     else
          hPrintf("<TD>n/a</TD>");
 
     hPrintf("</TR>\n");
     }
 hPrintf("</TABLE>\n");
 }
 
 static void savePriorities(struct column *colList)
 /* Save priority list. */
 {
 struct dyString *dy = dyStringNew(4*1024);
 struct column *col;
 
 for (col = colList; col != NULL; col = col->next)
     dyStringPrintf(dy, "%s %f ", col->name, col->priority);
 cartSetString(cart, colOrderVar, dy->string);
 dyStringFree(&dy);
 }
 
 static void bumpColList(char *bumpHow, struct column **pColList)
 /* Bump a column one way or another */
 {
 char *dupe = cloneString(bumpHow);
 char *words[4], *upDown, *colName;
 
 if (chopString(dupe, ".", words, ArraySize(words)) < 4)
     {
     warn("Strange bumpHow value %s in bumpColList", bumpHow);
     cartRemove(cart, bumpHow);
     noWarnAbort();
     }
 upDown = words[2];
 colName = words[3];
 
 if (sameString(upDown, "up"))
     {
     struct column *col, *prev = NULL;
     for (col = *pColList; col != NULL; col = col->next)
         {
 	if (sameString(col->name, colName))
 	    {
 	    if (prev != NULL)
 	        {
 		float swap = prev->priority;
 		prev->priority = col->priority;
 		col->priority = swap;
 		}
 	    break;
 	    }
 	prev = col;
 	}
     }
 else
     {
     struct column *col, *next = NULL;
     for (col = *pColList; col != NULL; col = col->next)
         {
 	if (sameString(col->name, colName))
 	    {
 	    if ((next = col->next) != NULL)
 	        {
 		float swap = next->priority;
 		next->priority = col->priority;
 		col->priority = swap;
 		}
 	    break;
 	    }
 	}
     }
 freez(&dupe);
 slSort(pColList, columnCmpPriority);
 savePriorities(*pColList);
 }
 
 boolean showOnlyCanonical()
 /* Return TRUE if we only show canonical splicing variants. */
 {
 return !cartUsualBoolean(cart, showAllSpliceVarName, FALSE);
 }
 
 struct userSettings *colUserSettings()
 /* Return userSettings object for columns. */
 {
 struct userSettings *us = userSettingsNew(cart, 
 	"Current Column Configuration",
 	savedCurrentConfName, colSaveSettingsPrefix);
 userSettingsCapturePrefix(us, colConfigPrefix);
 userSettingsCaptureVar(us, colOrderVar);
 return us;
 }
 
 static void configControlPanel()
 /* Put up configuration control panel. */
 {
 struct userSettings *us = colUserSettings();
 controlPanelStart();
 hPrintf("<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=1>\n");
 hPrintf("<TR><TD ALIGN=LEFT>");
 cgiMakeButton("submit", "submit");
 hPrintf("</TD><TD> ");
 hPrintf("</TD><TD> ");
 hPrintf("</TD><TD>");
 hPrintf("Columns:");
 hPrintf("</TD><TD> ");
 cgiMakeButton(hideAllConfName, "hide all");
 hPrintf("</TD><TD>");
 cgiMakeButton(showAllConfName, "show all");
 hPrintf("</TD><TD>");
 cgiMakeButton(defaultConfName, "default");
 hPrintf("</TD><TD>");
 hPrintf("Settings:");
 hPrintf("</TD><TD>");
 cgiMakeButton(saveCurrentConfName, "save");
 hPrintf("</TD><TD>");
 cgiMakeOptionalButton(useSavedConfName, "load", !userSettingsAnySaved(us));
 hPrintf("</TD></TR></TABLE>");
 
 hPrintf("<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=1>\n");
 hPrintf("<TR><TD ALIGN=LEFT>");
 hPrintf("Expression ratio colors: ");
 hgExpColorDropDown(cart, expRatioColorVarName);
 hPrintf("</TD><TD>");
 hPrintf("Show all splicing variants: ");
 cgiMakeCheckBox(showAllSpliceVarName, 
 	cartUsualBoolean(cart, showAllSpliceVarName, FALSE));
 hPrintf("</TD><TD>");
 cgiMakeButton(customPageDoName, "custom columns");
 hPrintf("</TD></TR></TABLE>");
 controlPanelEnd();
 }
 
 void doConfigure(struct sqlConnection *conn, struct column *colList, char *bumpVar)
 /* Generate configuration page. */
 {
 if (bumpVar)
     bumpColList(bumpVar, &colList);
 makeTitle("Configure Gene Sorter", "hgNearHelp.html#Configure");
 hPrintf("<FORM ACTION=\"../cgi-bin/hgNear\" METHOD=POST>\n");
 configControlPanel();
 cartSaveSession(cart);
 
 configTable(colList, conn);
 hPrintf("</FORM>");
 }
 
 static void restoreDefaultOrder(struct column **pColList)
 /* Restore order of columns to default using priority settings. */
 {
 struct column *col;
 for (col = *pColList; col != NULL; col = col->next)
     {
     char *priority = columnSetting(col, "priority", NULL);
     if (priority != NULL)
         col->priority = atof(priority);
     }
 slSort(pColList, columnCmpPriority);
 }
 
 void doDefaultConfigure(struct sqlConnection *conn, struct column *colList)
 /* Do configuration starting with defaults. */
 {
 struct column *col;
 for (col=colList; col != NULL; col = col->next)
     col->on = col->defaultOn;
 cartRemovePrefix(cart, colConfigPrefix);
 cartRemove(cart, colOrderVar);
 restoreDefaultOrder(&colList);
 doConfigure(conn, colList, NULL);
 }
 
 static void  configAllVis(struct sqlConnection *conn, struct column *colList,
 	boolean how)
 /* Respond to hide all button in configuration page. */
 {
 char varName[64];
 struct column *col;
 for (col = colList; col != NULL; col = col->next)
     {
     safef(varName, sizeof(varName), "%s%s.vis", colConfigPrefix, col->name);
     cartSetBoolean(cart, varName, how);
     }
 doConfigure(conn, colList, NULL);
 }
 
 void doConfigHideAll(struct sqlConnection *conn, struct column *colList)
 /* Respond to hide all button in configuration page. */
 {
 configAllVis(conn, colList, 0);
 }
 
 void doConfigShowAll(struct sqlConnection *conn, struct column *colList)
 /* Respond to hide all button in configuration page. */
 {
 configAllVis(conn, colList, 1);
 }
 
 void doConfigUseSaved(struct sqlConnection *conn, struct column *colList)
 /* Respond to Use Saved Settings button in configuration page. */
 {
 struct userSettings *us = colUserSettings();
 userSettingsLoadForm(us);
 }
 
 
 void doNameCurrentColumns()
 /* Put up page to save current column configuration. */
 {
 struct userSettings *us = colUserSettings();
 userSettingsSaveForm(us);
 }
 
 void doSaveCurrentColumns(struct sqlConnection *conn, struct column *colList)
 /* Save the current columns, and then go on. */
 {
 struct userSettings *us = colUserSettings();
 if (userSettingsProcessForm(us))
     {
     refinePriorities(columnHash);
     slSort(&colList, columnCmpPriority);
     doConfigure(conn, colList, NULL);
     }
 }