/* methodcmd.swg : Tcl method invocation */ static int Tcl@CLASS@MethodCmd(ClientData clientData, Tcl_Interp *interp, int argc, char **argv) { int (*cmd)(ClientData, Tcl_Interp *, int, char **) = 0; char temp[256], *oldarg; int rcode; int length; char c; if (argc < 2) { Tcl_SetResult(interp,"@CLASS@ methods : { @METHODLIST@ }",TCL_STATIC); return TCL_ERROR; } c = argv[1][0]; length = strlen(argv[1]); SWIG_MakePtr(temp,(void *) clientData, "@CLASSMANGLE@"); if (0); @METHODS@ else if ((c == 'c') && (strncmp(argv[1],"configure",length) == 0) && (length >= 2)) { int i = 2; cmd = 0; while (i+1 < argc) { @CONFIGMETHODS@ if (cmd) { oldarg = argv[i]; argv[i] = &temp[0]; rcode = (*cmd)(clientData,interp,3,&argv[i-1]); argv[i] = oldarg; if (rcode == TCL_ERROR) return rcode; cmd = 0; } else { Tcl_SetResult(interp,"Invalid configure option. Must be { @CONFIGLIST@ }",TCL_STATIC); return TCL_ERROR; } i+=2; } if ((i < argc) || (i == 2)) { Tcl_SetResult(interp,"{ @CONFIGLIST@ }",TCL_STATIC); return TCL_ERROR; } return TCL_OK; } else if ((c == 'c') && (strncmp(argv[1],"cget",length) == 0) && (length >= 2)) { if (argc == 3) { if (0) {} @CGETMETHODS@ else if (strcmp(argv[2],"-this") == 0) { SWIG_MakePtr(interp->result,(void *) clientData, "@CLASSMANGLE@"); return TCL_OK; } if (cmd) { oldarg = argv[2]; argv[2] = &temp[0]; rcode = (*cmd)(clientData,interp,argc-1,&argv[1]); argv[2] = oldarg; return rcode; } else { Tcl_SetResult(interp,"Invalid cget option. Must be { -this @CGETLIST@ }",TCL_STATIC); return TCL_ERROR; } } else { Tcl_SetResult(interp,"{ -this @CGETLIST@ }", TCL_STATIC); return TCL_ERROR; } } if (!cmd) { Tcl_SetResult(interp,"Invalid Method. Must be { @METHODLIST@}",TCL_STATIC); return TCL_ERROR; } oldarg = argv[1]; argv[1] = &temp[0]; rcode = (*cmd)(clientData,interp,argc,argv); argv[1] = oldarg; return rcode; }