\section{\class{wxHelpInstance}}\label{wxhelpinstance}

NOTE: this documentation is out of date (see comments below).

The {\bf wxHelpInstance} class implements the interface by which
applications may invoke wxHelp to provide on-line help. Each instance
of the class maintains one connection to an instance of wxHelp which
belongs to the application, and which is shut down when the Quit
member of {\bf wxHelpInstance} is called (for example in the {\bf
OnClose} member of an application's main frame). Under MS Windows,
there is currently only one instance of wxHelp which is used by all
applications.

Since there is a DDE link between the two programs, each subsequent
request to display a file or section uses the existing instance of
wxHelp, rather than starting a new instance each time. wxHelp thus
appears to the user to be an extension of the current application.
wxHelp may also be invoked independently of a client application.

Normally an application will create an instance of {\bf
wxHelpInstance} when it starts, and immediately call {\bf Initialize}\rtfsp
to associate a filename with it. wxHelp will only get run, however,
just before the first call to display something. See the test program
supplied with the wxHelp source.

Include the file {\tt wx\_help.h} to use this API, even if you have
included {\tt wx.h}.

If you give TRUE to the constructor, you can use the native help system
where appropriate (currently under Windows only). Omit the file extension
to allow wxWindows to choose the appropriate file for the platform.

TODO: no longer derive this from a client class, but maybe have several implementations,
e.g. wxHelpInstanceBase, wxHelpInstanceDDE, wxHelpInstanceWinHelp, wxHelpInstanceHTML, etc.

\wxheading{Derivation}

TODO

\wxheading{See also}

TODO

\latexignore{\rtfignore{\wxheading{Members}}}

\membersection{wxHelpInstance::wxHelpInstance}

\func{}{wxHelpInstance}{\param{bool}{ native}}

Constructs a help instance object, but does not invoke wxHelp.
If {\it native} is TRUE, tries to use the native help system where
possible (Windows Help under MS Windows, wxHelp on other platforms).

\membersection{wxHelpInstance::\destruct{wxHelpInstance}}

\func{}{\destruct{wxHelpInstance}}{\void}

Destroys the help instance, closing down wxHelp for this application
if it is running.

\membersection{wxHelpInstance::Initialize}

\func{void}{Initialize}{\param{const wxString\& }{file}, \param{int}{ server = -1}}

Initializes the help instance with a help filename, and optionally a server (socket)
number (one is chosen at random if this parameter is omitted). Does not invoke wxHelp.
This must be called directly after the help instance object is created and before
any attempts to communicate with wxHelp.

You may omit the file extension, and in fact this is recommended if you
wish to support .xlp files under X and .hlp under Windows.

\membersection{wxHelpInstance::DisplayBlock}

\func{bool}{DisplayBlock}{\param{long}{ blockNo}}

If wxHelp is not running, runs wxHelp and displays the file at the given block number.
If using Windows Help, displays the file at the given context number.

\membersection{wxHelpInstance::DisplayContents}

\func{bool}{DisplayContents}{\void}

If wxHelp is not running, runs wxHelp (or Windows Help) and displays the
contents (the first section of the file).

\membersection{wxHelpInstance::DisplaySection}

\func{bool}{DisplaySection}{\param{int}{ sectionNo}}

If wxHelp is not running, runs wxHelp and displays the given section.
Sections are numbered starting from 1, and section numbers may be viewed by running
wxHelp in edit mode.

\membersection{wxHelpInstance::KeywordSearch}

\func{bool}{KeywordSearch}{\param{const wxString\& }{keyWord}}

If wxHelp (or Windows Help) is not running, runs wxHelp (or Windows
Help), and searches for sections matching the given keyword. If one
match is found, the file is displayed at this section. If more than one
match is found, the Search dialog is displayed with the matches (wxHelp)
or the first topic is displayed (Windows Help).

\membersection{wxHelpInstance::LoadFile}

\func{bool}{LoadFile}{\param{const wxString\& }{file = NULL}}

If wxHelp (or Windows Help) is not running, runs wxHelp (or Windows
Help), and loads the given file. If the filename is not supplied or is
NULL, the file specified in {\bf Initialize} is used. If wxHelp is
already displaying the specified file, it will not be reloaded. This
member function may be used before each display call in case the user
has opened another file.

\membersection{wxHelpInstance::OnQuit}

\func{bool}{OnQuit}{\void}

Overridable member called when this application's wxHelp is quit
(no effect if Windows Help is being used instead).

\membersection{wxHelpInstance::Quit}

\func{bool}{Quit}{\void}

If wxHelp is running, quits wxHelp by disconnecting (no effect for Windows
Help).


