/** \file help.h
 *  \brief Header: hypertext file browser
 *
 *  Implements the hypertext file viewer.
 *  The hypertext file is a file that may have one or more nodes.  Each
 *  node ends with a ^D character and starts with a bracket, then the
 *  name of the node and then a closing bracket. Right after the closing
 *  bracket a newline is placed. This newline is not to be displayed by
 *  the help viewer and must be skipped - its sole purpose is to facilitate
 *  the work of the people managing the help file template (xnc.hlp) .
 *
 *  Links in the hypertext file are specified like this: the text that
 *  will be highlighted should have a leading ^A, then it comes the
 *  text, then a ^B indicating that highlighting is done, then the name
 *  of the node you want to link to and then a ^C.
 *
 *  The file must contain a ^D at the beginning and at the end of the
 *  file or the program will not be able to detect the end of file.
 *
 *  Laziness/widgeting attack: This file does use the dialog manager
 *  and uses mainly the dialog to achieve the help work.  there is only
 *  one specialized widget and it's only used to forward the mouse messages
 *  to the appropriate routine.
 *
 *  This file is included by help.c and man2hlp.c
 */

#ifndef MC__HELP_H
#define MC__HELP_H

/*** typedefs(not structures) and defined constants **********************************************/

/* Markers used in the help files */
#define CHAR_LINK_START         '\01'   /* Ctrl-A */
#define CHAR_LINK_POINTER       '\02'   /* Ctrl-B */
#define CHAR_LINK_END           '\03'   /* Ctrl-C */
#define CHAR_NODE_END           '\04'   /* Ctrl-D */
#define CHAR_ALTERNATE          '\05'   /* Ctrl-E */
#define CHAR_NORMAL             '\06'   /* Ctrl-F */
#define CHAR_VERSION            '\07'   /* Ctrl-G */
#define CHAR_FONT_BOLD          '\010'  /* Ctrl-H */
#define CHAR_FONT_NORMAL        '\013'  /* Ctrl-K */
#define CHAR_FONT_ITALIC        '\024'  /* Ctrl-T */

/*** enums ***************************************************************************************/

/*** structures declarations (and typedefs of structures)*****************************************/

/*** global variables defined in .c file *********************************************************/

/*** declarations of public functions ************************************************************/

gboolean help_interactive_display (const gchar * event_group_name, const gchar * event_name,
                                   gpointer init_data, gpointer data);

/*** inline functions ****************************************************************************/
#endif /* MC__HELP_H */
