/* * NXHelp - README * * Version 2.0 * by Lance Lovette * Code and Display Copyright (C) 1993 by Lance Lovette * All Rights Reserved * * Lance Lovette (lovette@iftech.com) * North Carolina State University * Engineering Computer Operations * Department of Computer Science * Raleigh, NC 27607 * * $RCSfile: README,v $ * $Revision: 1.4 $ * $Date: 1993/12/08 19:49:00 $ */ Overview: NXHelp is a general help facility that can be added to any Motif program. Once NXHelp has been added to a program, the program can activate the facility at any time. Once activated the user will see a window displaying a list of available help topics. When the user selects a topic, the appropriate text is then displayed. To use NXHelp within a program, you will first create a text file containing the help information that you wish to display to the user (see below for a format description for this file). You will call an NXhelp initialization function, probably in main. You will then add a help button into your program (probably using the menu help facility). The callback for that button will call the NXhelp callback routine, and NXhelp will do everything else. Description of the NXHelp File: The first line of a help file must contain the following: [-NXHelpFile <program name> <helpfile version>-] where the program name and helpfile version are substitued in by you. The program name is used as the help window title and as the icon title. Before you use the XnHelpCB you must call XnInitializeHelp with the required parameters. Which include the help filename (and path) a widget (the toplevel shell of your program), an application context from XtAppInitialize, and a Boolean variable. The variable is used to let the help callback know if you want it to change the icon to a watch (on your toplevel) while it is creating its window. To use XnHelpCB just declare it as an XmNhelpCallback or whatever and send it a string containing the keyword as client data. For example, XtAddCallback(widget, XmNhelpCallback, XnHelpCB, "Index"); XtAddCallback(widget, XmNhelpCallback, XnHelpCB, "Overview"); A keyword is denoted by brackets '<' and '>'. Sending XnHelpCB the keyword 'Index' creates an index of the help file and displays it. An index contains all the keywords in a selection box. The user selects a keyword and the text after the keyword until the next keyword or END is loaded. There are some special keywords the callback recognizes: - If the keyword is a '!' a space is inserted into the index. - If the first character of a keyword is '.' then that keyword is not used as an index selection. - If the keyword is followed by an '=' the keyword following the '=' is used as the search keyword, and the text is searched again. - If the last character in the keyword is a '-' then this keyword is not selectable in the index list. - END as a keyword signals the end of the help text. Some examples would be: <Overview> Keyword <File Menu-> Not selectable <!> Blank selection <. Startup Dialog> Invisible selection <Labels>=Making Labels Deferred selection <END> If a keyword is sent to XnHelpCB as client data then the text for that keyword is loaded automatically. The special index character '.' is not part of the keyword, just a prefix. About the Author: Lance Lovette received his BS in Computer Science from North Carolina State University in December, 1993. He has developed several highly successful Motif applications for the Eos computing environment at NCSU, several of which are used by thousands of users daily. He is also the author of "Appendix D: PostScript Printing" in "Motif Programming: The Essentials ... and More" by Marshall Brain, published by Digital Press. About NXHelp: NXHelp Help Facility Library Version 2.0 Created, Developed, and Programmed by Lance Lovette Engineering Computer Operations North Carolina State University Department of Computer Science Copyright (C) 1993 by Lance Lovette All Rights Reserved. Comments, suggestions, and bug reports can be sent to lovette@iftech.com