home *** CD-ROM | disk | FTP | other *** search
- /*-- AutoRev header do NOT edit!
- *
- * Program : Help.c
- * Copyright : Copyright © 1991-92 Jaba Development
- * Author : Jan van den Baard
- * Creation Date : 05-Apr-92
- * Current version : 2.0
- * Translator : Dice v2.06.40
- *
- * REVISION HISTORY
- *
- * Date Version Comment
- * --------- ------- ------------------------------------------
- * 05-Apr-92 2.0 Help pages. (rewrite)
- *
- *-- REV_END --*/
-
- #include "View.h"
-
- Prototype long WaitForKey( long );
- Prototype void Help( void );
-
- extern struct MsgPort *vwIdPort;
- extern struct RastPort *vwRPort;
- extern ULONG vwClass;
- extern UWORD vwCode, vwQualifier, vwMaxLin;
-
- UBYTE *Header = " \033[0;1m" CX_NAME " version " CX_VERSION " © 1991-92 Jaba Development\n"\
- " \033[0;33mWritten with DICE C by Jan van den Baard\033[0m\n\n";
-
- #ifdef __DETACH
- #define NUMHELP 27
- #else
- #define NUMHELP 28
- #endif
-
- UBYTE *HelpText[] = {
- " \033[32mSpace\033[0m,\033[32mPg Dn \033[33m \033[0m : Page down (MORE).\n",
- " \033[32mBackspace\033[0m,\033[32mPg Up\033[0m : Page up (LESS).\n",
- " \033[32mReturn\033[0m,\033[32mDn\033[0m,\033[32mNk Dn\033[0m : Next line.\n",
- " \033[32mEnter\033[0m,\033[32mUp\033[0m,\033[32mNk Up\033[0m : Previous line.\n",
- " \033[32m<\033[0m,\033[32mNk Left\033[0m/\033[32m>\033[0m,\033[32mNk Right\033[0m : First/Last page (TOP/BOTTOM).\n",
- " \033[32m/\033[0m,\033[32mF\033[0m : Find first (case sensitive).\n",
- " \033[32mN\033[0m/\033[32mP\033[0m : Find next/previous (case sensitive).\n",
- " \033[32m.\033[0m,\033[32mS\033[0m : Find first (case insensitive).\n",
- " \033[32mCTRL+N\033[0m/\033[32mCTRL+P\033[0m : Find next/previous (case insensitive).\n",
- " \033[32mCTRL+L\033[0m,\033[32mR\033[0m : Refresh display.\n",
- " \033[32m%\033[0m : Goto N%.\n",
- #ifndef __DETACH
- " \033[32mE\033[0m : Edit with ENV:EDITOR (Only Shell !).\n",
- #endif
- " \033[32mL\033[0m : Load a new file.\n",
- " \033[32mJ\033[0m : Jump to last found string.\n",
- " \033[32mB\033[0m : Goto sleep (loose text).\n",
- " \033[32mCTRL+B\033[0m : Goto sleep (remember text).\n",
- " \033[32mLSHIFT+CTRL+D\033[0m/\033[32m+P\033[0m : Dump page/file to printer.\n",
- " \033[32mH\033[0m,\033[32mHELP\033[0m : Help page(s).\n",
- " \033[32mQ\033[0m,\033[32mCTRL+C\033[0m,\033[32mESC\033[0m,\033[32mNk 5\033[0m : Quit view\n",
- " \033[0;32mFn\033[0m : Mark text block #\033[32mn\033[0m.\n",
- " \033[32mSHIFT+Fn\033[0m : Unmark text block #\033[32mn\033[0m.\n",
- " \033[32mCTRL+Fn\033[0m : Jump to text block #\033[32mn\033[0m.\n",
- " \033[32mLSHIFT+CTRL+Fn\033[0m : Print text block #\033[32mn\033[0m.\n",
- " \033[32mLALT+Fn\033[0m : Save text block #\033[32mn\033[0m.\n",
- " \033[32mCTRL+S\033[0m : Save whole text.\n",
- " \033[32mM\033[0m : Toggle mouse-pointer.\n",
- " \033[32mC\033[0m : Toggle scroll mode.\n",
- " \033[32mSHIFT+N\033[0m : Goto line #\033[32mn\033[0m.\n" };
-
- long WaitForKey( long onlyesc )
- {
- long ret = FALSE;
-
- while( 1 ) {
- WaitPort( vwIdPort );
- while( ReadMsgPort( vwIdPort )) {
- if ( vwClass == IDCMP_RAWKEY ) {
- if ((( vwCode & IECODE_UP_PREFIX ) != IECODE_UP_PREFIX ) && ( ! ( vwQualifier & IEQUALIFIER_REPEAT ))) {
- if ( onlyesc ) {
- if ( vwCode == 0x45 )
- goto breakLoop;
- } else if ( vwCode == 0x45 ) {
- ret = TRUE;
- goto breakLoop;
- } else
- goto breakLoop;
- }
- }
- }
- }
-
- breakLoop:
-
- ClearMsgPort( vwIdPort );
- return( ret );
- }
-
- void Help( void )
- {
- UWORD i, cnt = 0;
-
- while( 1 ) {
-
- Move( vwRPort, 0, 0 );
- SetAPen( vwRPort, 0 );
- SetDrMd( vwRPort, JAM1 );
- ClearScreen( vwRPort );
-
- MoveTo( 1,1 );
- Inform( Header );
-
- for( i = 0; i < vwMaxLin - 6; i++ ) {
- Inform( HelpText[ cnt++ ] );
- if ( cnt == NUMHELP ) break;
- }
-
- if ( cnt != NUMHELP ) {
- Inform( "\n \033[0;1mPRESS A KEY FOR MORE (ESC TO CONTINUE)" );
- if ( WaitForKey( FALSE ))
- goto breakIt;
- } else {
- Inform( "\n \033[0;1mPRESS ESC TO CONTINUE" );
- WaitForKey( TRUE );
- goto breakIt;
- }
- }
-
- breakIt:
-
- Move( vwRPort, 0, 0 );
- SetAPen( vwRPort, 0 );
- SetDrMd( vwRPort, JAM1 );
- ClearScreen( vwRPort );
- DisplayText();
- InfoLine();
- }
-