Metropoli BBS
VIEWER: tcxlhlp.h MODE: TEXT (ASCII)
/*=====[ The TesSeRact(TM) CXL User Interface Development System ]======*
 | Copyright (c) 1987-1990, Innovative Data Concepts. All Rights Reserved
 |
 | This Library is part of IDC's TesSeRact Development Tools product
 | line. For information about other IDC products, call 1-215-884-3373.
 *----------------------------------------------------------------------*
 | <TCXLhlp.h> : Public definitions and prototypes for TCXL Help system
 | (User level).
 *----------------------------------------------------------------------*
 | PGS : $Id: tcxlhlp.h 5.51 90/10/01 00:00:00 MLM Release Locker: MLM $
 | $Log:	tcxlhlp.h $
 | Revision 5.51  90/10/01  00:00:00  MLM
 | TCXL 5.51
 | 
 *======================================================================*/
#ifndef  _TCXLhlp_
#  define   _TCXLhlp_ 1
#  ifndef   _TCXLwin_
#    include <TCXLwin.h>   /* Middle level Window system */
#  endif
#define  HCTL_STK 20       /* help-stack depth */

/*------------------[ Data objects and access macros ]------------------*/

TYP   struct   Hctl  HctlT,  *HctlP;
struct   Hctl                 /*-[ Help-control object ]-------*/
{  TagT     hstk[HCTL_STK];   /* 00|00 : help stack            */
   ChrP     hfil;             /* 28|28 : help file name        */
   VfvCP    hopn;             /* 2A|2C : open function         */
   IntT     hptr;             /* 2C|30 : help stack pointer    */
   KeyT     hkey;             /* 2E|32 : help hot key          */
   AtrT     hwat;             /* 30|34 : window attribute      */
   AtrT     htat;             /* 31|35 : text attribute        */
   AtrT     hsat;             /* 32|36 : selection attribute   */
   AtrT     hbat;             /* 33|37 : bar attribute         */
   VposT    hbeg;             /* 34|38 : window start position */
   VposT    hend;             /* 36|3A : window end position   */
   BytT     hbox;             /* 38|3C : window box type       */
   BytT     hflg;             /* 39|3D : control flag bits     */
};                            /* 3A|3E ]-----------------------*/

GBL   HctlP CDC   _HlpCtl;    /*- global help-control pointer ----------*/
#define  HctlStk(h,i)   ((h)->hstk[i])             /* stack-element[i]  */
#define  HctlFil(h)     ((h)->hfil)                /* filename          */
#define  HctlOpn(h)     ((h)->hopn)                /* open-function     */
#define  HctlPtr(h)     ((h)->hptr)                /* stack-pointer     */
#define  HctlKey(h)     ((h)->hkey)                /* hot-key           */
#define  HctlWat(h)     ((h)->hwat)                /* window attr       */
#define  HctlTat(h)     ((h)->htat)                /* text attr         */
#define  HctlSat(h)     ((h)->hsat)                /* select attr       */
#define  HctlBat(h)     ((h)->hbat)                /* bar attr          */
#define  HctlBeg(h)     ((h)->hbeg)                /* start pos         */
#define  HctlBegW(h)    (VposW(HctlBeg(h)))        /*    word           */
#define  HctlBegR(h)    (VposR(HctlBeg(h)))        /*    row            */
#define  HctlBegC(h)    (VposC(HctlBeg(h)))        /*    col            */
#define  HctlEnd(h)     ((h)->hend)                /* end pos           */
#define  HctlEndW(h)    (VposW(HctlEnd(h)))        /*    word           */
#define  HctlEndR(h)    (VposR(HctlEnd(h)))        /*    row            */
#define  HctlEndC(h)    (VposC(HctlEnd(h)))        /*    col            */
#define  HctlBox(h)     ((h)->hbox)                /* frame type        */
#define  HctlFlg(h)     ((h)->hflg)                /* flag bits         */
#define  HctlTtl(h)     (0 != ((h)->hflg & 0x01))  /*    display title  */

/*------------------------[ Function prototypes ]-----------------------*/

#ifdef __cplusplus            /* no mangling, please */
   extern "C" {
#endif
IntT  CTYP  HlpAdd(TagT ht);           /* Push current, then set tag-id */
IntT  CTYP  HlpClr(NOARG);             /* Clear help-stack              */
IntT        HlpCur(NOARG);             /* Push current help tag-id      */
IntT  CTYP  HlpDef(ChrP fn, WrdT ky,   /* Define help hot-key, file,    */
   IntT wa, IntT ta, IntT sa, IntT ba, /*    colors, open-function      */
   VfvCP fo);
IntT  CTYP  HlpDrop(NOARG);            /* Drop current category         */
IntT  CTYP  HlpOff(NOARG);             /* Undefine help                 */
IntT  CTYP  HlpPop(NOARG);             /* Pop help stack                */
IntT  CTYP  HlpPush(TagT ct);          /* Push help tag-id              */
IntT  CTYP  HlpSet(TagT ct);           /* Set help category by tag-id   */
VOID  CTYP  HlpShow(NOARG);            /* Display help window           */
IntT  CTYP  HlpWind(IntT sr, IntT sc,  /* Define help window            */
   IntT er, IntT ec, IntT bt, IntT ti);
#define  HlpCur() (HlpPush(WctlHlp))
#ifdef __cplusplus
   }
#endif
#endif   /* _TCXLhlp_ -- End of TCXLhlp.h */

[ RETURN TO DIRECTORY ]