home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume26 / maint / part01 / help.c < prev    next >
C/C++ Source or Header  |  1992-05-13  |  7KB  |  326 lines

  1. /******************************************************************************
  2. *******************************************************************************
  3.  
  4.    Site:    Western Michigan University Academic Computer Center
  5.  
  6.    System:    Directory/File System Maintenance
  7.   
  8.    Program:    maint
  9.  
  10.    Version=01    Level=00    01/24/92    Leonard J. Peirce
  11.  
  12.    Purpose:    On-line help for maint.
  13.  
  14.    Arguments:    See individual routine(s).
  15.  
  16.    External variables:    None
  17.  
  18.    Maint external functions:
  19.  
  20.     Defined:    give_help
  21.  
  22.     Called:        info_mess, clear_mess
  23.  
  24.    Files accessed:    None
  25.  
  26.    Return codes:    See individual routine(s).
  27.  
  28.    Compiling instructions:    See Makefile
  29.  
  30.    Linking instructions:    See Makefile
  31.  
  32.    Other information:    (C) Copyright 1992, Leonard J. Peirce
  33.  
  34. ********************************************************************************
  35. *******************************************************************************/
  36.  
  37. /******************************************************************************/
  38. /*                                                                            */
  39. /*                        # I N C L U D E   F I L E S                         */
  40. /*                                                                            */
  41. /******************************************************************************/
  42.  
  43. #ifdef ultrix
  44. #include <cursesX.h>
  45. #else
  46. #include <curses.h>
  47. #endif
  48. #include "maint.h"
  49.  
  50. /******************************************************************************/
  51. /*                                                                            */
  52. /*                             # D E F I N E S                                */
  53. /*                                                                            */
  54. /******************************************************************************/
  55.  
  56. /******************************************************************************/
  57. /*                                                                            */
  58. /*          S T R U C T U R E S ,   U N I O N S ,   T Y P E D E F S           */
  59. /*                                                                            */
  60. /******************************************************************************/
  61.  
  62. /******************************************************************************/
  63. /*                                                                            */
  64. /*   E X T E R N A L   D E F I N I T I O N S   &   D E C L A R A T I O N S    */
  65. /*                                                                            */
  66. /******************************************************************************/
  67.  
  68. extern     void      clear_mess();
  69.  
  70.      void      give_help();
  71.  
  72. /******************************************************************************/
  73. /*                                                                            */
  74. /*     S T A T I C   D E F I N I T I O N S   &   D E C L A R A T I O N S      */
  75. /*                                                                            */
  76. /******************************************************************************/
  77.  
  78. /*******************************************************************************
  79. ********************************************************************************
  80.  
  81.   Function:    give_help
  82.  
  83.   Purpose:    Give the user some on-line help for a single key.
  84.  
  85.   Global variables:
  86.  
  87.     Name            Examine/Modify/Use/Read/Write
  88.     ----            -----------------------------
  89.     none
  90.  
  91.   Return Codes:
  92.  
  93.     Code            Reason
  94.     ----            ------
  95.     none
  96.  
  97. ********************************************************************************
  98. *******************************************************************************/
  99.  
  100. void give_help(window)
  101.                     /*******   FORMAL  PARAMETERS   *******/
  102.      WINDOW      *window;        /* where to read/write              */
  103.  
  104. {    /*** give_help ***/
  105.  
  106.      char      buf[MAXNAMLEN + 100];
  107.  
  108.    
  109.    info_mess("Key you want help with [use `?' for detailed help] ? ");
  110.  
  111.    switch(wgetch(window))
  112.    {
  113.       case(CONTROL_I):
  114.       case(' '):
  115.       case('>'):
  116.       case('L'):
  117.       case('l'):
  118.       case(KEY_RIGHT):
  119.  
  120.      info_mess("Right -- Move right one column");
  121.      break;
  122.  
  123.       case(BACKSPACE):
  124.       case('<'):
  125.       case('H'):
  126.       case(KEY_BACKSPACE):
  127.       case('h'):
  128.       case(KEY_LEFT):
  129.  
  130.      info_mess("Left -- Move left one column");
  131.      break;
  132.  
  133.       case(LINEFEED):
  134.       case('J'):
  135.       case('j'):
  136.       case(KEY_DOWN):
  137.  
  138.      info_mess("Down -- Move down one row");
  139.      break;
  140.  
  141.       case('^'):
  142.       case('K'):
  143.       case('k'):
  144.       case(KEY_UP):
  145.  
  146.      info_mess("Up -- Move up one row");
  147.          break;
  148.  
  149.       case(CARRIAGE_RETURN):
  150.  
  151.      info_mess("Down and Left -- Move down one row, left of screen");
  152.      break;
  153.  
  154.       case('='):
  155.       case('+'):
  156.       case(CONTROL_F):
  157.       case(KEY_NPAGE):
  158.  
  159.      info_mess("Next Page -- Move forward one page");
  160.      break;
  161.  
  162.       case('_'):
  163.       case('-'):
  164.       case(CONTROL_B):
  165.       case(KEY_PPAGE):
  166.  
  167.      info_mess("Previous Page -- Move backward one page");
  168.      break;
  169.  
  170.       case('/'):
  171.  
  172.      info_mess("/Search -- Search for filename");
  173.      break;
  174.  
  175.       case('U'):
  176.       case('u'):
  177.  
  178.      info_mess("Unmark -- Cancel all marks for a file");
  179.      break;
  180.  
  181.       case('S'):
  182.       case('s'):
  183.  
  184.      info_mess("Select -- Select file (browse) or directory (change \
  185. directory)");
  186.      break;
  187.  
  188.       case('B'):
  189.       case('b'):
  190.  
  191.      info_mess("Branch -- Branch to another directory");
  192.      break;
  193.  
  194.       case('X'):
  195.       case('x'):
  196.  
  197.      info_mess("Xecute -- Perform the commands in the current directory");
  198.      break;
  199.  
  200.       case(CONTROL_R):
  201.  
  202.      info_mess("Rebuild -- Rebuild directory information");
  203.      break;
  204.  
  205.       case('D'):
  206.       case('d'):
  207.  
  208.      info_mess("Delete -- Delete file/directory");
  209.      break;
  210.  
  211.       case('P'):
  212.       case('p'):
  213.  
  214.      info_mess("Protect -- Set protection (mode) for file");
  215.      break;
  216.  
  217.       case('F'):
  218.       case('f'):
  219.  
  220.      info_mess("Finish -- Finish directory, returning to previous \
  221. directory");
  222.      break;
  223.  
  224.       case('E'):
  225.       case('e'):
  226.  
  227.      info_mess("Edit -- Call editor for file");
  228.      break;
  229.  
  230.       case('I'):
  231.       case('i'):
  232.  
  233.      info_mess("Info -- Give full information for file");
  234.      break;
  235.  
  236.       case('R'):
  237.       case('r'):
  238.  
  239.      info_mess("Rename -- Rename file to another file");
  240.      break;
  241.  
  242.       case('C'):
  243.       case('c'):
  244.  
  245.      info_mess("Copy -- Copy file to another file");
  246.      break;
  247.  
  248.       case('T'):
  249.       case('t'):
  250.  
  251.      info_mess("Text -- Enter text mode or add/edit text descriptor for \
  252. file");
  253.      break;
  254.  
  255.       case('Q'):
  256.       case('q'):
  257.  
  258.      info_mess("Quit -- Leave maint and return to shell");
  259.      break;
  260.  
  261.       case('!'):
  262.  
  263.      info_mess("! -- Escape to shell");
  264.      break;
  265.  
  266.       case(CONTROL_W):
  267.       case(CONTROL_L):
  268.  
  269.      info_mess("Refresh -- Refresh screen");
  270.      break;
  271.  
  272.       case(CONTROL_G):
  273.  
  274.      info_mess("^Goto -- Goto specific page in directory");
  275.      break;
  276.  
  277.       case('W'):
  278.       case('w'):
  279.  
  280.      info_mess("Who -- Display name of author");
  281.      break;
  282.  
  283.       case('V'):
  284.       case('v'):
  285.  
  286.      info_mess("Version -- Display current version");
  287.      break;
  288.  
  289.       case('O'):
  290.       case('o'):
  291.  
  292.      info_mess("Owner -- Change owner of file/directory");
  293.      break;
  294.      
  295.       case('G'):
  296.       case('g'):
  297.  
  298.      info_mess("Group -- Change group of file/directory");
  299.      break;
  300.  
  301.       case('.'):
  302.  
  303.      info_mess("Repeat -- repeat last file command");
  304.      break;
  305.  
  306.       case('?'):
  307.  
  308.      if (!file_select(HELPFILE))
  309.      {
  310.        (void) sprintf(buf,"Error accessing help file `%s'",HELPFILE);
  311.        info_mess(buf);
  312.      }
  313.  
  314.      /* fall through and clear the message */
  315.  
  316.       case(ESCAPE):
  317.       default:
  318.  
  319.      clear_mess(window);
  320.      break;
  321.    }
  322.  
  323.    return;
  324.  
  325. }    /*** give_help ***/
  326.