\section{\class{wxHelpProvider}}\label{wxhelpprovider}

wxHelpProvider is an abstract class used by a program implementing context-sensitive help to
show the help text for the given window.

The current help provider must be explicitly set by the application using
wxHelpProvider::Set().

\wxheading{Derived from}

No base class

\wxheading{Include files}

<wx/cshelp.h>

\wxheading{See also}

\helpref{wxContextHelp}{wxcontexthelp}, \helpref{wxContextHelpButton}{wxcontexthelpbutton}, 
\helpref{wxSimpleHelpProvider}{wxsimplehelpprovider}, \helpref{wxHelpControllerHelpProvider}{wxhelpcontrollerhelpprovider}, 
\helpref{wxWindow::SetHelpText}{wxwindowsethelptext}, \helpref{wxWindow::GetHelpText}{wxwindowgethelptext}

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

\membersection{wxHelpProvider::\destruct{wxHelpProvider}}\label{wxhelpproviderdtor}

\func{}{\destruct{wxHelpProvider}}{\void}

Virtual destructor for any base class.

\membersection{wxHelpProvider::AddHelp}\label{wxhelpprovideraddhelp}

\func{void}{AddHelp}{\param{wxWindowBase* }{window}, \param{const wxString\& }{text}}

Associates the text with the given window or id. Although all help
providers have these functions to allow making \helpref{wxWindow::SetHelpText}{wxwindowsethelptext} 
work, not all of them implement the functions.

\membersection{wxHelpProvider::Get}\label{wxhelpproviderget}

\func{wxHelpProvider*}{Get}{\void}

Unlike some other classes, the help provider is not created on demand.
This must be explicitly done by the application.

\membersection{wxHelpProvider::GetHelp}\label{wxhelpprovidergethelp}

\func{wxString}{GetHelp}{\param{const wxWindowBase* }{window}}

Gets the help string for this window. Its interpretation is dependent on the help provider
except that empty string always means that no help is associated with
the window.

\func{void}{AddHelp}{\param{wxWindowID }{id}, \param{const wxString\& }{text}}

This version associates the given text with all windows with this id.
May be used to set the same help string for all Cancel buttons in
the application, for example.

\membersection{wxHelpProvider::RemoveHelp}\label{wxhelpproviderremovehelp}

\func{void}{RemoveHelp}{\param{wxWindowBase* }{window}}

Removes the association between the window pointer and the help text. This is
called by the wxWindow destructor. Without this, the table of help strings will fill up
and when window pointers are reused, the wrong help string will be found.

\membersection{wxHelpProvider::Set}\label{wxhelpproviderset}

\func{wxHelpProvider*}{Set}{\param{wxHelpProvider* }{helpProvider}}

Get/set the current, application-wide help provider. Returns
the previous one.

\membersection{wxHelpProvider::ShowHelp}\label{wxhelpprovidershowhelp}

\func{bool}{ShowHelp}{\param{wxWindowBase* }{window}}

Shows help for the given window. Uses \helpref{GetHelp}{wxhelpprovidergethelp} internally if
applicable.

Returns true if it was done, or false if no help was available
for this window.

