home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / programming / dreamscape / examples / Dreamscape / Examples / CApp / c / main
Encoding:
Text File  |  1996-09-14  |  1023 b   |  47 lines

  1.  
  2. #include "OS:toolbox.h"
  3. #include "OS:iconbar.h"
  4. #include "OS:menu.h"
  5. #include "task.h"
  6. #include "tboxevent.h"
  7.  
  8. #include "main.h"
  9.  
  10.  
  11. TaskDirectory("<CApp$Dir>");
  12. capp_iconbar iconbar_icon;
  13.  
  14. #define quit_entry 0x1
  15.  
  16. static bool quit_handler(const toolbox_action *event,
  17.     const toolbox_block *ids, void *handle);
  18.  
  19. int main(int argc, char *argv[])
  20. {
  21.   capp_iconbar_init(&iconbar_icon);
  22.   dscape_task_poll_forever();
  23. }
  24.  
  25. void capp_iconbar_init(capp_iconbar *o)
  26. {
  27.   dscape_task_ensure();
  28.   o->icon = toolbox_create_object(0, (toolbox_id) "IconbarIcon");
  29.   o->menu = iconbar_get_menu(0, o->icon);
  30.   dscape_tboxevent_register_c_handler(action_MENU_SELECTION, o->menu, 0,
  31.     quit_entry, 0, quit_handler, o);
  32. }
  33.  
  34. void capp_iconbar_final(capp_iconbar *o)
  35. {
  36.   toolbox_delete_object(0, o->icon);
  37.   dscape_tboxevent_deregister_c_handler(action_MENU_SELECTION, o->menu, 0,
  38.     quit_entry, 0, quit_handler, o);
  39. }
  40.  
  41. static bool quit_handler(const toolbox_action *event,
  42.     const toolbox_block *ids, void *handle)
  43. {
  44.   dscape_task_quit();
  45.   return 1;
  46. }
  47.