home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 2 / DATAFILE_PDCD2.iso / utilities2 / desklib / Docs / QuickRefs / EventData < prev    next >
Text File  |  1993-04-29  |  5KB  |  144 lines

  1. Quick reference WIMP event block hierarchy
  2. ==========================================
  3. (version 1.01, Jason Williams, 30 Apr '93)
  4.  
  5. The following pseudocode function outlines the basic code layout you might
  6. use in a general event handler, and all the names you need to access the
  7. data structures used by the WIMP under DeskLib for each event type:
  8.  
  9. BOOL MyEventHandler(event_pollblock event, void *reference)
  10. {
  11.   switch(event->type)
  12.   {
  13.     case event_REDRAW:
  14.     case event_OPEN:
  15.     case event_CLOSE:
  16.     case event_PTRENTER:
  17.     case event_PTRLEAVE:
  18.       event->data.openblock.
  19.                            .window
  20.                            .screenrect.
  21.                                       .min.x
  22.                                       .min.y
  23.                                       .max.x
  24.                                       .max.y
  25.                            .scroll.x
  26.                            .scroll.y
  27.                            .behind
  28.  
  29.     case event_CLICK:
  30.     case event_BUTTON:
  31.       event->data.mouse.
  32.                        .pos.x
  33.                        .pos.y
  34.                        .button.{value|data. ... }
  35.                        .window
  36.                        .icon
  37.  
  38.     case event_USERDRAG:
  39.       event->data.screenrect.min.x
  40.       event->data.screenrect.min.y
  41.       event->data.screenrect.max.x
  42.       event->data.screenrect.max.y
  43.  
  44.     case event_KEY:
  45.       event->data.key.caret.
  46.                            .window
  47.                            .icon
  48.                            .offset.x
  49.                            .offset.y
  50.                            .height
  51.                            .index
  52.                      .code
  53.  
  54.     case event_MENU:
  55.       event->data.selection[10]
  56.  
  57.     case event_SCROLL:
  58.       event->data.scroll.openblock.
  59.                                   .window
  60.                                   .screenrect.
  61.                                              .min.x
  62.                                              .min.y
  63.                                              .max.x
  64.                                              .max.y
  65.                                   .scroll.x
  66.                                   .scroll.y
  67.                                   .behind
  68.                         .direction.x
  69.                         .direction.y
  70.  
  71.     case event_LOSECARET:
  72.     case event_GAINCARET:
  73.       event->data.caret.
  74.                        .window
  75.                        .icon
  76.                        .offset.x
  77.                        .offset.y
  78.                        .height
  79.                        .index
  80.  
  81.     case event_USERMESSAGE:
  82.     case event_USERMESSAGERECORDED:
  83.       event->data.message.
  84.                          .header.
  85.                                 .size
  86.                                 .sender
  87.                                 .myref
  88.                                 .yourref
  89.                                 .action
  90.                          .data.
  91.                               .bytes[236]
  92.                               .words[59];
  93.                               .datasave.
  94.                                        .window
  95.                                        .icon
  96.                                        .pos.x
  97.                                        .pos.y
  98.                                        .estsize
  99.                                        .filetype
  100.                                        .leafname[12]
  101.                               .datasaveack.
  102.                                           .window
  103.                                           .icon
  104.                                           .pos.x
  105.                                           .pos.y
  106.                                           .estsize
  107.                                           .filetype
  108.                                           .filename[212]
  109.                               .dataload.
  110.                                        .window
  111.                                        .icon
  112.                                        .pos.x
  113.                                        .pos.y
  114.                                        .size
  115.                                        .filetype
  116.                                        .filename[212]
  117.                               .dataopen.
  118.                                        .window
  119.                                        .icon
  120.                                        .pos.x
  121.                                        .pos.y
  122.                                        .size
  123.                                        .filetype
  124.                                        .filename[212]
  125.                               .ramfetch.
  126.                                        .buffer
  127.                                        .buffsize
  128.                               .ramtransmit.
  129.                                           .buffer
  130.                                           .byteswritten
  131.                               .helprequest.where.
  132.                                                 .pos.x
  133.                                                 .pos.y
  134.                                                 .button.{value|data. ... }
  135.                                                 .window
  136.                                                 .icon
  137.                               .helpreply.text[200]
  138.                               .print.
  139.                                     .filler[5]
  140.                                     .filetype
  141.                                     .filename[212]
  142.   }
  143. }
  144.