home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c185 / 1.ddi / FUNCS.EXE / CSCAPE / SOURCE / FNSTD.C < prev    next >
Encoding:
C/C++ Source or Header  |  1989-09-07  |  2.2 KB  |  111 lines

  1. /*
  2.     fnstd.c      8/25/88
  3.  
  4.     % std_funcs
  5.  
  6.     Standard fenter and fexit routines.
  7.  
  8.     C-scape 3.1
  9.     Copyright (c) 1988, by Oakland Group, Inc.
  10.     ALL RIGHTS RESERVED.
  11.  
  12.     By using these routines duplicate code is eliminated, shrinking code
  13.     size.
  14.  
  15.     The following flavors are supplied:
  16.     -----------------------------------
  17.  
  18.     std_fenter            Uses field first data pointer as a prompt message.
  19.                         Sets baton to SED_FIRST
  20.                         Moves cursor to start of field
  21.  
  22.     std_fexit            Formats record according to third data pointer
  23.                         Clears the prompt message.
  24.  
  25.     stdNoCur_fenter     Uses field first data pointer as a prompt message.
  26.                         Turns off cursor for field
  27.  
  28.     stdBigCur_fenter    Uses field first data pointer as a prompt message.
  29.                         Makes cursor big in Insert mode
  30.  
  31.     std_senter            Formats record according to third data pointer
  32.  
  33.     Revision History:
  34.     -----------------
  35.     10/09/88 jmd     added SED_ABORT support
  36.     11/15/88 jmd     removed test for NULL prompt
  37.     11/18/88 jmd     added sed_GoHome to std_fenter
  38. */
  39.  
  40. #include <stdio.h>
  41.  
  42. #include "cscape.h"
  43.  
  44. void std_fenter(sed)
  45.     sed_type sed;
  46. /*
  47.     Sets border prompt,
  48.     Sets baton to SED_FIRST
  49.     Moves cursor to start of field
  50. */
  51. {
  52.     sed_BorderPrompt(sed, (char *) sed_GetCurrFieldData(sed, 0));
  53.  
  54.     sed_SetBaton(sed, SED_FIRST);
  55.     sed_GoHome(sed);
  56. }
  57.  
  58. boolean std_fexit(sed)
  59.     sed_type sed;
  60. /*
  61.     Formats field record,
  62.     Turns off border prompt
  63. */
  64. {
  65.     if (sed_GetBaton(sed) != SED_ABORT) {
  66.         valid_Format(sed, sed_GetFieldNo(sed), (char *) sed_GetCurrFieldData(sed, 2));
  67.     }
  68.     sed_BorderPrompt(sed, NULL);
  69.     return(TRUE);
  70. }
  71.  
  72. void stdNoCur_fenter(sed)
  73.     sed_type sed;
  74. /*
  75.     calls std_fenter,
  76.     Turns off cursor
  77. */
  78. {
  79.     std_fenter(sed);
  80.  
  81.     sed_SetCursorType(sed, CURSOR_NONE);
  82. }
  83.  
  84. void stdBigCur_fenter(sed)
  85.     sed_type sed;
  86. /*
  87.     calls std_fenter,
  88.     Makes cursor big if in insert mode
  89. */
  90. {
  91.     std_fenter(sed);
  92.  
  93.     /* make cursor big if INSERT mode */
  94.     if (kb_Insert()) {
  95.         sed_SetCursorType(sed, CURSOR_HALF);
  96.     }
  97.     else {
  98.         sed_SetCursorType(sed, CURSOR_NORMAL);
  99.     }
  100. }
  101.  
  102. void std_senter(sed, fieldno)
  103.     sed_type sed;
  104.     int fieldno;
  105. /*
  106.     Formats field record
  107. */
  108. {
  109.     valid_Format(sed, fieldno, (char *) sed_GetFieldData(sed, fieldno, 2));
  110. }
  111.