home *** CD-ROM | disk | FTP | other *** search
/ Executor 2.0 / executorv2.0.iso / pc / dos / extra / source / browser / browser.hqx / Browser / go.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-11-05  |  1.7 KB  |  93 lines

  1. #include "go.h"
  2.  
  3. #include "go.proto.h"
  4. #include "misc.proto.h"
  5. #include "mouse.proto.h"
  6. #include "keyboard.proto.h"
  7. #include "update.proto.h"
  8. #include "init.proto.h"
  9. #include "menu.proto.h"
  10. #include "filemanip.proto.h"
  11. #include "disk.proto.h"
  12.  
  13. /* globals */
  14. long g_screensavetime = 54000;    /* 60*60*15 = 15 minutes is sixtieths of seconds */
  15. long g_lastclick = 0;
  16. short g_done;
  17. short ourid = 12;
  18.  
  19. typedef enum
  20.   {
  21.     uninitialized_state, closable_state, nonclosable_state
  22.   }
  23. window_state_t;
  24.  
  25. void
  26. doevents (void)
  27. {
  28.   EventRecord ev;
  29.   static window_state_t old_front_window_state = uninitialized_state;
  30.   window_state_t new_front_window_state;
  31.  
  32.   g_done = false;
  33.   while (!g_done)
  34.     {
  35.       WaitNextEvent (everyEvent, &ev, g_screensavetime, (RgnHandle) 0);
  36.       switch (ev.what)
  37.     {
  38.     case nullEvent:
  39.       screensaver ();
  40.       break;
  41.     case mouseDown:
  42.       domousedown (&ev);
  43.       break;
  44.     case keyDown:
  45.       dokeydown (&ev);
  46.       break;
  47.     case updateEvt:
  48.       doupdate (&ev);
  49.       break;
  50.     case activateEvt:
  51.       doactivate (&ev);
  52.       break;
  53.     case diskEvt:
  54.       checkfordisk ();
  55.       break;
  56.     case mouseUp:
  57.       g_lastclick = ev.when;
  58.       break;
  59.  
  60.     case autoKey:
  61.     case keyUp:
  62.     case networkEvt:
  63.     case driverEvt:
  64.     case app1Evt:
  65.     case app2Evt:
  66.     case app3Evt:
  67.     case app4Evt:
  68. /* DO NOTHING */
  69.       break;
  70.     default:
  71.       break;
  72.     }
  73.       new_front_window_state = is_closable (FrontWindow ())
  74.     ? closable_state : nonclosable_state;
  75.       if (new_front_window_state != old_front_window_state)
  76.     {
  77.       if (new_front_window_state == closable_state)
  78.         enable_menu_item (close_menuid);
  79.       else if (new_front_window_state == nonclosable_state)
  80.         disable_menu_item (close_menuid);
  81.       old_front_window_state = new_front_window_state;
  82.     }
  83.     }
  84. }
  85.  
  86. void
  87. main (void)
  88. {
  89.   init ();
  90.   doevents ();
  91.   savestate ();
  92. }
  93.