home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 1995 March / SOFM_Mar1995.bin / pc / os2 / alphal / alpha.h < prev    next >
Text File  |  1995-01-27  |  28KB  |  532 lines

  1. /*********** Alpha C Program Include file (.H) ****************************/
  2. /*                                                                        */
  3. /*  The Alpha V2.3 include file defines symbolic constants used           */
  4. /*  in the Alpha1.C etc. and .RC files.                                   */
  5. /*                                                                        */
  6. /*  Lionel de Lambert - 28 Jul 1994 - IBM, Hursley                        */
  7. /*                                                                        */
  8. /**************************************************************************/
  9.  
  10. #pragma linkage (main,optlink)
  11. INT main( int argc, char *argv[] ); /* (VOID);                            */
  12.  
  13. extern VOID AbortAlpha(HWND hwndFrame,HWND hwndClient);
  14.  
  15. #define CLR_ORANGE    16
  16. #define CLR_PURPLE    17
  17. #define CLR_PALEGREEN 18
  18. #define CLR_PALEBLUE  19
  19. #define CLR_COLOUR1   20
  20. #define Num_Colours   21
  21.  
  22.  
  23. #define MSGBOXID    1001
  24.  
  25. #define ID_WINDOW   256
  26.  
  27. #define Max_record_size 256        /* also in ALpha3.asm                  */
  28.  
  29. #define ID_CHILD    257
  30.  
  31. #define IDHT_APPLICATION 258       /* Help table ID                       */
  32.  
  33. #define IDP_POINTER 260            /* pointer                             */
  34. #define IDP_POINTER_B 261          /* Box pointer                         */
  35.  
  36. #define ID_BALLOON   258           /* Bitmap for Toolbar balloon          */
  37. #define ID_HEADER   259            /* Bitmap header - Alpha               */
  38. #define ID_SMLHD    280            /* Bitmap small header - Alpha         */
  39. #define ID_NAME     279            /* Bitmap Lionel de Lambert            */
  40. #define ID_SNOWHITE 281            /* Bitmap Snow White                   */
  41. #define ID_BUTTON_B 282            /* Backout button                      */
  42. #define ID_BUTTON_I 260            /* Bitmap for Include button           */
  43. #define ID_BUTTON_NI 261           /* Bitmap for NOT Include button       */
  44. #define ID_BUTTON_C 262            /* Bitmap for cascade button           */
  45. #define ID_BUTTON_T 263            /* Bitmap for Tile  button             */
  46. #define ID_BUTTON_CL 264           /* Clipboard button bitmap             */
  47. #define ID_BUTTON_NO 265           /* Number button bitmap                */
  48. #define ID_BUTTON_R 266            /* Repeat button bitmap                */
  49. #define ID_BUTTON_S 267            /* Structure button bitmap             */
  50. #define ID_BUTTON_TB 268           /* Tab button bitmap                   */
  51. #define ID_BUTTON_NTB 272          /* Not Tab button bitmap               */
  52. #define ID_BUTTON_D 269            /* Delete button bitmap                */
  53. #define ID_BUTTON_X 270            /* XREF button bitmap                  */
  54. #define ID_BUTTON_CM 271       /* Comment suppression bitmap  button bitmap */
  55. #define ID_BUTTON_E 273            /* Edit button bitmap                  */
  56. #define ID_BUTTON_M 274            /* Modify/save file  button bitmap     */
  57. #define ID_BUTTON_CO 275           /* Compile button                      */
  58. #define ID_BUTTON_ER 276           /* Erase records button                */
  59. #define ID_BUTTON_P 277            /* Paste button                        */
  60. #define ID_BUTTON_CT 278           /* Cut to Clipboard records button     */
  61. #define ID_BUTTON_V 283            /* Clear select area - vacuum          */
  62. #define ID_BUTTON_BX 284           /* toggle Box mode select              */
  63.  
  64. #define ID_FILE     100
  65.  
  66. #define ID_ABOUT    200
  67. #define ID_ABOUT_NM 206            /* Name                                */
  68. #define ID_ABOUT_HD 207            /* Header Alpha                        */
  69.  
  70. #define ID_SAVEMSG_DLG 220         /* Save Dialog message                 */
  71. #define ID_SAVEMSG_HD  221
  72. #define ID_SAVEMSG_CAN 222
  73. #define ID_SAVEMSG_CON 223
  74. #define ID_SAVEMSG_FN  224         /* File name                           */
  75.  
  76. #define ID_COMMAND  300
  77.  
  78. #define ID_PRINT    750
  79.  
  80. #define ID_STRUCT   850
  81.  
  82. #define ID_SELECT   900
  83.  
  84. #define ID_CONFIGURE 1000
  85.  
  86. #define MID_TOOLBAR 1100           /* Menu Toolbar id                     */
  87.  
  88.  
  89. #define ID_OPTIONS  400
  90. #define ID_OPT_TAB  401
  91. #define ID_OPT_STMT 402
  92. #define ID_OPT_KEY  403
  93. #define ID_OPT_INCL 404
  94. #define ID_OPT_SCALE 405
  95. #define ID_OPT_TOOL 406
  96. #define ID_OPT_CONFT 407
  97. #define ID_OPT_BOX  408
  98.  
  99. #define ID_HELP     500 
  100. #define ID_HELP_ABOUT 501
  101. #define ID_HELP_HELP 502
  102. #define ID_HELP_EXT 503
  103.  
  104. #define ID_FONT     600
  105.  
  106. #define ID_COLOUR   700
  107.  
  108. #define ID_WND      800
  109. #define ID_WND_CAS  801
  110. #define ID_WND_TIL  802
  111. #define ID_WND_CLA  803
  112. #define ID_WND_SEL  804
  113. #define ID_WND_SEP  805
  114. #define ID_WND_C1   806            /* Child name                          */
  115. #define ID_WND_C2   807            /* Child name                          */
  116. #define ID_WND_C3   808            /* Child name                          */
  117. #define ID_WND_C4   809            /* Child name                          */
  118. #define ID_WND_C5   810            /* Child name                          */
  119. #define ID_WND_C6   811            /* Child name                          */
  120.  
  121. #define ID_EXITPROG 261
  122.  
  123. #define IDS_HELP    262
  124.  
  125.  
  126. #define ID_FILE_DLG  101
  127. #define ID_FILE_FLNM 102
  128. #define ID_FILE_DRV  103
  129. #define ID_FILE_FLE  105
  130. #define ID_FILE_DIR  106
  131. #define ID_FILE_ENT  109
  132. #define ID_FILE_CAN  110
  133. #define ID_FILE_OK   112
  134. #define ID_FILE_PRF  114
  135. #define ID_FILE_TRN  115
  136.  
  137. #define ID_COMMAND_DLG  301
  138. #define ID_COMMAND_CMD  302
  139. #define ID_COMMAND_LOC  303
  140. #define ID_COMMAND_CAN  304
  141. #define ID_COMMAND_NORM 309
  142. #define ID_COMMAND_CASE 305
  143. #define ID_COMMAND_COL1 306
  144. #define ID_COMMAND_GOTO 307
  145. #define ID_COMMAND_TXT  308
  146. #define ID_COMMAND_REP  310        /* Replace/find button                 */
  147. #define ID_COMMAND_REPTXT  311     /* Replace text  entry box             */
  148. #define ID_COMMAND_REP_TXT 312
  149.  
  150. #define ID_FONT_DLG    601
  151. #define ID_FONT_FACE   602
  152. #define ID_FONT_POINT  603
  153. #define ID_FONT_NORMAL 611
  154. #define ID_FONT_BOLD   604
  155. #define ID_FONT_ITALIC 605
  156. #define ID_FONT_CHRW   606
  157. #define ID_FONT_CHRH   607
  158. #define ID_FONT_ENT    608
  159. #define ID_FONT_CAN    609
  160. #define ID_FONT_SAMP   610
  161.  
  162. #define ID_COLOUR_DLG  701   
  163. #define ID_COLOUR_KEY  702   
  164. #define ID_COLOUR_COL  703   
  165. #define ID_COLOUR_ENT  704   
  166. #define ID_COLOUR_CAN  705
  167. #define ID_COLOUR_SR   706
  168. #define ID_COLOUR_SG   707
  169. #define ID_COLOUR_SB   708
  170. #define ID_COLOUR_SBTN 712
  171.  
  172. #define ID_PRINT_DLG   840
  173. #define ID_PRINT_LPT   841
  174. #define ID_PRINT_PRN   842
  175. #define ID_PRINT_CAN   843
  176. #define ID_PRINT_STA   844
  177. #define ID_PRINT_END   845
  178.  
  179. #define ID_STRUCT_DLG   851
  180. #define ID_STRUCT_LBX   852
  181. #define ID_STRUCT_PRN   853
  182. #define ID_STRUCT_CAN   854
  183. #define ID_STRUCT_ENT   855
  184.  
  185. #define ID_TOOL_DLG     870
  186. #define ID_TOOL_D       871
  187. #define ID_TOOL_S       872
  188. #define ID_TOOL_NO      873
  189. #define ID_TOOL_CLP     874
  190. #define ID_TOOL_C       875
  191. #define ID_TOOL_T       876
  192. #define ID_TOOL_TAB     877
  193. #define ID_TOOL_I       878
  194. #define ID_TOOL_R       879
  195. #define ID_TOOL_X       880
  196. #define ID_TOOL_CM      881
  197. #define ID_TOOL_E      882
  198. #define ID_TOOL_M      883
  199. #define ID_TOOL_CO     884
  200. #define ID_TOOL_ER     885
  201. #define ID_TOOL_P      886
  202. #define ID_TOOL_CT     887
  203. #define ID_TOOL_B      888            /* "Backout" button                */
  204. #define ID_TOOL_V      889            /* "Vacuum" button - clear select  */
  205. #define ID_TOOL_BX     890            /* Toggle Box mode select          */
  206.  
  207. #define ID_SEL_LST     901
  208. #define ID_SEL_SEL     902
  209. #define ID_SEL_CAN     903
  210.  
  211. #define ID_XREF_DLG     950
  212. #define ID_XREF_LBX     951
  213. #define ID_XREF_CAN     952
  214. #define ID_XREF_ENT     953
  215.  
  216. /* #define no_tool_dialog 1        /* don't use  a standard dislog        */
  217.  
  218. #define Toolbar_Numb 20            /* Number of buttons available         */
  219. #define Toolbarsize  16            /* the size of a buttton in the Tool  bar */
  220.  
  221. /* #ifdef  no_tool_dialog          /* skip defines for std. window toolbar*/
  222. #define ID_CONFT_DLG     970       /* Configure Tool bar dialog           */
  223. #define ID_CONFT_CNF     971       /* Configure Tool bar Configure button */
  224. #define ID_CONFT_CAN     972       /* Configure Tool bar Cancel button    */
  225. #define ID_CONFT_BTN     973       /* Configure Tool bar button list box  */
  226. #define ID_CONFT_TOL     974       /* Configure Tool bar Tool bar list box */
  227. #define ID_CONFT_ENT     975       /* Configure Tool bar size - entry box */
  228. #define ID_CONFT_VRT     976       /* Configure Tool bar vertical Radio button*/
  229. #define ID_CONFT_HRZ     977       /* Configure Tool bar Horizontal Radio button */
  230. #define ID_CONFT_ADD     978       /* Configure Tool bar Add button       */
  231. #define ID_CONFT_DEL     979       /* Configure Tool bar Delete button    */
  232. #define ID_CONFT_MENU    980       /* Configure Tool bar in menu - radio button */
  233. /* #endif                          /*                                     */
  234.  
  235. #define ID_NOTEBK_DLG  1100        /* Notebook definitions                */
  236. #define ID_NOTEBK_CNT  1101        /* Notebook control                    */
  237.  
  238. #define ID_EDIT_D        1200      /* Edit Dialogue box                   */
  239. #define ID_EDIT_M        1201      /* Edit Modify button                  */
  240. #define ID_EDIT_C        1202      /* Edit Cancel button                  */
  241. #define ID_EDIT_U        1203      /* Edit Undo Button                    */
  242. #define ID_EDIT_E        1204      /* Edit Multiline entry                */
  243. #define ID_EDIT_SCL      1205      /* Edit SCale text                     */
  244. #define ID_EDIT_MOUSE    1206      /* Mouse coordinate button             */
  245. #define ID_EDIT_CURSOR   1207      /* Cursor coordinate button            */
  246.  
  247. #define ID_SAVE_DLG      1250      /* Save file dialogue                  */
  248. #define ID_SAVE_ENT      1251      /* Save file dialogue - Entry box      */
  249. #define ID_SAVE_CAN      1252      /* Save file dialogue - Cancel button  */
  250. #define ID_SAVE_SVE      1253      /* Save file dialogue - Save button    */
  251.  
  252.  
  253. #define ID_COMP_DLG      1300      /* Compile  dialogue -                 */
  254. #define ID_COMP_EXE      1301      /* Compile  dialogue - Execute button  */
  255. #define ID_COMP_CAN      1302      /* Compile  dialogue - Cancel button   */
  256. #define ID_COMP_CMD      1303      /* Compile  dialogue - Command entry   */
  257. #define ID_COMP_FLE      1304      /* Compile  dialogue -  File entry     */
  258. #define ID_COMP_RC       1305      /* Compile  dialogue -  return code    */
  259. #define ID_COMP_MLE      1306      /* Compile  dialogue -  MLE - Output   */
  260.  
  261. #define ID_ABOUT_OK    204
  262.  
  263.  
  264. #define Max_elm        1000        /* maximum No. elements in structure blk.*/
  265. #define forward            0       /* direction for Find_term             */
  266. #define backward           1       /* direction for Find_term             */
  267. #define Str_max_nm      24         /* maximum name length for structure   */
  268. #define Str_nm_entr        2       /* number of entries in name           */
  269. #define Str_co_entr (Str_max_nm/4)+ Str_nm_entr  /* number of entries in structure continuation*/
  270. #define Max_modify_rec 64          /* Maximum No. records in modify block */
  271.  
  272. struct Toolbar_data {
  273.       LONG ID;                     /* Menu id                             */
  274.       LONG Button_ID;              /* Bitmap id                           */
  275.       HWND Button;                 /* Button window handle                */
  276.       HWND Bhwnd;                  /* button bit map handle               */
  277.       char H_data[24];
  278.      };
  279.  
  280. struct rec_elm {                   /* record element - see ALPHA3.ASM     */
  281.                  char *rec;        /* address of record                   */
  282.                  long length;      /* Length of record                    */
  283.                  unsigned Modified :1; /* pointer to Modification entry   */
  284.                };                  /* the length will be 12 bytes         */
  285.  
  286. #define records_prefix 12          /* length of prefix part of block      */
  287. struct records {            /* record pointer block - see ALPHA3.ASM      */
  288.                  struct records *next;  /* next record block              */
  289.                  int    Max_elemt; /* Maximum No. elements in block       */
  290.                  long   No_elm;    /* number of elements                  */
  291.                  struct rec_elm record_elm[20000];
  292.                };
  293.  
  294. struct Recd_elmt {                 /* Update record element               */
  295.                   int length;      /* length of record                    */
  296.                   char rec[Max_record_size]; /* new record                */
  297.                  };
  298.  
  299. struct Modifyblk {                 /* Update record block                 */
  300.                   struct Modifyblk *nxt; /* next modification block       */
  301.                   int Max_rec;     /* maximum No. records in block        */
  302.                   int No_rec;      /* Actual No. records in block         */
  303.                   struct Recd_elmt entry[Max_modify_rec]; /* record entries */
  304.                  };
  305.  
  306. struct Label_flgs {                /* flags for label entry etc.          */
  307.                     unsigned flcn : 1; /* continuation entry              */
  308.                     unsigned flse : 1; /* procedure entry                 */
  309.                     unsigned flsc : 1; /* procedure call                  */
  310.                     unsigned flsd : 1; /* label defined here              */
  311.  
  312.                   };
  313.  
  314. struct Label_state {               /* label statement number entry        */
  315.                     short int stmtn;  /* statement number                 */
  316.                     struct Label_flgs flag; /* entry flags                */
  317.                    };
  318.  
  319. union label_nm {
  320.              char name[Str_max_nm];    /* label name                      */
  321.              struct Label_state stmt[Str_max_nm/4]; /* statement number & flags */
  322.             };
  323.  
  324. struct Label_ent {                 /* label entry                         */
  325.                  struct Label_con *cont; /* pointer to continuation       */
  326.                  int nxfr;         /* next free index                     */
  327.                  struct Label_flgs flag; /* entry flags                   */
  328.                  short int naml;    /* name length                        */
  329.                  union label_nm statemnt;
  330.                  struct Label_state stmtc[Str_nm_entr]; /* statement number & flags */
  331.                  };
  332.  
  333. struct Label_con {                 /* label continuation                  */
  334.                  struct Label_con *cont; /* pointer to continuation       */
  335.                  int nxfr;         /* next free index                     */
  336.                  struct Label_flgs flag; /* entry flags                   */
  337.                  short int naml;    /* name length                        */
  338.                  struct Label_state stmt[Str_co_entr]; /* record statement # entries*/
  339.                  };
  340.  
  341. struct Label_pt {                  /* label block                         */
  342.                  struct Label_pt *nxt; /* next block or 0                 */
  343.                  int Num;        /* number of label entries in this block */
  344.                  struct Label_ent entr[Max_elm]; /* label entries         */
  345.                 };
  346.  
  347. struct child   {
  348.                  HWND hwnd;        /* Client widow handle                 */
  349.                  HWND Fhwnd;       /* frame handle                        */
  350.                  HFILE Fhand;      /* file handle                         */
  351.                  char *buffer;     /* pointer to file buffer              */
  352.                  int lan;          /* language A37=1.ASM=2,etc.           */
  353.                  long file_size;   /* number of characters in file        */
  354.                  int rec_num;      /* current record number               */
  355.                  int rec_last;     /* last rec. # used for Window         */
  356.                  int Offset;       /* horizontal offset                   */
  357.                  int tot_rec;      /* total number of records in file     */
  358.                  int ySel_s;       /* Rec# start of Select area           */
  359.                  int ySel_e;       /* Rec# end of Select area             */
  360.                  int xSel_s;       /* Chr# start of select area           */
  361.                  int xSel_e;       /* Chr# end of select area             */
  362.                  int xMouse_l;     /* Last Mouse x coord.                 */
  363.                  int yMouse_l;     /* Last Mouse y coord.                 */
  364.                  int xEnd;         /* character end of Mouse button1 area */
  365.                  int Hide_s;       /* Rec# start of hide area             */
  366.                  int Hide_e;       /* Rec# end of hide area               */
  367.                  int Pair_s;       /* start of BEGIN/END Pair area        */
  368.                  int Pair_e;       /* end of Pair area                    */
  369.                  int find_s_x;     /* x coord. of start of BEGIN pair     */
  370.                  int menu_id;      /* window menu id of child if used     */
  371.                  int find_s_y;     /* y coord. of start of BEGIN pair - offset*/
  372.                  int Mark[10];     /* marker line numbers                 */
  373.                  struct records *rec_array; /* pointer to records array   */
  374.                  struct Label_pt *structure; /* pointer to structure entries*/
  375.                  struct Modifyblk *Modblk; /* pointer to modification block */
  376.                  unsigned Expand_child : 1;  /* set if expand window      */
  377.                  unsigned Select : 1;  /* set if button1 drag area        */
  378.                  unsigned Hide : 1;  /* set if hiding records             */
  379.                  unsigned Pair : 1;  /* set if PAIRing records            */
  380.                  unsigned erase_back :1; /* set if background to be erased */
  381.                  unsigned Button1_down :1; /* Mouse button 1 down         */
  382.                  unsigned Cmt_supr :1; /* Set if comment suppression      */
  383.                  unsigned Save :1; /* Set if Save is required             */
  384.                  unsigned Insert :1; /* Set if Insert mode - edit         */
  385.                };
  386.  
  387. #define sizeof_lex 256
  388. struct lex {                       /* language table entry                */
  389.            int lan;                /* language 1=A37, 2=ASM, 3=PAS, 4=PLS */
  390.            int len;                /* length of key word                  */
  391.            long col;               /* colour                              */
  392.            long backcol;           /* background colour                   */
  393.            unsigned underline :1;  /* use underline font                  */
  394.            char str[12];           /* key word                            */
  395.            };
  396.  
  397.  
  398. struct stat {
  399.             unsigned tile :1;      /* =1 if tile was last window operation */
  400.             };
  401.  
  402.  
  403. struct OPR_Flg {                   /* operator table flags                */
  404.                 unsigned OPR_F_P :1; /* procedure                         */
  405.                 unsigned OPR_F_C :1; /* call                              */
  406.                 unsigned OPR_F_L :1; /* scan left                         */
  407.                 unsigned OPR_F_R :1; /* scan right                        */
  408.                 unsigned OPR_F_Co :1; /* label followed by colon          */
  409.                 unsigned OPR_F_2 :1; /* second parameteer                 */
  410.                };
  411.  
  412.                                    /* operator table                      */
  413. struct OPR {
  414.             short int Lang;        /* Language or -1                      */
  415.             struct OPR_Flg OFLAG;  /* Flags                               */
  416.             short int Nm_len;      /* name length                         */
  417.             char  Nm[12];          /* operator name                       */
  418.            };
  419.  
  420. #define No_Cmd 3                   /* Number of commands                  */
  421. #define Cmd_size 128               /* maximum length of commands          */
  422.  
  423. struct Command {                   /* Command array for compile           */
  424.              char Cmd[No_Cmd][Cmd_size]; /* command strings               */
  425.            };
  426.  
  427. struct Backout {                   /* Structure for backout records       */
  428.              int recno;            /* record No. after which to insert    */
  429.              char *recds;          /* pointer to records                  */
  430.              int len;              /* Length of storage                   */
  431.            };
  432.  
  433. #ifdef incextern
  434. extern HAB hab;                    /* PM anchor block                     */
  435. extern PSZ  pszErrMsg;
  436. extern PSZ  ResultPointer;         /* pointer to environment string       */
  437. extern HWND ToolbarHhwnd;          /* Toolbar help window                 */
  438. extern HWND hwndToolM ;            /* Tool bar  handle in menu            */
  439. extern HWND hwndMenuBar;           /* Menu bar window handle              */
  440. extern HWND Notebook;              /* Notebook handles                    */
  441. extern HWND NoteFrame;
  442. extern HWND hwndClient;            /* Client area window handle           */
  443. extern HWND hwndFrame;             /* Frame window handle                 */
  444. extern HWND Ahwnd;                 /* latest active window handle         */
  445. extern HWND hwndTool ;             /* Tool bar  handle                    */
  446. extern HWND NoteFrame;
  447. extern PFNWP pOldToolMProc ;       /* Menu Tool bar old procedure         */
  448. extern PFNWP pOldMenuProc;         /* Old Menu bar procedure              */
  449. extern PFNWP pfnwpOldCFrameProc;   /* Old child frame procedure           */
  450. extern PFNWP pfnwpOldFrameProc;    /* Old main fram procedure             */
  451. extern SWP swp_Tool ;              /* Tool bar position                   */
  452. extern HPOINTER pointer;           /* pointer handle                      */
  453. extern HPOINTER pointer_b;         /* Box pointer handle                  */
  454. extern QMSG qmsg;                  /* Message queue for everyone          */
  455. extern LONG Main_x;                /* set main window x coord.            */
  456. extern LONG Main_y;                /* set main window y coord.            */
  457. extern LONG Main_h;                /* set main window height              */
  458. extern LONG Main_w;                /* main window width                   */
  459. extern LONG Child_w;               /* Child window width                  */
  460. extern LONG Child_h;               /* Child window height                 */    
  461. extern LONG Child_x;               /* Child window x position             */ 
  462. extern LONG Child_y;               /* Child window y position             */ 
  463. extern LONG Child_i;               /* Child window increment position     */ 
  464. extern USHORT ERR_INV_PARM;        /* invalid parameter passed            */
  465. extern USHORT key;                 /* look for keywords                   */
  466. extern USHORT tab;                 /* don't expand tabs                   */   
  467. extern USHORT stmt_No;             /* don't display statement No.         */
  468. extern USHORT Scale;               /* display grid lines                  */
  469. extern USHORT Incl;                /* don't use Include files in Exp.     */
  470. extern USHORT Tool_bar ;           /* Display tool bar                    */
  471. extern USHORT Tool_init ;          /* Display tool bar initially          */
  472. extern USHORT Tool_menu;           /* Display tool bar as menu to main win*/
  473. extern USHORT comm;                /* command string to be analysed       */
  474. /*extern USHORT case_sen;          /* case sensitive locate               */
  475. extern USHORT Locate_Case;         /* Case sensitive locate               */
  476. extern USHORT Locate_Col1;         /* Case sensitive locate in Column 1   */
  477. extern USHORT Locate_Line;         /* Locate line number                  */
  478. extern USHORT Box;                 /* Box mode select                     */
  479. extern int comm_len;               /* length of command string            */
  480. extern USHORT ERR_File;            /* can not allocate file               */
  481. extern char Comment_start[12];     /* start of comment characters         */
  482. extern char Comment_end[12];       /* end of comment characters           */
  483. extern char comm_str[32];          /* command string                      */     
  484. extern int High_len;               /* length of Highlight string          */
  485. extern char High_str[32];          /* Highlight string                    */
  486. extern int Locate_len;             /* length of Locate string             */    
  487. extern char Locate_str[32];        /* Locate string                       */
  488. extern int No_Children;            /* number of child windows             */    
  489. extern struct child children[16];  /* array of child data                 */
  490. extern FATTRS fat;
  491. extern FONTMETRICS fm;
  492. extern FIXED Chrh;                 /* character height                    */
  493. extern FIXED Chrw;                 /* character width                     */    
  494. extern FIXED Indent;               /* Record indent from Left of window   */
  495. extern COLOR Text_colour;          /* text colour                         */
  496. extern COLOR High_colour;          /* highlight  colour                   */    
  497. extern COLOR Cmmt_colour;          /* comment colour                      */   
  498. extern COLOR Locate_colour;        /* Locate colour                       */   
  499. extern COLOR Back_colour;          /* background colour                   */ 
  500. extern COLOR Branch_colour;        /* Branch colour                       */
  501. extern COLOR Grid_colour;          /* Grid colour                         */
  502. extern COLOR Select_colour;        /* Mouse drag area colour              */
  503. extern COLOR Balloon_colour;       /* Tool bar help ballon background     */
  504. extern COLOR Cmt_back_colour;      /* comment background  colour          */
  505. extern COLOR Colour_tab[Num_Colours+1]; /* table of colours               */
  506. extern int lex_size;               /* No. entries in lex array            */
  507. extern int Tool_bar_sze;           /* size of Tool bar button             */
  508. extern struct lex lex_array[256];  /* language array                      */
  509. extern char File_type[64];         /* "A37,ASM,PAS,PLS,C,"                */
  510. extern char Transfer_pgm[8];       /* trnsfer programme                   */
  511. extern struct OPR Lan_key[64];     /* operator table                      */
  512. extern char C_keys[64];            /* C precedent keys                    */
  513. extern LONG alTable[Num_Colours];  /* assume 20 entries in Colour table   */
  514. extern SIZEF sizef;                /* for character Box                   */
  515. extern SIZEL Def_Char_Box;         /* Default Character Box               */
  516. extern LONG Tile_vect[32];         /* x,y split of main window for tiling */
  517. extern struct stat status;         /* programme status                    */
  518. extern struct Backout Back_out;    /* Backout structure                   */ 
  519.  
  520.                                    /* Address of parse exit procedure     */
  521. /* extern int (*Alpha_parse_exit) ( HWND hps, struct child pchild, char *ptr,
  522.                  int l, char *ptr0,
  523.                  int l0, int cmt_start, int cmt_end, int recno,
  524.                  POINTL pAPTL[Max_record_size] );  /*                     */
  525.  
  526. extern PFN Alpha_parse_exit_ptr;
  527.  
  528. #endif
  529.  
  530. /* end of file - ALPHA.H                                                  */
  531.  
  532.