home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / sd386v50.zip / sd386src.zip / CUAMENU.H < prev    next >
Text File  |  1996-05-16  |  32KB  |  1,142 lines

  1. /*****************************************************************************/
  2. /* File:                                             IBM INTERNAL USE ONLY   */
  3. /*   cuamenu.h                                                               */
  4. /*                                                                           */
  5. /* Description:                                                              */
  6. /*                                                                           */
  7. /*   Cua Action bar related data.                                            */
  8. /*                                                                           */
  9. /*****************************************************************************/
  10. #define NUM_PULLDOWNS         9         /* on the menu bar                   */
  11.  
  12. #define PULLDOWN_FILE         0
  13. #define PULLDOWN_RUN          1
  14. #define PULLDOWN_BREAKPOINT   2
  15. #define PULLDOWN_SEARCH       3
  16. #define PULLDOWN_DATA         4
  17. #define PULLDOWN_VIEW         5
  18. #define PULLDOWN_SETTINGS     6
  19. #define PULLDOWN_MISC         7
  20. #define PULLDOWN_HELP         8
  21. #define PULLDOWN_NULL                   /* Don't ask me!!                    */
  22. #define PULLDOWN_RUN_CASCADE  10
  23. #define PULLDOWN_OBJ_SOURCE   11
  24. #define PULLDOWN_OBJ_FORMAT   12
  25. #define PULLDOWN_OBJ_DATA     13
  26.  
  27. /*****************************************************************************/
  28. /* File pulldown                                                             */
  29. /*  the following line goes back in after Browse File                        */
  30. /*     Browse MSH Log...\0\                                                  */
  31. /*                                                                           */
  32. /* note: you must redefine the bit mask of separators in the pulldown        */
  33. /*       structure if you change the number of entries in the FILE           */
  34. /*       pulldown.                                                           */
  35. /*                                                                           */
  36. /*****************************************************************************/
  37. #define FILE_PULLDOWN_ENTRIES  13       /* including separators              */
  38.  
  39. #define PULLDOWN_FILE_GETFUNCTION   0
  40. #define PULLDOWN_FILE_GETADDRESS    1
  41. #define PULLDOWN_FILE_GETFILE       2
  42. #define PULLDOWN_FILE_FINDFUNCTION  3
  43. #define PULLDOWN_FILE_FINDEXECLINE  4
  44. #define PULLDOWN_FILE_NULL          -
  45. #define PULLDOWN_FILE_NEXTFILE      6
  46. #define PULLDOWN_FILE_DROPFILE      7
  47. #define PULLDOWN_FILE_NULL          -
  48. #define PULLDOWN_FILE_BROWSE        9
  49. #define PULLDOWN_FILE_NULL          -
  50. #define PULLDOWN_FILE_RESTART      11
  51. #define PULLDOWN_FILE_QUIT         12
  52.  
  53. static UCHAR Pull1_Names[] =
  54. {
  55. "Get Function...\0\
  56. Get Address...\0\
  57. Get File...\0\
  58. Find Function\0\
  59. Find Exec Line\0\
  60. -\0\
  61. Next File\0\
  62. Drop File\0\
  63. -\0\
  64. Browse File...\0\
  65. -\0\
  66. Restart\0\
  67. Quit\0"
  68. };
  69.  
  70. /*static uchar Pull1_HotKeys[]   = "GETFX ND BM RQ"; */
  71. static UCHAR Pull1_HotKeys[FILE_PULLDOWN_ENTRIES+1] = "GETFX ND B RQ";
  72.  
  73. static ULONG Pull1_Help[FILE_PULLDOWN_ENTRIES] =
  74. {
  75.   HELP_PULL_GETFUNC,
  76.   HELP_PULL_GETADDR,
  77.   HELP_PULL_GETFILE,
  78.   HELP_PULL_FINDFUNC,
  79.   HELP_PULL_FINDXLINE,
  80.   NULL,
  81.   HELP_PULL_NEXTFILE,
  82.   HELP_PULL_DROPFILE,
  83.   NULL,
  84.   HELP_PULL_BROWSE,
  85. /*HELP_PULL_BROWSEMSH, */
  86.   NULL,
  87.   HELP_PULL_RESTART,
  88.   HELP_PULL_QUIT
  89. };
  90.  
  91. /*static UCHAR Pull1_SelPos[]    = { 0,0x1,0x2,0,0x6,0,0,0,0,0,0x7,0,0,0};*/
  92.  
  93. static UCHAR Pull1_SelPos[FILE_PULLDOWN_ENTRIES] =
  94. {
  95.   0,     /*GETFUNCTION */
  96.   0x1,   /*GETADDRESS  */
  97.   0x2,   /*GETFILE     */
  98.   0,     /*FINDFUNCTION*/
  99.   0x6,   /*FINDEXECLINE*/
  100.   0,     /*NULL        */
  101.   0,     /*NEXTFILE    */
  102.   0,     /*DROPFILE    */
  103.   0,     /*NULL        */
  104.   0,     /*BROWSE      */
  105.   0,     /*NULL        */
  106.   0,     /*RESTART     */
  107.   0      /*QUIT        */
  108. };
  109.  
  110. static UCHAR Pull1_FuncCodes[FILE_PULLDOWN_ENTRIES] =
  111. {
  112.   GETFUNCTION,
  113.   GETADDRESS,
  114.   GETFILE,
  115.   FINDFUNCTION,
  116.   FINDEXECLINE,
  117.   NULL,
  118.   NEXTFILE,
  119.   DROPFILE,
  120.   NULL,
  121.   BROWSE,
  122. /*BROWSEMSH, */
  123.   NULL,
  124.   RESTART,
  125.   QUIT
  126. };
  127.  
  128. /*static STRING Pull1_Accelkeys[14];*/
  129. static STRING Pull1_Accelkeys[FILE_PULLDOWN_ENTRIES];
  130.  
  131. PULLDOWN Pull1 =
  132. { 1,                                    /* row to start pulldown             */
  133.   0,                                    /* column to start pulldown          */
  134.   23,                                   /* width of pulldown box             */
  135.   FILE_PULLDOWN_ENTRIES,
  136.   0,                                    /* bit mask of entries not available */
  137.   Pull1_Names,                          /* list of labels concat together    */
  138.   Pull1_HotKeys,                        /* list of single char selections    */
  139.   Pull1_SelPos,                         /* Single char postions in selection */
  140.   Pull1_Help,                           /* list of help screens              */
  141.   Pull1_FuncCodes,                      /* function codes for each selection */
  142.   &Pull1_Accelkeys[0],                  /* Names of Accel Keys.              */
  143.   0x0520                                /* bit mask of separators in pulldown*/
  144. };                                      /* Pointer to cascaded pulldown.     */
  145.                                         /* -> screen save area.              */
  146.  
  147. /*****************************************************************************/
  148. /* Run pulldown                                                              */
  149. /*****************************************************************************/
  150. #define RUN_PULLDOWN_ENTRIES  11       /* including separators              */
  151.  
  152. #define PULLDOWN_RUN_RUN                   0
  153. #define PULLDOWN_RUN_SSTEP                 1
  154. #define PULLDOWN_RUN_SSTEPINTOFUNC         2
  155. #define PULLDOWN_RUN_RUNTOCURSOR           3
  156. #define PULLDOWN_RUN_NULL                  -
  157. #define PULLDOWN_RUN_RUNNOSWAP             5
  158. #define PULLDOWN_RUN_SSTEPNOSWAP           6
  159. #define PULLDOWN_RUN_SSTEPINTOFUNCNOSWAP   7
  160. #define PULLDOWN_RUN_RUNTOCURSORNOSWAP     8
  161. #define PULLDOWN_RUN_NULL                  -
  162. #define PULLDOWN_RUN_SETEXECLINE          10
  163.  
  164. /*****************************************************************************/
  165. /* Run pulldown cascade pulldown structures.                                 */
  166. /*---------------------------------------------------------------------------*/
  167. static UCHAR Pull21_Names[] =
  168. {
  169. "Swap\0\
  170. No Swap\0"
  171. };
  172.  
  173. static UCHAR Pull21_HotKeys[] = "SN";
  174.  
  175. static ULONG Pull21_Help[] =
  176. {
  177.  HELP_PULL_SWAP,
  178.  HELP_PULL_NOSWAP
  179. };
  180.  
  181. static UCHAR Pull21_SelPos[] = {0,0};
  182.  
  183. static STRING Pull21_Accelkeys[2];
  184.  
  185. PULLDOWN Pull21 =
  186. {
  187.  4,
  188.  26,
  189.  20,
  190.  2,
  191.  0,
  192.  Pull21_Names,
  193.  Pull21_HotKeys,
  194.  Pull21_SelPos,
  195.  Pull21_Help,
  196.  NULL,
  197.  &Pull21_Accelkeys[0]
  198. };
  199.  
  200. CAS_PULLDOWN RunOptions[RUN_PULLDOWN_ENTRIES] =
  201. {
  202.  {PULLDOWN_RUN_CASCADE, 0x0001},
  203.  {PULLDOWN_RUN_CASCADE, 0x0001},
  204.  {PULLDOWN_RUN_CASCADE, 0x0001},
  205.  {PULLDOWN_RUN_CASCADE, 0x0001},
  206.  {0,0},
  207.  {0,0},
  208.  {0,0},
  209.  {0,0},
  210.  {0,0},
  211.  {0,0},
  212.  {0,0}
  213. };
  214. /*---------------------------------------------------------------------------*/
  215.  
  216. /*****************************************************************************/
  217. /* Now, back to the Run pulldown itself.                                     */
  218. /*****************************************************************************/
  219. static UCHAR Pull2_Names[] =
  220. {
  221. "Run\0\
  222. Single Step\0\
  223. Step Into\0\
  224. Run To Cursor\0\
  225. -\0\
  226. Run              NoSwap\0\
  227. Single Step      NoSwap\0\
  228. Step Into        NoSwap\0\
  229. Run To Cursor    NoSwap\0\
  230. -\0\
  231. Set Exec Line\0"
  232. };
  233.  
  234. static UCHAR Pull2_HotKeys[RUN_PULLDOWN_ENTRIES+1] = "RSIC UNEO X";
  235.  
  236. static ULONG Pull2_Help[RUN_PULLDOWN_ENTRIES] =
  237. {
  238.  HELP_PULL_RUN,
  239.  HELP_PULL_SSTEP,
  240.  HELP_PULL_STEPINTO,
  241.  HELP_PULL_RUNCURSOR,
  242.  NULL,
  243.  HELP_PULL_RUNNOSWP,
  244.  HELP_PULL_SSTEPNOSWP,
  245.  HELP_PULL_STEPINTONOSWP,
  246.  HELP_PULL_RUNCURSORNOSWP,
  247.  NULL,
  248.  HELP_PULL_SETXLINE
  249. };
  250.  
  251. static UCHAR Pull2_SelPos[RUN_PULLDOWN_ENTRIES] =
  252. {
  253.  0,          /*RUN                  */
  254.  0,          /*SSTEP                */
  255.  0x5,        /*SSTEPINTOFUNC        */
  256.  0x7,        /*RUNTOCURSOR          */
  257.  0,          /*NULL                 */
  258.  0x1,        /*RUNNOSWAP            */
  259.  0x2,        /*SSTEPNOSWAP          */
  260.  0x2,        /*SSTEPINTOFUNCNOSWAP  */
  261.  0x5,        /*RUNTOCURSORNOSWAP    */
  262.  0,          /*NULL                 */
  263.  0x5         /*SETEXECLINE          */
  264. };
  265.  
  266. static UCHAR Pull2_FuncCodes[RUN_PULLDOWN_ENTRIES] =
  267. {
  268.  RUN,
  269.  SSTEP,
  270.  SSTEPINTOFUNC,
  271.  RUNTOCURSOR,
  272.  NULL,
  273.  RUNNOSWAP,
  274.  SSTEPNOSWAP,
  275.  SSTEPINTOFUNCNOSWAP,
  276.  RUNTOCURSORNOSWAP,
  277.  NULL,
  278.  SETEXECLINE
  279. };
  280.  
  281. static STRING Pull2_Accelkeys[RUN_PULLDOWN_ENTRIES];
  282.  
  283. PULLDOWN Pull2 =
  284. {
  285.  1,
  286.  6,
  287.  34,
  288.  RUN_PULLDOWN_ENTRIES,
  289.  0,
  290.  Pull2_Names,
  291.  Pull2_HotKeys,
  292.  Pull2_SelPos,
  293.  Pull2_Help,
  294.  Pull2_FuncCodes,
  295.  &Pull2_Accelkeys[0],
  296.  0x0210,
  297.  &RunOptions[0]
  298. };
  299.  
  300. /*****************************************************************************/
  301. /* Breakpoint pulldown.                                                      */
  302. /*****************************************************************************/
  303. #define BREAKPOINT_PULLDOWN_ENTRIES 14  /* including separators              */
  304.  
  305. #define PULLDOWN_BREAKPOINT_SETCLRBKP       0
  306. #define PULLDOWN_BREAKPOINT_SETCONDBKP      1
  307. #define PULLDOWN_BREAKPOINT_FUNCENTRY       2
  308. #define PULLDOWN_BREAKPOINT_ADDRESS         3
  309. #define PULLDOWN_BREAKPOINT_DEFERRED        4
  310. #define PULLDOWN_BREAKPOINT_ADDRLOAD        5
  311. #define PULLDOWN_BREAKPOINT_DLLLOAD         6
  312. #define PULLDOWN_BREAKPOINT_CLRBKPS         7
  313. #define PULLDOWN_BREAKPOINT_NULL            -
  314. #define PULLDOWN_BREAKPOINT_SAVEBKPS        9
  315. #define PULLDOWN_BREAKPOINT_RESTOREBKPS    10
  316. #define PULLDOWN_BREAKPOINT_EDITBKPS       11
  317. #define PULLDOWN_BREAKPOINT_NULL            -
  318. #define PULLDOWN_BREAKPOINT_HARDWAREREGS   13
  319.  
  320. static UCHAR Pull3_Names[] =
  321. {
  322. "Set/Clear on Cursor\0\
  323. Set Conditional on Cursor...\0\
  324. Set Function Name Break...\0\
  325. Set Address Break...\0\
  326. Set Deferred Break...\0\
  327. Set Address Load Break...\0\
  328. Set DLL Load Break...\0\
  329. Clear All Breaks\0\
  330. -\0\
  331. Save Breakpoint File\0\
  332. Restore Breakpoint File\0\
  333. Edit Breakpoint File\0\
  334. -\0\
  335. Hardware Debug Regs...\0"
  336. };
  337.  
  338. static UCHAR Pull3_HotKeys[BREAKPOINT_PULLDOWN_ENTRIES+1] = "SEFATLOC BRD H";
  339.  
  340. static ULONG Pull3_Help[BREAKPOINT_PULLDOWN_ENTRIES] =
  341. {
  342.  HELP_PULL_SETCLRBKP,
  343.  HELP_PULL_SETCONDBKP,
  344.  HELP_PULL_FUNCENTRY,
  345.  HELP_PULL_ADDRESS,
  346.  HELP_PULL_DEFERRED,
  347.  HELP_PULL_ADDRLOAD,
  348.  HELP_PULL_DLLLOAD,
  349.  HELP_PULL_CLRBKPS,
  350.  NULL,
  351.  HELP_PULL_SAVEBKPS,
  352.  HELP_PULL_RESTOREBKPS,
  353.  HELP_PULL_EDITBKPS,
  354.  NULL,
  355.  HELP_PULL_HARDWAREREGS
  356. };
  357.  
  358. static UCHAR Pull3_SelPos[BREAKPOINT_PULLDOWN_ENTRIES] =
  359. {
  360.  0,     /*SETCLEARBKPT         */
  361.  1,     /*SETCLEARCONDBKPT     */
  362.  4,     /*SETFUNCTIONBKPT      */
  363.  4,     /*SETADDRESSBKPT       */
  364.  2,     /*SETDEFERREDBKPT      */
  365.  12,    /*SETADDRLOADBKPT      */
  366.  9,     /*SETDLLLOADBKPT       */
  367.  0,     /*CLEARALLBKPTS        */
  368.  0,     /*NULL                 */
  369.  5,     /*SAVEBKPTS            */
  370.  0,     /*RESTOREBKPTS         */
  371.  1,     /*EDITBKPTS            */
  372.  0,     /*NULL                 */
  373.  0      /*SETWATCHPOINTS       */
  374. };
  375.  
  376. static UCHAR Pull3_FuncCodes[BREAKPOINT_PULLDOWN_ENTRIES] =
  377. {
  378.  SETCLEARBKPT,
  379.  SETCLEARCONDBKPT,
  380.  SETFUNCTIONBKPT,
  381.  SETADDRESSBKPT,
  382.  SETDEFERREDBKPT,
  383.  SETADDRLOADBKPT,
  384.  SETDLLLOADBKPT,
  385.  CLEARALLBKPTS,
  386.  NULL,
  387.  SAVEBKPTS,
  388.  RESTOREBKPTS,
  389.  EDITBKPTS,
  390.  NULL,
  391.  SETWATCHPOINTS
  392. };
  393.  
  394. static STRING Pull3_Accelkeys[BREAKPOINT_PULLDOWN_ENTRIES];
  395.  
  396. PULLDOWN Pull3 =
  397. {
  398.  1,                                     /* row to start pulldown             */
  399.  11,                                    /* column to start pulldown          */
  400.  37,                                    /* width of pulldown box             */
  401.  BREAKPOINT_PULLDOWN_ENTRIES,           /* # of entries in pulldown          */
  402.  0,                                     /* bit mask of entries not available */
  403.  Pull3_Names,                           /* list of labels concat together    */
  404.  Pull3_HotKeys,                         /* list of single char selections    */
  405.  Pull3_SelPos,                          /* Single char postions in selection */
  406.  Pull3_Help,                            /* list of help screens              */
  407.  Pull3_FuncCodes,                       /* function codes for each selection */
  408.  &Pull3_Accelkeys[0],                   /* Names of Accel Keys.              */
  409.  0x1100                                 /* bit mask of separators in pulldown*/
  410. };                                      /* Pointer to cascaded pulldown.     */
  411.                                         /* -> screen save area.              */
  412.  
  413. /*****************************************************************************/
  414. /* Search pulldown                                                           */
  415. /*****************************************************************************/
  416. #define SEARCH_PULLDOWN_ENTRIES 2       /* including separators              */
  417.  
  418. #define PULLDOWN_SEARCH_FIND            0
  419. #define PULLDOWN_SEARCH_REPEATFIND      1
  420.  
  421. static UCHAR Pull4_Names[] =
  422. {
  423. "Find...\0\
  424. RepeatFind\0"
  425. };
  426.  
  427. static UCHAR Pull4_HotKeys[SEARCH_PULLDOWN_ENTRIES+1] = "FR";
  428.  
  429. static ULONG Pull4_Help[SEARCH_PULLDOWN_ENTRIES] =
  430. {
  431.  HELP_PULL_FIND,
  432.  HELP_PULL_REPEATFIND
  433. };
  434.  
  435. static UCHAR Pull4_SelPos[SEARCH_PULLDOWN_ENTRIES] = {0,0};
  436.  
  437. static UCHAR Pull4_FuncCodes[SEARCH_PULLDOWN_ENTRIES] =
  438. {
  439.  FIND,
  440.  REPEATFIND
  441. };
  442.  
  443. static STRING Pull4_Accelkeys[SEARCH_PULLDOWN_ENTRIES];
  444.  
  445. PULLDOWN Pull4 =
  446. {
  447.  1,                                     /* row to start pulldown             */
  448.  24,                                    /* column to start pulldown          */
  449.  20,                                    /* width of pulldown box             */
  450.  SEARCH_PULLDOWN_ENTRIES,               /* # of entries in pulldown          */
  451.  0,                                     /* bit mask of entries not available */
  452.  Pull4_Names,                           /* list of labels concat together    */
  453.  Pull4_HotKeys,                         /* list of single char selections    */
  454.  Pull4_SelPos,                          /* Single char postions in selection */
  455.  Pull4_Help,                            /* list of help screens              */
  456.  Pull4_FuncCodes,                       /* function codes for each selection */
  457.  &Pull4_Accelkeys[0]                    /* Names of Accel Keys.              */
  458. };                                      /* bit mask of separators in pulldown*/
  459.                                         /* Pointer to cascaded pulldown.     */
  460.                                         /* -> screen save area.              */
  461.  
  462. /*****************************************************************************/
  463. /* Data pulldown                                                             */
  464. /*MshGet Var\0\    these go back in after expand var                         */
  465. /*MshPut Var\0\                                                              */
  466. /*****************************************************************************/
  467. #define DATA_PULLDOWN_ENTRIES 11
  468.  
  469. #define PULLDOWN_DATA_SHOWVAR         0
  470. #define PULLDOWN_DATA_SHOWVARPTSTO    1
  471. #define PULLDOWN_DATA_WATCHVAR        2
  472. #define PULLDOWN_DATA_WATCHVARPTSTO   3
  473. #define PULLDOWN_DATA_EXPANDVAR       4
  474. #define PULLDOWN_DATA_NULL            -
  475. #define PULLDOWN_DATA_EDITEXPRESSION  6
  476. #define PULLDOWN_DATA_EDITSTORAGE     7
  477. #define PULLDOWN_DATA_FORMATVAR       8
  478. #define PULLDOWN_DATA_REMOVEVAR       9
  479. #define PULLDOWN_DATA_INSERT         10
  480.  
  481. static UCHAR Pull5_Names[] =
  482. {
  483. "Show Var\0\
  484. Show Var->\0\
  485. Watch Var\0\
  486. Watch Var->\0\
  487. Expand Var\0\
  488. -\0\
  489. Edit Expression\0\
  490. Edit Storage\0\
  491. Format Var\0\
  492. Remove Var\0\
  493. Insert\0"
  494. };
  495.  
  496. /* static UCHAR Pull5_HotKeys[]   = "SVWAEGP XDORI"; */
  497. static UCHAR Pull5_HotKeys[DATA_PULLDOWN_ENTRIES+1]   = "SVWAE XDORI";
  498.  
  499. static ULONG Pull5_Help[DATA_PULLDOWN_ENTRIES] =
  500. {
  501.   HELP_PULL_SHOWVAR,
  502.   HELP_PULL_SHOWVARPTR,
  503.   HELP_PULL_WATCHVAR,
  504.   HELP_PULL_WATCHVARPTR,
  505.   HELP_PULL_EXPANDVAR,
  506. /*HELP_PULL_MSHGET,  */
  507. /*HELP_PULL_MSHPUT,  */
  508.   NULL,
  509.   HELP_PULL_EDITEXP,
  510.   HELP_PULL_EDITSTORAGE,
  511.   HELP_PULL_FORMATVAR,
  512.   HELP_PULL_REMOVEVAR,
  513.   HELP_PULL_INSERT
  514. };
  515.  
  516. static UCHAR Pull5_SelPos[DATA_PULLDOWN_ENTRIES] =
  517. {
  518.   0,      /*SHOWVAR,              */
  519.   0x5,    /*SHOWVARPTSTO,         */
  520.   0,      /*PUTVARINSTG,          */
  521.   0x1,    /*PUTVARPTSTOINSTG,     */
  522.   0,      /*EXPANDVAR,            */
  523. /*0x3,*/  /*MSHGET,               */
  524. /*0x3,*/  /*MSHPUT,               */
  525.   0,      /*NULL,                 */
  526.   0x6,    /*EDITFORMULA,          */
  527.   0x1,    /*TABRIGHT,             */
  528.   0x1,    /*FORMATVAR,            */
  529.   0,      /*DELETELINE,           */
  530.   0       /*INSERTLINE            */
  531. };
  532.  
  533. static UCHAR Pull5_FuncCodes[DATA_PULLDOWN_ENTRIES] =
  534. {
  535.   SHOWVAR,
  536.   SHOWVARPTSTO,
  537.   PUTVARINSTG,
  538.   PUTVARPTSTOINSTG,
  539.   EXPANDVAR,
  540. /*MSHGET,   */
  541. /*MSHPUT,   */
  542.   NULL,
  543.   EDITFORMULA,
  544.   TABRIGHT,
  545.   FORMATVAR,
  546.   DELETELINE,
  547.   INSERTLINE
  548. };
  549.  
  550. static STRING Pull5_Accelkeys[DATA_PULLDOWN_ENTRIES];
  551.  
  552. PULLDOWN Pull5 = { 1,                   /* row to start pulldown             */
  553.                    32,                  /* column to start pulldown          */
  554.                    27,                  /* width of pulldown box             */
  555.                    DATA_PULLDOWN_ENTRIES, /* # of entries in pulldown        */
  556.                    0,                   /* bit mask of entries not available */
  557.                    Pull5_Names,         /* list of labels concat together    */
  558.                    Pull5_HotKeys,       /* list of single char selections    */
  559.                    Pull5_SelPos,        /* Single char postions in selection */
  560.                    Pull5_Help,          /* list of help screens              */
  561.                    Pull5_FuncCodes,     /* function codes for each selection */
  562.                    &Pull5_Accelkeys[0], /* Names of Accel Keys.              */
  563.                    0x0020 };            /* bit mask of separators in pulldown*/
  564.                                         /* Pointer to cascaded pulldown.     */
  565.                                         /* -> screen save area.              */
  566.  
  567. /*****************************************************************************/
  568. /* View pulldown.                                                            */
  569. /*****************************************************************************/
  570. #define VIEW_PULLDOWN_ENTRIES 5
  571.  
  572. #define PULLDOWN_VIEW_SOURCE          0
  573. #define PULLDOWN_VIEW_ASSEMBLER       1
  574. #define PULLDOWN_VIEW_DATA            2
  575. #define PULLDOWN_VIEW_DATASHOWHIDE    3
  576. #define PULLDOWN_VIEW_TIMEDSHOWAPP    4
  577.  
  578. static UCHAR Pull6_Names[] =
  579. {
  580. "Source\0\
  581. Assembler\0\
  582. Data\0\
  583. Data Show/Hide\0\
  584. Timed Show App\0"
  585. };
  586.  
  587. static UCHAR Pull6_HotKeys[VIEW_PULLDOWN_ENTRIES+1] = "SADHT";
  588.  
  589. static ULONG Pull6_Help[VIEW_PULLDOWN_ENTRIES] =
  590. {
  591.  HELP_PULL_SOURCE,
  592.  HELP_PULL_ASSEMBLER,
  593.  HELP_PULL_DATA,
  594.  HELP_PULL_DATASHOW,
  595.  HELP_PULL_SHOWAPP
  596. };
  597.  
  598. static UCHAR Pull6_SelPos[VIEW_PULLDOWN_ENTRIES] =
  599. {
  600.  0,   /*SOURCE      */
  601.  0,   /*ASSEMBLER   */
  602.  0,   /*DATA        */
  603.  0xA, /*DATASHOWHIDE*/
  604.  0    /*SHOWAPP     */
  605. };
  606.  
  607. static UCHAR Pull6_FuncCodes[VIEW_PULLDOWN_ENTRIES] =
  608. {
  609.  TOGGLEASM,
  610.  TOGGLEASM,
  611.  TOGGLESTORAGE,
  612.  SHOWHIDESTORAGE,
  613.  TIMEDSHOWAPPWINDOW
  614. };
  615.  
  616. static STRING Pull6_Accelkeys[VIEW_PULLDOWN_ENTRIES];
  617.  
  618. PULLDOWN Pull6 =
  619. {
  620.  1,
  621.  38,
  622.  23,
  623.  VIEW_PULLDOWN_ENTRIES,
  624.  0,
  625.  Pull6_Names,
  626.  Pull6_HotKeys,
  627.  Pull6_SelPos,
  628.  Pull6_Help,
  629.  Pull6_FuncCodes,
  630.  &Pull6_Accelkeys[0]
  631. };
  632.  
  633. /*****************************************************************************/
  634. /* Settings pulldown.                                                        */
  635. /*****************************************************************************/
  636. #define SETTINGS_PULLDOWN_ENTRIES 5     /* including separators              */
  637.  
  638. #define PULLDOWN_SETTINGS_COLORS          0
  639. #define PULLDOWN_SETTINGS_EXCEPTIONS      1
  640. #define PULLDOWN_SETTINGS_ASSEMBLYSOURCE  2
  641. #define PULLDOWN_SETTINGS_MNEMONICS       3
  642. #define PULLDOWN_SETTINGS_TOGGLEMEMFNCS   4
  643.  
  644. static UCHAR Pull7_Names[] =
  645. {
  646. "Colors\0\
  647. Exceptions\0\
  648. Assembler ± Source\0\
  649. Mnemonics\0\
  650. ShowMemberFuncs\0"
  651. };
  652.  
  653. static UCHAR Pull7_HotKeys[SETTINGS_PULLDOWN_ENTRIES+1] = "CEAMS";
  654.  
  655. static ULONG Pull7_Help[SETTINGS_PULLDOWN_ENTRIES] =
  656. {
  657.  HELP_PULL_COLORS,
  658.  HELP_PULL_EXCEPTIONS,
  659.  HELP_PULL_ASSEMBLYSOURCE,
  660.  HELP_PULL_MNEMONICS,
  661.  HELP_PULL_TOGGLEMEMFNCS
  662. };
  663.  
  664. static UCHAR Pull7_SelPos[SETTINGS_PULLDOWN_ENTRIES] =
  665. {
  666.  0,   /*COLORS         */
  667.  0,   /*EXCEPTIONS     */
  668.  0,   /*ASSEMBLYSOURCE */
  669.  0,   /*MNEMONICS      */
  670.  0    /*MNEMONICS      */
  671. };
  672.  
  673. static UCHAR Pull7_FuncCodes[SETTINGS_PULLDOWN_ENTRIES] =
  674. {
  675.  SETCOLORS,
  676.  SETEXCEPTIONS,
  677.  TOGGLEASMVIEW,
  678.  TOGGLEDIS,
  679.  TOGGLEMEMFNCS
  680. };
  681.  
  682. static STRING Pull7_Accelkeys[SETTINGS_PULLDOWN_ENTRIES];
  683.  
  684. PULLDOWN Pull7 =
  685. {
  686.   1,
  687.   44,
  688.   30,
  689.   SETTINGS_PULLDOWN_ENTRIES,
  690.   0,
  691.   Pull7_Names,
  692.   Pull7_HotKeys,
  693.   Pull7_SelPos,
  694.   Pull7_Help,
  695.   Pull7_FuncCodes,
  696.   &Pull7_Accelkeys[0]
  697. };
  698.  
  699. /*****************************************************************************/
  700. /* Misc pulldown                                                             */
  701. /*****************************************************************************/
  702. #define MISC_PULLDOWN_ENTRIES 7         /* including separators              */
  703.  
  704. #define PULLDOWN_MISC_CALLSTACK       0
  705. #define PULLDOWN_MISC_PROCESSES       1
  706. #define PULLDOWN_MISC_THREADS         2
  707. #define PULLDOWN_MISC_DLLS            3
  708. #define PULLDOWN_MISC_REGS            4
  709. #define PULLDOWN_MISC_EDITREGS        5
  710. #define PULLDOWN_MISC_COPROCREGS      6
  711.  
  712. static UCHAR Pull8_Names[] =
  713. {
  714. "CallStack\0\
  715. Processes\0\
  716. Threads\0\
  717. Dlls\0\
  718. Registers\0\
  719. Edit Registers\0\
  720. Coprocessor Regs\0"
  721. };
  722.  
  723. static UCHAR Pull8_HotKeys[MISC_PULLDOWN_ENTRIES+1] = "CPTDREO";
  724.  
  725. static ULONG Pull8_Help[MISC_PULLDOWN_ENTRIES] =
  726. {
  727.  HELP_PULL_CALLSTACK,
  728.  HELP_PULL_PROCESSES,
  729.  HELP_PULL_THREADS,
  730.  HELP_PULL_DLLS,
  731.  HELP_PULL_REGS,
  732.  HELP_PULL_EDITREGS,
  733.  HELP_PULL_COPROCREGS
  734. };
  735.  
  736. static UCHAR Pull8_SelPos[MISC_PULLDOWN_ENTRIES] =
  737. {
  738.  0,    /*CALLSTACK  */
  739.  0,    /*PROCESSES  */
  740.  0,    /*THREADS    */
  741.  0,    /*DLLS       */
  742.  0,    /*REGS       */
  743.  0,    /*EDITREGS   */
  744.  1     /*COPROCREGS */
  745. };
  746.  
  747. static UCHAR Pull8_FuncCodes[MISC_PULLDOWN_ENTRIES] =
  748. {
  749.  SHOWCALLSTACK,
  750.  SHOWPROCESSES,
  751.  SHOWTHREADS,
  752.  SHOWDLLS,
  753.  REGISTERDISPLAY,
  754.  EDITREGISTERS,
  755.  COREGISTERDISPLAY
  756. };
  757.  
  758. static STRING Pull8_Accelkeys[MISC_PULLDOWN_ENTRIES];
  759.  
  760. PULLDOWN Pull8 =
  761. {
  762.  1,
  763.  53,
  764.  26,
  765.  MISC_PULLDOWN_ENTRIES,
  766.  0,
  767.  Pull8_Names,
  768.  Pull8_HotKeys,
  769.  Pull8_SelPos,
  770.  Pull8_Help,
  771.  Pull8_FuncCodes,
  772.  &Pull8_Accelkeys[0]
  773. };
  774.  
  775. /*****************************************************************************/
  776. /* Help pulldown                                                             */
  777. /*****************************************************************************/
  778. #define HELP_PULLDOWN_ENTRIES 2         /* including separators              */
  779.  
  780. #define PULLDOWN_HELP_GENHELP  0
  781. #define PULLDOWN_HELP_KEYS     1
  782.  
  783. static UCHAR Pull9_Names[] =
  784. {
  785. "General Help\0\
  786. Keys Help\0"
  787. };
  788.  
  789. static UCHAR Pull9_HotKeys[HELP_PULLDOWN_ENTRIES+1] = "GKM";
  790.  
  791. static ULONG Pull9_Help[HELP_PULLDOWN_ENTRIES] =
  792. {
  793.  HELP_PULL_GENHELP,
  794.  HELP_PULL_KEYS
  795. };
  796.  
  797. static UCHAR Pull9_SelPos[HELP_PULLDOWN_ENTRIES] =
  798. {
  799.  0,  /* GENHELP */
  800.  0   /* KEYS    */
  801. };
  802.  
  803. static UCHAR Pull9_FuncCodes[HELP_PULLDOWN_ENTRIES] =
  804. {
  805.  GENHELP,
  806.  FUNCKEYSHELP
  807. };
  808.  
  809. static STRING Pull9_Accelkeys[HELP_PULLDOWN_ENTRIES];
  810.  
  811. PULLDOWN Pull9 =
  812. {
  813.  1,
  814.  57,
  815.  21,
  816.  HELP_PULLDOWN_ENTRIES,
  817.  0,
  818.  Pull9_Names,
  819.  Pull9_HotKeys,
  820.  Pull9_SelPos,
  821.  Pull9_Help,
  822.  Pull9_FuncCodes,
  823.  &Pull9_Accelkeys[0]
  824. };
  825.  
  826. /*****************************************************************************/
  827. /* Data for Action Bar.                                                      */
  828. /*****************************************************************************/
  829. static UCHAR MenuNames[] =
  830. {
  831. "File\0\
  832. Run\0\
  833. Breakpoints\0\
  834. Search\0\
  835. Data\0\
  836. View\0\
  837. Settings\0\
  838. Misc\0\
  839. Help\0"
  840. };
  841.  
  842. static UCHAR  Menukeys[] = "frbsdvemh";
  843.  
  844. static uint   MenuCols[] = {1,1,1,1,1,1,2,1,1};
  845.  
  846. static UCHAR  Menuhids[] = {
  847.                              HELP_ABAR_FILE,
  848.                              HELP_ABAR_RUN,
  849.                              HELP_ABAR_BREAKPOINTS,
  850.                              HELP_ABAR_SEARCH,
  851.                              HELP_ABAR_DATA,
  852.                              HELP_ABAR_VIEW,
  853.                              HELP_ABAR_SETTINGS,
  854.                              HELP_ABAR_MISC,
  855.                              HELP_ABAR_HELP
  856.                            };
  857.  
  858. /*****************************************************************************/
  859. /* Object pulldown in Source/Data views.                                     */
  860. /*****************************************************************************/
  861. #define PULLDOWN_OBJ_SOURCE_ENTRIES 11  /* including separators              */
  862.  
  863. #define PULLDOWN_OBJ_SOURCE_SETCLRBKP    0
  864. #define PULLDOWN_OBJ_SOURCE_RUN          1
  865. #define PULLDOWN_OBJ_SOURCE_SSTEP        2
  866. #define PULLDOWN_OBJ_SOURCE_STEPINTO     3
  867. #define PULLDOWN_OBJ_SOURCE_RUNCURSOR    4
  868. #define PULLDOWN_OBJ_SOURCE_NULL         -
  869. #define PULLDOWN_OBJ_SOURCE_SHOWVAR      6
  870. #define PULLDOWN_OBJ_SOURCE_SHOWVARPTR   7
  871. #define PULLDOWN_OBJ_SOURCE_WATCHVAR     8
  872. #define PULLDOWN_OBJ_SOURCE_WATCHVARPTR  9
  873. #define PULLDOWN_OBJ_SOURCE_EXPANDVAR   10
  874.  
  875. static UCHAR PullObj1_Names[] =
  876. {
  877. "Set/Clear Break\0\
  878. Run\0\
  879. Single Step\0\
  880. Step Into\0\
  881. Run to Cursor\0\
  882. -\0\
  883. Show Var\0\
  884. Show Var->\0\
  885. Watch Var\0\
  886. Watch Var->\0\
  887. Expand Var\0"
  888. };
  889.  
  890. static UCHAR PullObj1_HotKeys[PULLDOWN_OBJ_SOURCE_ENTRIES+1] = "BRSIC VAWTE";
  891.  
  892. static ULONG PullObj1_Help[PULLDOWN_OBJ_SOURCE_ENTRIES] =
  893. {
  894.  HELP_PULL_SETCLRBKP,
  895.  HELP_PULL_RUN,
  896.  HELP_PULL_SSTEP,
  897.  HELP_PULL_STEPINTO,
  898.  HELP_PULL_RUNCURSOR,
  899.  NULL,
  900.  HELP_PULL_SHOWVAR,
  901.  HELP_PULL_SHOWVARPTR,
  902.  HELP_PULL_WATCHVAR,
  903.  HELP_PULL_WATCHVARPTR,
  904.  HELP_PULL_EXPANDVAR
  905. };
  906.  
  907. static UCHAR PullObj1_SelPos[PULLDOWN_OBJ_SOURCE_ENTRIES] =
  908. {
  909.  0xA,    /*SETCLEARBKPT          */
  910.  0,      /*RUN                   */
  911.  0,      /*SSTEP                 */
  912.  0x5,    /*SSTEPINTOFUNC         */
  913.  0x7,    /*RUNTOCURSOR           */
  914.  0,      /*NULL                  */
  915.  0x5,    /*SHOWVAR               */
  916.  0x6,    /*SHOWVARPTSTO          */
  917.  0,      /*PUTVARINSTG           */
  918.  0x2,    /*PUTVARPTSTOINSTG      */
  919.  0       /*EXPANDVAR             */
  920. };
  921.  
  922. static UCHAR PullObj1_FuncCodes[PULLDOWN_OBJ_SOURCE_ENTRIES] =
  923. {
  924.  SETCLEARBKPT,
  925.  RUN,
  926.  SSTEP,
  927.  SSTEPINTOFUNC,
  928.  RUNTOCURSOR,
  929.  NULL,
  930.  SHOWVAR,
  931.  SHOWVARPTSTO,
  932.  PUTVARINSTG,
  933.  PUTVARPTSTOINSTG,
  934.  EXPANDVAR
  935. };
  936.  
  937. PULLDOWN PullObj1 =
  938. {
  939.  1,
  940.  0,
  941.  23,
  942.  PULLDOWN_OBJ_SOURCE_ENTRIES,
  943.  0,
  944.  PullObj1_Names,
  945.  PullObj1_HotKeys,
  946.  PullObj1_SelPos,
  947.  PullObj1_Help,
  948.  PullObj1_FuncCodes,
  949.  NULL,
  950.  0x0020
  951. };
  952.  
  953. /*****************************************************************************/
  954. /* Variable format pulldown used in Data view.                               */
  955. /*****************************************************************************/
  956. #define PULLDOWN_OBJ_FORMAT_ENTRIES 12  /* including separators              */
  957.  
  958. #define PULLDOWN_OBJ_FORMAT_ANY          0
  959. #define PULLDOWN_OBJ_FORMAT_HEX          1
  960. #define PULLDOWN_OBJ_FORMAT_CHAR         2
  961. #define PULLDOWN_OBJ_FORMAT_INT          3
  962. #define PULLDOWN_OBJ_FORMAT_LONG         4
  963. #define PULLDOWN_OBJ_FORMAT_UCHAR        5
  964. #define PULLDOWN_OBJ_FORMAT_UINT         6
  965. #define PULLDOWN_OBJ_FORMAT_ULONG        7
  966. #define PULLDOWN_OBJ_FORMAT_FLOAT        8
  967. #define PULLDOWN_OBJ_FORMAT_DOUBLE       9
  968. #define PULLDOWN_OBJ_FORMAT_LDOUBLE     10
  969. #define PULLDOWN_OBJ_FORMAT_MENU        11
  970.  
  971. static UCHAR PullObj2_Names[] =
  972. {
  973. "?\0\
  974. Hex\0\
  975. Char\0\
  976. Short\0\
  977. Long\0\
  978. Uchar\0\
  979. Ushort\0\
  980. Ulong\0\
  981. Float\0\
  982. Double\0\
  983. Ldouble\0\
  984. \0________________________________\0\\0"
  985. };
  986.  
  987. static UCHAR PullObj2_HotKeys[PULLDOWN_OBJ_FORMAT_ENTRIES+1] = "?HCSLUONFDB.";
  988.  
  989. static ULONG PullObj2_Help[PULLDOWN_OBJ_FORMAT_ENTRIES] =
  990. {
  991.  HELP_PULL_ANY,
  992.  HELP_PULL_HEX,
  993.  HELP_PULL_CHAR,
  994.  HELP_PULL_INT,
  995.  HELP_PULL_LONG,
  996.  HELP_PULL_UCHAR,
  997.  HELP_PULL_UINT,
  998.  HELP_PULL_ULONG,
  999.  HELP_PULL_FLOAT,
  1000.  HELP_PULL_DOUBLE,
  1001.  HELP_PULL_LDOUBLE,
  1002.  HELP_PULL_MENU
  1003. };
  1004.  
  1005. static UCHAR PullObj2_SelPos[PULLDOWN_OBJ_FORMAT_ENTRIES] =
  1006. {
  1007.  0,     /*ANY         */
  1008.  0,     /*HEX         */
  1009.  0,     /*CHAR        */
  1010.  0,     /*INT         */
  1011.  0,     /*LONG        */
  1012.  0,     /*UCHAR       */
  1013.  3,     /*UINT        */
  1014.  3,     /*ULONG       */
  1015.  0,     /*FLOAT       */
  1016.  0,     /*DOUBLE      */
  1017.  4      /*LDOUBLE     */
  1018. };      /*MENU        */
  1019.  
  1020. static UCHAR PullObj2_FuncCodes[PULLDOWN_OBJ_FORMAT_ENTRIES] =
  1021. {
  1022.  1,
  1023.  2,
  1024.  3,
  1025.  4,
  1026.  5,
  1027.  6,
  1028.  7,
  1029.  8,
  1030.  9,
  1031.  10,
  1032.  11,
  1033.  12
  1034. };
  1035.  
  1036. PULLDOWN PullObj2 =
  1037. {
  1038.  11,
  1039.  35,
  1040.  11,
  1041.  PULLDOWN_OBJ_FORMAT_ENTRIES,
  1042.  0,
  1043.  PullObj2_Names,
  1044.  PullObj2_HotKeys,
  1045.  PullObj2_SelPos,
  1046.  PullObj2_Help,
  1047.  PullObj2_FuncCodes,
  1048.  NULL,
  1049.  0x0000
  1050. };
  1051.  
  1052. /*****************************************************************************/
  1053. /* Date view object pulldown                                                 */
  1054. /*****************************************************************************/
  1055. #define PULLDOWN_OBJ_DATA_ENTRIES 6     /* including separators              */
  1056.  
  1057. #define PULLDOWN_OBJ_DATA_EXPANDVAR    0
  1058. #define PULLDOWN_OBJ_DATA_EDITEXP      1
  1059. #define PULLDOWN_OBJ_DATA_EDITSTORAGE  2
  1060. #define PULLDOWN_OBJ_DATA_FORMATVAR    3
  1061. #define PULLDOWN_OBJ_DATA_REMOVEVAR    4
  1062. #define PULLDOWN_OBJ_DATA_INSERT       5
  1063.  
  1064. static UCHAR PullObj3_Names[] =
  1065. {
  1066. "Expand Var\0\
  1067. Edit Expression\0\
  1068. Edit Storage\0\
  1069. Format Var\0\
  1070. Remove Var\0\
  1071. Insert\0"
  1072. };
  1073.  
  1074. static UCHAR PullObj3_HotKeys[PULLDOWN_OBJ_DATA_ENTRIES+1] = "XESFRI";
  1075.  
  1076. static ULONG PullObj3_Help[PULLDOWN_OBJ_DATA_ENTRIES] =
  1077. {
  1078.  HELP_PULL_EXPANDVAR,
  1079.  HELP_PULL_EDITEXP,
  1080.  HELP_PULL_EDITSTORAGE,
  1081.  HELP_PULL_FORMATVAR,
  1082.  HELP_PULL_REMOVEVAR,
  1083.  HELP_PULL_INSERT
  1084. };
  1085.  
  1086. static UCHAR PullObj3_SelPos[PULLDOWN_OBJ_DATA_ENTRIES] =
  1087. {
  1088.  0x1,   /*EXPANDVAR    */
  1089.  0,     /*EDITEXP      */
  1090.  0x5,   /*EDITSTORAGE  */
  1091.  0,     /*FORMATVAR    */
  1092.  0,     /*REMOVEVAR    */
  1093.  0      /*INSERT       */
  1094. };
  1095.  
  1096. static UCHAR PullObj3_FuncCodes[PULLDOWN_OBJ_DATA_ENTRIES] =
  1097. {
  1098.  EXPANDVAR,
  1099.  EDITFORMULA,
  1100.  TABRIGHT,
  1101.  FORMATVAR,
  1102.  DELETELINE,
  1103.  INSERTLINE
  1104. };
  1105.  
  1106. PULLDOWN PullObj3 =
  1107. {
  1108.  1,
  1109.  0,
  1110.  23,
  1111.  PULLDOWN_OBJ_DATA_ENTRIES,
  1112.  0,
  1113.  PullObj3_Names,
  1114.  PullObj3_HotKeys,
  1115.  PullObj3_SelPos,
  1116.  PullObj3_Help,
  1117.  PullObj3_FuncCodes,
  1118.  NULL,
  1119.  0
  1120. };
  1121.  
  1122. /*****************************************************************************/
  1123. /* Array of all pulldowns.                                                   */
  1124. /*****************************************************************************/
  1125. static PULLDOWN  *pullarray[] = {
  1126.                                   &Pull1,      /* PULLDOWN_FILE       */
  1127.                                   &Pull2,      /* PULLDOWN_RUN        */
  1128.                                   &Pull3,      /* PULLDOWN_BREAKPOINT */
  1129.                                   &Pull4,      /* PULLDOWN_SEARCH     */
  1130.                                   &Pull5,      /* PULLDOWN_DATA       */
  1131.                                   &Pull6,      /* PULLDOWN_VIEW       */
  1132.                                   &Pull7,      /* PULLDOWN_SETTINGS   */
  1133.                                   &Pull8,      /* PULLDOWN_MISC       */
  1134.                                   &Pull9,      /* PULLDOWN_HELP       */
  1135.                                   NULL,        /* ??                  */
  1136.                                   &Pull21,     /* PULLDOWN_RUN_CASCADE*/
  1137.                                   &PullObj1,   /* PULLDOWN_OBJ_SOURCE */
  1138.                                   &PullObj2,   /* PULLDOWN_OBJ_FORMAT */
  1139.                                   &PullObj3    /* PULLDOWN_OBJ_DATA   */
  1140.                                 };
  1141.  
  1142.