home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / programming / gui / precog2_1.lha / Precognition2_1 / src / src.lha / Precognition / chainedwindows.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-12-08  |  1005 b   |  61 lines

  1. #include "ChainedWindows.h"
  2.  
  3. pcgWindow *ChainedWindows_StartOfChain = NULL;
  4.  
  5. BOOL window_state = TRUE;
  6.  
  7. void AddWindowToChain( pcgWindow *window )
  8. {
  9.    pcgWindow *w;
  10.  
  11.    if( ChainedWindows_StartOfChain )
  12.    {
  13.       for( w = ChainedWindows_StartOfChain; w->Next != NULL; w = w->Next );
  14.  
  15.       w->Next = window;
  16.    }
  17.    else
  18.       ChainedWindows_StartOfChain = window;
  19. }
  20.  
  21.  
  22. void RemoveWindowFromChain( pcgWindow *window )
  23. {
  24.    if( window == ChainedWindows_StartOfChain )
  25.    {
  26.       ChainedWindows_StartOfChain = window->Next;
  27.    }
  28.    else
  29.    {
  30.       pcgWindow* w;
  31.  
  32.       for( w = ChainedWindows_StartOfChain;
  33.            w->Next != window;
  34.            w = w->Next )
  35.       {;}
  36.  
  37.       w->Next = window->Next;
  38.  
  39.    }
  40.  
  41.    window->Next = NULL;
  42. }
  43.  
  44.  
  45.  
  46. void EnableAllChainedWindows( BOOL enable )
  47. {
  48.    pcgWindow *w;
  49.  
  50.    if( enable != window_state )
  51.    {
  52.       for( w = ChainedWindows_StartOfChain; w != NULL; w = w->Next )
  53.          EnableIactor( (struct Interactor *)w, enable );
  54.  
  55.       window_state = enable;
  56.    }
  57. }
  58.  
  59.  
  60.  
  61.