<title>Overview</title>
This help file describes the facilities available in
<emphasis>libUtil.a</emphasis>, which is a utility library 
used in the demonstration programs.  Included are a help widget,
a style-guide compliant menu generator and a print widget.

<title>Help Widget</title>
The help widget provides a means for the demo applications to 
present help to the user in a easy to navigate form.  

<bold>UxmCreateHelp</bold>
<program>Widget UxmCreateHelp(Widget parent, char* name, 
		ArgList args, Cardinal num_args)</program>

<bold>Description:</bold>

This function returns a help widget.

<bold>Arguments:</bold>

<emphasis>parent</emphasis>	The parent of the widget to be created.
<emphasis>name</emphasis>	The name of the created widget.
<emphasis>args</emphasis>	List of arguments to pass to <bold>XtCreateWidget</bold>.
<emphasis>num_args</emphasis>	The count of arguments.

<bold>UxmCreateHelpDialog</bold>
<program>Widget UxmCreateHelpDialog(Widget parent, char* name, ArgList args, Cardinal num_args)</program>

<bold>Description:</bold>

Creates a help widget within a dialog shell (XmCreateTemplateDialog)
with one button  labeled <bold>Dismiss</bold>. Otherwise the arguments
and return value are the same as for <bold>UxmCreateHelp</bold>.

<bold>UxmGotoHelpItem</bold>
<program>void UxmGotoHelpItem(Widget widget, XmString item, XtPointer cb)</program>

<bold>Description:</bold>

An <emphasis>XtCallbackProc</emphasis> to make writing contextual help
simple.  This takes an <bold>XmString</bold> as the argument.  Otherwise
the arguments are the same as for any XtCallbackProc.

<subtitle>Widget Resources</subtitle>
<bold>UxmNhelpFile</bold>
The filename of the help file.  The suffix .help can be omitted.		

<bold>UxmNhelpPath</bold>
This is the pathname to use to search for the help
file.  Should this not be set,  the widget uses
XFILESEARCHPATH and ./%N.%S in addition.  Note
that the type and suffix (%T and %S) will both be
set to <emphasis>help</emphasis>.

<bold>XmNrenderTable</bold>
The default rendertable is generated by the widget.  You can pass
in one in widget creation to take the default's place, or you can do
a getvalues/setvalues to update the rendertable with extra renditions
(as this demo does).

<subtitle>Markup language</subtitle>
The markup language is an SGML-like language with renditions specified
as \<rendition\> to start a rendition and \</rendition\> to end a rendition.
The \< or \> characters can be included using the escape character, \\.

Renditions defined by default:
<table>
<underline>Name	Rendition	Comments</underline>
title	helvetica bold 14	Creates a new major tab
subtitle	helvetica bold 12	Creates a new minor tab
heading	helvetica bold 14
bold	helvetica bold 12
emphasis	helvetica oblique 12
</table>

Extra renditions used in this demo and defined in onHelp.c:
<table>
<underline>Name	Rendition	Comments</underline>
table	Tabs @ 2" and 4"	New tablist for tables
underline	Single Underline	Good for table headings
program	Courier 12	For programmatic text

<subtitle>Help menus</subtitle>
A <bold>style guide compliant</bold> help menu should have the following
items:
<table>
<underline>Item	Mnemonic</underline>
Overview	O
Index	I
Table Of Contents	C
Tasks	T
Reference	R
Tutorial	L
Keyboard	K
Mouse	M
On Item
Using Help	U
About App.	A
</table>

<title>Menu generator</title>
The menu generator is quite simple.  You call it with a description
value (obtained from Menus.h) and it returns a widget list of the 
menu items.  It manages the <bold>required</bold> elements from the
style guide.

<title>Print widget</title>
The print dialog widget provides a concise dialog to obtain information
for printing.

The dialog consist of a number of fields which the user can specify. 
The application writer can specify the initial values of the fields
and can reset them through XtSetValues.

<heading>Resources</heading>

Resource		Type
<underline>Class		Default</underline>

UxmNprinterList	 	char*
UxmCPrinterList		NULL

UxmNtwoSided		Boolean
UxmCTwoSided		False

UxmNreverseOrder		Boolean
UxmCReverseOrder		False

UxmNfromPage		Integer
UxmCFromPage		0

UxmNtoPage		Integer
UxmCToPage		0

UxmNprintAll		Boolean
UxmCPrintAll		True

UxmNnumberOfCopies		Integer
UxmCNumberOfCopies		1

UxmNprintCallback		CallbackList
XmCCallback		NULL 

