Subversion Repositories Vertical

Rev

Rev 2 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. <html>
  2. <head>
  3. <title>Mktclapp: Quick Reference</title>
  4. </head>
  5. <body bgcolor=white>
  6. <h1 align=center>Quick Reference for Mktclapp</h1>
  7.  
  8. To create a new Tcl command named <b>abcdef</b> in C code, do this:
  9.  
  10. <blockquote><pre>
  11. <b>int ET_COMMAND_abcdef(ET_TCLARGS){
  12.    ...
  13. }
  14. </b></pre></blockquote>
  15.  
  16. The <b>ET_TCLARGS</b> macro declares four parameters:<p>
  17. <ul>
  18. <li> <b>clientData</b>.  Always NULL for commands generated by mktclapp.
  19. <li> <b>interp</b>.  A pointer to the Tcl interpreter.
  20. <li> <b>argc</b>.  Number of arguments to the Tcl command.
  21. <li> <b>argv</b>.  Value of each argument.
  22. </ul>
  23.  
  24. <p>
  25. The C implementation of Tcl commands must return one
  26. of the following integer values:
  27. <b>TCL_OK</b>,
  28. <b>TCL_ERROR</b>,
  29. <b>TCL_CONTINUE</b>,
  30. <b>TCL_BREAK</b>, or
  31. <b>TCL_RETURN</b>.
  32.  
  33. <p>
  34. To create a new Obj_Tcl command named <b>ghijkl</b> in C code, do this:
  35.  
  36. <blockquote><pre>
  37. <b>int ET_OBJCOMMAND_ghijkl(ET_OBJARGS){
  38.    ...
  39. }
  40. </b></pre></blockquote>
  41.  
  42. <p>
  43. The following extra C functions are available:
  44. <p>
  45. <ul>
  46. <li> int <b>Et_EvalF</b>(Tcl_Interp *interp, const char *zFormat, ...);
  47. <li> int <b>Et_GlobalEvalF</b>(Tcl_Interp *interp, const char *zFormat, ...);
  48. <li> int <b>Et_ResultF</b>(Tcl_Interp *interp, const char *zFormat, ...);
  49. <li> int <b>Et_DStringAppendF</b>(Tcl_DString *, const char *zFormat, ...);
  50. <li> char *<b>mprintf</b>(const char *zFormat, ...);
  51. <li> char *<b>vmprintf</b>(const char *zFormat, va_list);
  52. </ul>
  53.  
  54. <p>
  55. Global C variables:<p>
  56. <ul>
  57. <li> Tcl_Interp *<b>Et_Interp</b>;<p>
  58. </ul>
  59.  
  60. <p>
  61. Global Tcl variables:<p>
  62. <ul>
  63. <li> <b>Et_EvalTrace</b>;<p>
  64. </ul>
  65.  
  66. <p>
  67. Mktclapp will create suitable implementations of the following functions
  68. if you fail to do so yourself:<p>
  69. <ul>
  70. <li> int <b>main</b>(int argc, char **argv);
  71.  
  72. <li> int <b>Et_PreInit</b>(Tcl_Interp *interp);
  73. <li> int <b>Et_AppInit</b>(Tcl_Interp *interp);
  74. </ul>
  75. <p>
  76. If you make your own <b>main</b>, but sure it calls the routine
  77. <b>Et_Init</b>(argc,argv) at some point in order to create and
  78. initialize the Tcl interpreter.<p>
  79.  
  80. To run the graphical application builder, type
  81.  
  82. <blockquote>
  83. <b>wish xmktclapp.tcl</b>
  84. </blockquote>
  85.  
  86. To run from the command line (or from within a Makefile) enter
  87. "<b>mktclapp</b> <i>options...</i>"  For information on
  88. available options, type "<b>mktclapp -help</b>".
  89.  
  90. <p>
  91. See complete documentation on mktclapp at
  92. <a href="http://www.hwaci.com/sw/mktclapp/mktclapp.html">
  93. http://www.hwaci.com/sw/mktclapp/mktclapp.html</a>.
  94. </body>
  95. </html>
  96.