home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / CSAPE32.ARJ / SOURCE / CSSRC / MENUSFB.C < prev    next >
C/C++ Source or Header  |  1990-07-24  |  1KB  |  59 lines

  1. /* 
  2.     menusfb.c  
  3.  
  4.     % menu_SetFieldBob
  5.  
  6.     C-scape 3.2
  7.     Copyright (c) 1988, by Oakland Group, Inc.
  8.     ALL RIGHTS RESERVED.
  9.  
  10.     Revision History:
  11.     -----------------
  12.     12/15/88 jmd    Added setting of owner ptr.
  13.      3/27/89 jdc    added bob_Do(SETPARENT)
  14.      6/22/89 jmd    Removed dependency check before bob_Do(SETPARENT)
  15.      8/10/89 jmd    Converted bobs to wins
  16.     10/07/89 jdc    Fixed so can use to swap bobs
  17.      3/28/90 jmd    ansi-fied
  18.      6/25/90 jdc    now old bob's lose their parents
  19. */
  20.  
  21. #include "sed.h"
  22.  
  23. boolean menu_SetFieldBob(menu_type menu, int fld, bob_type bob)
  24. /*
  25.     add bob to list, attach it to field
  26.     the list contains the field no the bob is attached to
  27.     sets the bob's owner to the menu's sedptr.
  28. */
  29. {
  30.     sed_type sed;
  31.     int i;
  32.  
  33.     if (bob != NULL) {
  34.  
  35.         if (field_GetBob(menu_GetField(menu, fld)) != NULL) {
  36.             /* find the bob */
  37.             for (i = 0; ia_Get(menu->boba, i) != fld; i++) {
  38.                 ;
  39.             }
  40.             /* orphan the old bob */
  41.             bob_SetParent(field_GetBob(menu_GetField(menu, fld)), NULL);
  42.         }
  43.         else {
  44.             i = menu->bobcount;
  45.             menu->bobcount++;
  46.         }
  47.         ia_Put(menu->boba, i, fld);
  48.         field_SetBob(menu_GetField(menu, fld), bob);
  49.  
  50.         if ((sed = menu_GetSed(menu)) != NULL) {
  51.             bob_SetParent(bob, sed);
  52.         }
  53.         return(TRUE);
  54.     }
  55.  
  56.     return(FALSE);
  57.  
  58.