home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 488.lha / TCL_alpha2 / tcl.lzh / tcl / includes / tcla / header.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-05-04  |  1.2 KB  |  51 lines

  1. #ifndef TCLAHEADER_H
  2. #define TCLAHEADER_H
  3.  
  4. #include <tcla/menu.h>
  5. #include <tcla/window.h>
  6.  
  7. /* this is our header structure for various tcla apps stuff such as
  8.  * windowing and the event loop that we pass around as
  9.  * client data under the Tcl clientdata capability */
  10.  
  11. #define MAX_TCLA_WINDOWS 16
  12.  
  13. #define MAX_STRING_GADGET_SIZE 100
  14.  
  15. struct TclaHeader
  16. {
  17.     struct Node node;
  18.     struct Task *taskid;
  19.     struct List WindowList;
  20.     struct List FontList;
  21.     struct TclaWindow *CurrentTclaWindow;
  22.     long next_window_number;
  23.     long seed;
  24.  
  25.     struct List EventRoutineList;
  26.     short EventLoopRunning;
  27.     short panic_in_progress;
  28.  
  29.     short flags;
  30.  
  31.     /* stuff for communicating between Tcl programs */
  32.     struct MsgPort *MyRequestPort;
  33.     struct MsgPort *async_request_reply_port;
  34.     struct MsgPort *sync_request_reply_port;
  35.     struct AmigaTclMessage *request_message;
  36.  
  37.     char *progname;
  38.     char *tclportname;
  39.     BPTR output_file;    /* we Open "*" to get the current window as a file*/
  40.     int (*out_of_memory_routine)(long);
  41.     void (*cleanup_routine)(void);
  42.     void (*panic_routine)(char *);
  43.     char undo_buffer[MAX_STRING_GADGET_SIZE];
  44. };
  45.  
  46. #define HEADER_LOOP_INITIALIZED_FLAG 1
  47. #define DOING_WINDOWEVENTS_FLAG 2
  48. #define WINDOW_CLOSED_FLAG 4
  49.  
  50. #endif
  51.