/* * -> writing "help" has begun, but only just, and so it is * currently not installed. I'm not sure whether it is * worth the work involved to install it. */ /********************************************************************** * %M% * ss : A SpreadSheet Program * * Art's Spreadsheet program. Art Mulder ( art@cs.ualberta.ca ) * University of Alberta, Department of Computing Science. *********************************************************************** * Help Module *********************************************************************** * Functions for displaying help **********************************************************************/ #ifndef lint static char Sccsid[] = "%W% %G%"; #endif /* * Include files */ #include #include #include #include "curses_stuff.h" #include #include "ss.h" #include "keys.h" /* External Global variables *---------------------------------------------------------------------- */ extern int showneed; /* From main.c */ extern int showrange; /* ditto */ extern int running; /* ditto */ extern int anychanged; /* ditto */ extern int showexpr; /* ditto */ extern int ClearScreen; /* ditto */ extern int FullUpdate; /* ditto */ extern int lastmx, lastmy; /* From screen.c */ extern int lastcol, lcols; /* ditto */ /* Internal Global variables *---------------------------------------------------------------------- */ #define HelpSize 21 static char *Help[] = { "- Top-Level Commands: --------------------------------------------------", " / : Main Menu | 0-9 @ = - + . : Number or Function Entry", " ? : Help | \" < > : Centred, Right, Left Justified String", " Any other input results in entering a Left Justifed string", "", "- Cursor Movement: -----------------------------------------------------", " , ^B : Left one Cell | , < : Go to A0", " , ^F : Right one Cell | , > : End of Col", " , ^N : Down one Cell | , v : Page Up", " , ^P : Up one Cell | , ^V, : Page Down", " ^T : Top of Col | , ^X < : Page Left", " ^A : Start of Row | , ^X > : Page Right", " ^E : End of Row | b : Back, to previous valid Cell", " | f : Forward, to next valid Cell", "- Operations: ----------------------------------------------------------", " ^X-v : Edit Cell Value | ^L : Redraw screen ", " ^X-l : Edit Cell Label | ^R : Redraw; Highlight Values ", " ^G : Goto a Cell | ^K : Redraw; Highlight Expressions", " ^W : Mark Cell | : Toggle Range display. ", " ^Y : Yank marked Cell | ^Z : Stop program", " , , ^D : Erase Cell", }; /* * Keep an alternate arrangement also: * - Top-Level Commands: -------------------------------------------------- / : Main Menu", ? : Help", 0-9 @ = - + . : Number or Function Entry", \" < > : Centred, Right or Left Justified String", Any other input results in entering a Left Justifed string", - Cursor Movement: ----------------------------------------------------- , ^B : Left one Cell , ^F : Right one Cell , ^N : Down one Cell , ^P : Up one Cell , < : Go to A0 , > : End of Col , v : Page Up , ^V, : Page Down , ^X < : Page Left , ^X > : Page Right ^T : Top of Col ^A : Start of Row ^E : End of Row b : Back, to previous valid Cell f : Forward, to next valid Cell : Move right or down (depends on -C,-R program flag) - Operations: ---------------------------------------------------------- ^G : Goto a Cell ^W : Mark Cell ^Y : Yank previously marked Cell ^X-v : Edit Cell Value ^X-l : Edit Cell Label , , ^D : Erase the current Cell (Value and Label) ^L : Redraw screen | ^R : Redraw; Highlight Values | ^K : Redraw; Highlight Expressions | : Toggle Range display. ^Z : Stop program ------------------------------------------------------------------------ **/ /* Internal Function Prototypes *********************************************************************** */ /* Externally Accessible Functions *********************************************************************** */ void help(context) /*---------------------------------------------------------------------- ** */ int context; /* Help Context */ { int row = 3; int x; (void) move(0,0); (void) clrtobot(); switch (context) { case HELP: /* top level help */ for (x=0; x