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

  1. /*
  2.     menutffg.c     4/10/88
  3.  
  4.     % menu_TakeFieldFromGrid
  5.  
  6.     C-scape 3.2
  7.     Copyright (c) 1988, by Oakland Group, Inc.
  8.     ALL RIGHTS RESERVED.
  9.  
  10.     Revision History:
  11.     -----------------
  12.      6/24/88 jmd    converted to new xarray/iarray calls
  13.  
  14.      3/28/90 jmd    ansi-fied
  15. */
  16.  
  17. #include "menu.h"
  18.  
  19. void menu_TakeFieldFromGrid(menu_type menu, int fieldno)
  20. /*
  21.     Removes a field from the menu's field grid.
  22. */
  23. {
  24.     int            row, rfldno, lfldno, temp;
  25.     field_type     field, rfield;
  26.  
  27.     field = menu_GetField(menu, fieldno);
  28.     rfldno = field_GetRight(field);
  29.     lfldno = field_GetLeft(field);
  30.  
  31.     if (lfldno == -1) {
  32.         /* adjust row array */
  33.         row = field_GetRow(field);
  34.         temp = rfldno + 1;        /* make ia_Put macro work correctly */
  35.         ia_Put((menu)->fgrid, row, temp);
  36.     }
  37.     else {
  38.         field_SetRight(menu_GetField(menu, lfldno), rfldno);
  39.     }
  40.  
  41.     if (rfldno >= 0) {
  42.         field_SetLeft(menu_GetField(menu, rfldno), lfldno);
  43.  
  44.         /* adjust the gcols for the rest of the line */
  45.         while (rfldno >= 0) {
  46.             field_DecGCol(rfield = menu_GetField(menu, rfldno));
  47.             rfldno = field_GetRight(rfield);
  48.         }
  49.     }
  50. }
  51.