{ =========================================================================== }
{ Pull5Xc-.pas - Turbo Pascal pull-down menus interface.   ver 5.Xc, 05-29-89 }
{                                                                             }
{ This file contains the interface for pull-down menus and data entry         }
{ windows.                                                                    }
{   Copyright (c) 1987-1989 James H. LeMay, All rights reserved.              }
{ =========================================================================== }

{ R-,S-,I-,D-,T-,F-,V-,B-,N-,L+ }         { TP4 directives }
{$A-,B-,D-,E-,F-,I-,L-,N-,O-,R-,S-,V-}    { TP5 directives }

{$define UseSubMenuCode }
{$define UseHelpWndwCode }
{$define UseDataEntryCode }
{$define UseMsgLineCode }

UNIT Pull;

INTERFACE

uses
  Crt,Qwik,Wutil,Wndw,Strs;

{$I P5x-var.inc }

procedure SetCmdSeq (NewCmdSeq: SeqStrType);
procedure ReadKbd (VAR ExtKey: boolean; VAR Key: char);
procedure ShowTopLine;

{$ifdef UseMsgLineCode }
procedure ShowMsg (MsgNum: byte);
procedure ShowErrMsg (ErrMsgNum: word);
{$endif }

function  TopKeyPressed:  boolean;
procedure TurnArrows (Switch: Toggle);
procedure CheckForPullDown (MsgLineNum: byte);
procedure CheckForPop;

{$ifdef UseHelpWndwCode }
function  HelpKeyPressed: boolean;
procedure PullHelpWndw (WndwNum: byte);
{$endif }

function  Popped: boolean;
procedure GotoKeyDispatcher;
procedure InitPull (Attr: integer; ClearScr: boolean);
procedure HiLiteRow (Row: byte; Attr: integer);

function StrSL  (S: string; Field: byte): string;
function StrSR  (S: string; Field: byte): string;
function InRangeW (Low,Value,High: word): boolean;

{ -- Data Entry interface -- }
{$ifdef UseDataEntryCode }
procedure Enter         (RecNum: word);
procedure EnterSeq      (First,Last: word; VAR Start: word);
procedure DisplayFields (First,Last: word);
{$endif }


IMPLEMENTATION

END.
