src/lib/cheapcgi.c 1.118
1.118 2009/04/28 22:58:40 tdreszer
Added support for a numerical limit having NO_VALUE in the cgiMakeIntWithLimits() and cgiMakeDoubleWithLimits() functions
Index: src/lib/cheapcgi.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/lib/cheapcgi.c,v
retrieving revision 1.117
retrieving revision 1.118
diff -b -B -U 4 -r1.117 -r1.118
--- src/lib/cheapcgi.c 10 Apr 2009 23:59:38 -0000 1.117
+++ src/lib/cheapcgi.c 28 Apr 2009 22:58:40 -0000 1.118
@@ -1171,8 +1171,9 @@
printf("<INPUT TYPE=TEXT NAME=\"%s\" SIZE=%d VALUE=%d>", varName,
maxDigits, initialVal);
}
+#define NO_VALUE -96669
void cgiMakeIntVarInRange(char *varName, int initialVal, char *title, int width, char *min, char *max)
/* Make a integer control filled with initial value.
If min and/or max are non-NULL will enforce range
Requires utils.js jQuery.js and inputBox class */
@@ -1203,23 +1204,43 @@
void cgiMakeIntVarWithLimits(char *varName, int initialVal, char *title, int width, int min, int max)
{
char minLimit[20];
char maxLimit[20];
-safef(minLimit,sizeof(minLimit),"%d",min);
-safef(maxLimit,sizeof(maxLimit),"%d",max);
-cgiMakeIntVarInRange(varName,initialVal,title,width,minLimit,maxLimit);
+char *minStr=NULL;
+char *maxStr=NULL;
+if(min != NO_VALUE)
+ {
+ safef(minLimit,sizeof(minLimit),"%d",min);
+ minStr = minLimit;
+ }
+if(max != NO_VALUE)
+ {
+ safef(maxLimit,sizeof(maxLimit),"%d",max);
+ maxStr = maxLimit;
+ }
+cgiMakeIntVarInRange(varName,initialVal,title,width,minStr,maxStr);
}
void cgiMakeIntVarWithMin(char *varName, int initialVal, char *title, int width, int min)
{
char minLimit[20];
-safef(minLimit,sizeof(minLimit),"%d",min);
-cgiMakeIntVarInRange(varName,initialVal,title,width,minLimit,NULL);
+char *minStr=NULL;
+if(min != NO_VALUE)
+ {
+ safef(minLimit,sizeof(minLimit),"%d",min);
+ minStr = minLimit;
+ }
+cgiMakeIntVarInRange(varName,initialVal,title,width,minStr,NULL);
}
void cgiMakeIntVarWithMax(char *varName, int initialVal, char *title, int width, int max)
{
char maxLimit[20];
-safef(maxLimit,sizeof(maxLimit),"%d",max);
-cgiMakeIntVarInRange(varName,initialVal,title,width,NULL,maxLimit);
+char *maxStr=NULL;
+if(max != NO_VALUE)
+ {
+ safef(maxLimit,sizeof(maxLimit),"%d",max);
+ maxStr = maxLimit;
+ }
+cgiMakeIntVarInRange(varName,initialVal,title,width,NULL,maxStr);
}
void cgiMakeDoubleVar(char *varName, double initialVal, int maxDigits)
/* Make a text control filled with initial floating-point value. */
@@ -1252,23 +1273,43 @@
void cgiMakeDoubleVarWithLimits(char *varName, double initialVal, char *title, int width, double min, double max)
{
char minLimit[20];
char maxLimit[20];
-safef(minLimit,sizeof(minLimit),"%g",min);
-safef(maxLimit,sizeof(maxLimit),"%g",max);
-cgiMakeDoubleVarInRange(varName,initialVal,title,width,minLimit,maxLimit);
+char *minStr=NULL;
+char *maxStr=NULL;
+if((int)min != NO_VALUE)
+ {
+ safef(minLimit,sizeof(minLimit),"%g",min);
+ minStr = minLimit;
+ }
+if((int)max != NO_VALUE)
+ {
+ safef(maxLimit,sizeof(maxLimit),"%g",max);
+ maxStr = maxLimit;
+ }
+cgiMakeDoubleVarInRange(varName,initialVal,title,width,minStr,maxStr);
}
void cgiMakeDoubleVarWithMin(char *varName, double initialVal, char *title, int width, double min)
{
char minLimit[20];
-safef(minLimit,sizeof(minLimit),"%g",min);
-cgiMakeDoubleVarInRange(varName,initialVal,title,width,minLimit,NULL);
+char *minStr=NULL;
+if((int)min != NO_VALUE)
+ {
+ safef(minLimit,sizeof(minLimit),"%g",min);
+ minStr = minLimit;
+ }
+cgiMakeDoubleVarInRange(varName,initialVal,title,width,minStr,NULL);
}
void cgiMakeDoubleVarWithMax(char *varName, double initialVal, char *title, int width, double max)
{
char maxLimit[20];
-safef(maxLimit,sizeof(maxLimit),"%g",max);
-cgiMakeDoubleVarInRange(varName,initialVal,title,width,NULL,maxLimit);
+char *maxStr=NULL;
+if((int)max != NO_VALUE)
+ {
+ safef(maxLimit,sizeof(maxLimit),"%g",max);
+ maxStr = maxLimit;
+ }
+cgiMakeDoubleVarInRange(varName,initialVal,title,width,NULL,maxStr);
}
void cgiMakeDropListClassWithStyleAndJavascript(char *name, char *menu[],
int menuSize, char *checked, char *class, char *style,char *javascript)