Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

273 lines
9.4 KiB

#include "fc.h"
#ifndef _NAV_H
#define _NAV_H
#define RAWHIDE
/*****************************************************************************
*
* NAV.H
*
* Copyright (C) Microsoft Corporation 1990.
* All Rights reserved.
*
******************************************************************************
*
* Module Intent: Exports functionality from NAV
*
******************************************************************************
*
* Testing Notes
*
******************************************************************************
*
* Current Owner:
*
******************************************************************************
*
* Released by Development: (date)
*
******************************************************************************
*
* Revision History:
*
* 07/11/90 RobertBu prototype for function FShowTitles() added.
* 07/19/90 RobertBu Added prototypes for FShowBrowseButtons(),
* Index(), Search(), Back(), Next(), and Prev().
* 07/22/90 RobertBu Added FPopupCtx(), FJumpId(), and FPopupId()
* 07/23/90 RobertBu Added FPopupHash() and FJumpHash(). Added
* wBTN_IFJUMP and wBTN_IFPOPUP for interfile jumps and popups.
* 08/10/90 RobertBu Added prototype for GetDETypeHde()
* 10/19/90 LeoN HdeCreate no longer takes an hwnd, add SetHdeHwnd
* 10/25/90 LeoN JumpButton takes a LPVOID
* 10/28/90 JohnSc Removed wBTN_*: use #defines from objects.h instead;
* cleaned up some macros
* 11/04/90 RobertBu Added prototypes for macro binding functions for
* menu functionality.
* 11/04/90 Tomsn Use new VA address type (enabling zeck compression)
* 12/08/90 RobertBu Added/changed prototypes for dealing with help-on files
* 12/11/90 RobertBu GhGetHoh() -> FGetHohQch()
* 12/18/90 RobertBu Added prototypes for functions to implement the Mark
* macros and the conditional macros.
* 01/04/90 LeoN Added FIsNSRHde
* 90/01/10 kevynct Added Jump Descriptor
* 02/04/91 Maha changed ints to INT
* 05/16/91 LeoN HELP31 #1063: Add FmGetHde
* 05/20/91 LeoN Add DiscardDLLList
* 08/08/91 LeoN Add HelpOnTop()
* 17-Dec-1991 RussPJ 3.1 #1285 - Added FRaiseMacroFlag(), etc.
*
*****************************************************************************/
/*****************************************************************************
*
* Defines
*
*****************************************************************************/
/* CONSTANTS */
#define iINDEX 0L
#define nilCTX 0L
/* Possible vals for SCRLAMT */
#define SCROLL_PAGEUP 1
#define SCROLL_PAGEDN 2
#define SCROLL_LINEUP 3
#define SCROLL_LINEDN 4
#define SCROLL_HOME 5
#define SCROLL_END 6
/* Possible values for SCRLDIR (Scroll direction). Also specifies
which scroll bar is referred to in some Navigator calls. */
#define SCROLL_HORZ 1 /* Bit flags */
#define SCROLL_VERT 2
/* Constants for MouseInFrame() */
#define NAV_MOUSEMOVED WM_MOUSEMOVE
#define NAV_MOUSEDOWN WM_LBUTTONDOWN
#define NAV_MOUSEUP WM_LBUTTONUP
#define NAV_UNINITIALIZED 1 /* Internal to nav package */
#define NAV_NEXTABLE 2
#define NAV_PREVABLE 4
#define NAV_BACKABLE 8 /* If backtracking is possible */
#define NAV_FORWARDABLE 16 /* If not viewing the index */
#define NAV_INDEX 32
#define NAV_UDH 64
#define NAV_SEARCHABLE 128 /* Are there any keywords? */
#define NAV_TOPICFLAGS (NAV_NEXTABLE|NAV_PREVABLE|NAV_BACKABLE|NAV_FORWARDABLE \
|NAV_INDEX|NAV_UDH|NAV_SEARCHABLE)
#define NAV_ALLFLAGS (NAV_TOPICFLAGS)
/*
The value of bAnnoHotspot must differ from all valid hotspot types
in objects.h because it is passed to JumpButton() as a parameter.
*/
#define bAnnoHotspot 0xB0
/* Messages to pass to NAV (via WNavMsgHde) */
#define NAV_NEXTHS 0 /* Move highlight to next hot spot */
#define NAV_PREVHS 1 /* Move highlight to prev hot spot */
#define NAV_HITHS 2 /* "Hit" highlighted hot spot */
#define NAV_TOTALHILITEON 3 /* Turn on all screen hotspots if off */
#define NAV_TOTALHILITEOFF 4 /* Turn off all screen hotspots if on */
/* Return values for passing message to NAV (via WNavMsgHde) */
#define wNavFailure 0
#define wNavSuccess 1
#define wNavNoHotspotsExist 2
#define wNavNoMoreHotspots 3
const int cchMAXBINDING = 512; // Maximum size of a macro string
/* Match manager navigation commands */
#define wNavSrchInit 1
#define wNavSrchFini 2
#define wNavSrchCurrTopic 3
#define wNavSrchFirstTopic 4
#define wNavSrchLastTopic 5
#define wNavSrchPrevTopic 6
#define wNavSrchNextTopic 7
#define wNavSrchPrevMatch 8
#define wNavSrchNextMatch 9
#define wNavSrchQuerySearchable 10
#define wNavSrchQueryHasMatches 11
#define wNavSrchHiliteOn 12
#define wNavSrchHiliteOff 13
#define VaFirstQde(qde) ((qde)->deType == deNSR ? \
((qde)->top.mtop.vaNSR) : ((qde)->top.mtop.vaSR))
#define VaMarkTopQde(qde) VaLayoutBoundsQde(qde, TRUE)
#define VaMarkBottomQde(qde) VaLayoutBoundsQde(qde, FALSE)
#define DwFirstSeqTopic(qde) ((DWORD)13) /* HACK!! This is sizeof(MBHD) */
#define DwNextSeqTopic(qde) ((qde)->top.mtop.vaNextSeqTopic.dword)
#define FIsNoteHde( hde ) ( deNote == GetDETypeHde( hde ) )
#define FIsTopicHde( hde ) ( deTopic == GetDETypeHde( hde ) )
#define FIsPrintHde( hde ) ( dePrint == GetDETypeHde( hde ) )
#define FIsCopyHde( hde ) ( deCopy == GetDETypeHde( hde ) )
#define FIsNSRHde( hde ) ( deNSR == GetDETypeHde( hde ) )
#define JumpQLA(hde, qla) JumpGeneric((hde), FALSE, (qla), NULL)
#define JumpTLP(hde, tlp) JumpGeneric((hde), TRUE, NULL, &(tlp))
#define JumpNextTopic(hde) \
do { LA la; INT ito; \
(FNextTopicHde(hde, TRUE, &ito, &la)) ? \
TopicGoto(fGOTO_ITO, &ito) : TopicGoto(fGOTO_LA, &la); \
} while ( 0 )
#define JumpPrevTopic(hde) \
do { LA la; INT ito; \
(FNextTopicHde(hde, FALSE, &ito, &la)) ? \
TopicGoto(fGOTO_ITO, &ito) : TopicGoto(fGOTO_LA, &la); \
} while ( 0 )
#define GetTLPNSRStartHde(hde, qtlp) FGetTLPStartInfo(hde, qtlp, TRUE)
#define GetTLPTopicStartHde(hde, qtlp) FGetTLPStartInfo(hde, qtlp, FALSE)
#define FTopicHasNSR(hde) FGetTLPStartInfo(hde, (QTLP) NULL, TRUE)
#define FTopicHasSR(hde) FGetTLPStartInfo(hde, (QTLP) NULL, FALSE)
/*****************************************************************************
*
* Prototypes
*
*****************************************************************************/
#ifdef RAWHIDE
BOOL FAR PASCAL FRawhideSearchableHde(HDE);
BOOL FAR PASCAL FSearchSetEmptyHde(HDE);
RC_TYPE FAR PASCAL RcProcessNavSrchCmd(HDE, WORD, QLA);
RC_TYPE FAR PASCAL RcCallSearch(HDE, HWND);
RC_TYPE FAR PASCAL RcResetCurrMatchFile(HDE);
#endif
VOID PASCAL About(VOID);
VOID PASCAL Action(WORD);
VOID PASCAL Annotate(VOID);
VOID PASCAL Back(VOID);
VOID PASCAL BacktrackHde( HDE, BOOL );
VOID PASCAL BookmarkDefine(VOID);
VOID PASCAL BookmarkMore(VOID);
VOID PASCAL BrowseButtons(VOID);
DWORD PASCAL CbTopicQde(QDE);
void PASCAL ClearMacroFlag( void );
VOID PASCAL CloseNav( VOID );
VOID PASCAL Command(WORD);
VOID PASCAL ConfigMacrosHde(HDE);
VOID PASCAL CopySpecial(VOID);
VOID PASCAL DeleteMark(LPSTR);
VOID PASCAL DestroyHde( HDE );
VOID PASCAL DiscardDLLList(VOID);
VOID PASCAL doCopy(VOID);
INT PASCAL DyGetLayoutHeightHde(HDE);
VOID PASCAL Exit(VOID);
BOOL PASCAL FActivateHelp(HDE, BOOL);
BOOL PASCAL FDisplayAnnoHde(HDE);
BOOL PASCAL FGetHohQch(HDE, LPSTR, WORD);
BOOL PASCAL FGetStateHde( HDE, QSTATE, QSTATE );
BOOL PASCAL FGetTLPStartInfo(HDE, QTLP, BOOL);
VOID PASCAL FileOpen(VOID);
BOOL PASCAL FInitNav( VOID );
BOOL PASCAL FJumpContext(LPCSTR, DWORD);
BOOL PASCAL FJumpHash(LPSTR, DWORD);
BOOL PASCAL FJumpHOH(VOID);
BOOL PASCAL FJumpId(LPSTR, LPSTR);
BOOL PASCAL FJumpIndex(LPCSTR);
BOOL PASCAL FMark(LPSTR);
BOOL PASCAL FNextTopicHde(HDE, BOOL, int*, QLA);
BOOL PASCAL FNot(BOOL);
BOOL PASCAL FPopupCtx(LPCSTR, DWORD);
BOOL PASCAL FPopupHash(LPSTR, DWORD);
BOOL PASCAL FPopupId(LPSTR, LPSTR);
BOOL PASCAL FRaiseMacroFlag( void );
BOOL PASCAL FSameFile(HDE, FM);
BOOL PASCAL FSetIndex(LPSTR, DWORD);
BOOL PASCAL FShowKey(LPSTR, LPSTR);
BOOL PASCAL FTestMacroFlag( void );
BOOL PASCAL FWinHelp(LPCSTR, UINT, DWORD);
VOID PASCAL GetCurrentTitleQde(QDE, LPSTR, INT);
WORD PASCAL GetDETypeHde(HDE);
VOID PASCAL GotoMark(LPSTR);
HDE PASCAL HdeCreate(FM, HDE, short);
VOID PASCAL HelpOn(VOID);
VOID PASCAL HelpOnTop(VOID);
VOID PASCAL History(VOID);
VOID PASCAL IfThen(BOOL, LPSTR);
VOID PASCAL IfThenElse(BOOL, LPSTR, LPSTR);
VOID PASCAL Index(VOID);
VOID PASCAL JumpButton (LPVOID, WORD, WORD);
BOOL PASCAL JumpCtx(HDE, CTX);
VOID PASCAL JumpGeneric(HDE, BOOL, QLA, QTLP);
BOOL PASCAL JumpHash(HDE, int);
VOID PASCAL JumpITO(HDE, int);
VOID PASCAL JumpSS(HDE, GH);
VOID PASCAL MouseInFrame( HDE, LPPOINT, INT );
VOID PASCAL Next(VOID);
VOID PASCAL Prev(VOID);
VOID PASCAL Print(VOID);
VOID PASCAL Print(VOID);
VOID PASCAL PrinterSetup(VOID);
POINT PASCAL PtGetLayoutSizeHde(HDE);
RECT PASCAL RctLastHotspotHde(HDE);
VOID PASCAL RefreshHde( HDE, LPRECT );
VOID PASCAL SaveMark(LPSTR);
VOID PASCAL Search(VOID);
VOID PASCAL SetHdeCoBack (HDE, DWORD);
VOID PASCAL SetHdeHwnd (HDE, HWND);
VOID PASCAL SetHds( HDE, HDC );
VOID PASCAL SetHelpOn(LPSTR);
VOID PASCAL SetIndex(HDE, CTX);
VOID PASCAL SetSizeHdeQrct( HDE, LPRECT, BOOL );
STATE PASCAL StateGetHde(HDE);
TLP PASCAL TLPCurrentHde(HDE);
VA PASCAL VaLayoutBoundsQde(QDE, BOOL);
WORD PASCAL WNavMsgHde(HDE, WORD);
#endif