Version: 3.3.0
wxHelpController Class Reference

#include <wx/help.h>

+ Inheritance diagram for wxHelpController:

Detailed Description

This is an alias for one of a family of help controller classes which is most appropriate for the current platform.

A help controller allows an application to display help, at the contents or at a particular topic, and shut the help program down on termination. This avoids proliferation of many instances of the help viewer whenever the user requests a different topic via the application's menus or buttons.

Typically, an application will create a help controller instance when it starts, and immediately call wxHelpController::Initialize to associate a filename with it. The help viewer will only get run, however, just before the first call to display something.

Most help controller classes actually derive from wxHelpControllerBase and have names of the form wxXXXHelpController or wxHelpControllerXXX. An appropriate class is aliased to the name wxHelpController for each platform, as follows:

  • On desktop Windows, wxCHMHelpController is used (MS HTML Help).
  • On all other platforms, wxHtmlHelpController is used if wxHTML is compiled into wxWidgets; otherwise wxExtHelpController is used (for invoking an external browser).

The remaining help controller classes need to be named explicitly by an application that wishes to make use of them.

The following help controller classes are defined:

  • wxWinHelpController, for controlling Windows Help.
  • wxCHMHelpController, for controlling MS HTML Help. To use this, you need to set wxUSE_MS_HTML_HELP to 1 in setup.h and have the htmlhelp.h header from Microsoft's HTML Help kit. (You don't need the VC++-specific htmlhelp.lib because wxWidgets loads necessary DLL at runtime and so it works with all compilers.)
  • wxBestHelpController, for controlling MS HTML Help or, if Microsoft's runtime is not available, wxHtmlHelpController. You need to provide both CHM and HTB versions of the help file. For wxMSW only.
  • wxExtHelpController, for controlling external browsers under Unix. The default browser is Netscape Navigator. The 'help' sample shows its use.
  • wxHtmlHelpController, a sophisticated help controller using wxHTML, in a similar style to the Microsoft HTML Help viewer and using some of the same files. Although it has an API compatible with other help controllers, it has more advanced features, so it is recommended that you use the specific API for this class instead. Note that if you use .zip or .htb formats for your books, you must add this line to your application initialization:
    A file system handler for accessing files inside of archives.
    Definition: fs_arc.h:15
    static void AddHandler(wxFileSystemHandler *handler)
    This static function adds a new handler into the list of handlers which provide access to virtual FS.
    or nothing will be shown in your help window.

Library:  wxCore
Category:  Help
See also
wxHtmlHelpController, wxHTML Overview

Public Member Functions

 wxHelpController (wxWindow *parentWindow=nullptr)
 Constructs a help instance object, but does not invoke the help viewer. More...
 
- Public Member Functions inherited from wxHelpControllerBase
 wxHelpControllerBase (wxWindow *parentWindow=nullptr)
 Constructs a help instance object, but does not invoke the help viewer. More...
 
 ~wxHelpControllerBase ()
 Destroys the help instance, closing down the viewer if it is running. More...
 
virtual bool DisplayBlock (long blockNo)=0
 If the help viewer is not running, runs it and displays the file at the given block number. More...
 
virtual bool DisplayContents ()=0
 If the help viewer is not running, runs it and displays the contents. More...
 
virtual bool DisplayContextPopup (int contextId)
 Displays the section as a popup window using a context id. More...
 
virtual bool DisplaySection (const wxString &section)
 If the help viewer is not running, runs it and displays the given section. More...
 
virtual bool DisplaySection (int sectionNo)=0
 If the help viewer is not running, runs it and displays the given section. More...
 
virtual bool DisplayTextPopup (const wxString &text, const wxPoint &pos)
 Displays the text in a popup window, if possible. More...
 
virtual wxFrameGetFrameParameters (wxSize *size=nullptr, wxPoint *pos=nullptr, bool *newFrameEachTime=nullptr)
 For wxHtmlHelpController, returns the latest frame size and position settings and whether a new frame is drawn with each invocation. More...
 
virtual wxWindowGetParentWindow () const
 Returns the window to be used as the parent for the help window. More...
 
virtual bool Initialize (const wxString &file)
 Initializes the help instance with a help filename. More...
 
virtual bool KeywordSearch (const wxString &keyWord, wxHelpSearchMode mode=wxHELP_SEARCH_ALL)=0
 If the help viewer is not running, runs it, and searches for sections matching the given keyword. More...
 
virtual bool LoadFile (const wxString &file=wxEmptyString)=0
 If the help viewer is not running, runs it and loads the given file. More...
 
virtual void OnQuit ()
 Overridable member called when this application's viewer is quit by the user. More...
 
virtual bool Quit ()=0
 If the viewer is running, quits it by disconnecting. More...
 
virtual void SetFrameParameters (const wxString &titleFormat, const wxSize &size, const wxPoint &pos=wxDefaultPosition, bool newFrameEachTime=false)
 Set the parameters of the frame window. More...
 
virtual void SetParentWindow (wxWindow *parentWindow)
 Sets the window to be used as the parent for the help window. More...
 
virtual void SetViewer (const wxString &viewer, long flags=wxHELP_NETSCAPE)
 Sets detailed viewer information. More...
 
- Public Member Functions inherited from wxObject
 wxObject ()
 Default ctor; initializes to nullptr the internal reference data. More...
 
 wxObject (const wxObject &other)
 Copy ctor. More...
 
virtual ~wxObject ()
 Destructor. More...
 
virtual wxClassInfoGetClassInfo () const
 This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar). More...
 
wxObjectRefDataGetRefData () const
 Returns the wxObject::m_refData pointer, i.e. the data referenced by this object. More...
 
bool IsKindOf (const wxClassInfo *info) const
 Determines whether this class is a subclass of (or the same class as) the given class. More...
 
bool IsSameAs (const wxObject &obj) const
 Returns true if this object has the same data pointer as obj. More...
 
void Ref (const wxObject &clone)
 Makes this object refer to the data in clone. More...
 
void SetRefData (wxObjectRefData *data)
 Sets the wxObject::m_refData pointer. More...
 
void UnRef ()
 Decrements the reference count in the associated data, and if it is zero, deletes the data. More...
 
void UnShare ()
 This is the same of AllocExclusive() but this method is public. More...
 
void operator delete (void *buf)
 The delete operator is defined for debugging versions of the library only, when the identifier __WXDEBUG__ is defined. More...
 
void * operator new (size_t size, const wxString &filename=nullptr, int lineNum=0)
 The new operator is defined for debugging versions of the library only, when the identifier __WXDEBUG__ is defined. More...
 

Additional Inherited Members

- Protected Member Functions inherited from wxObject
void AllocExclusive ()
 Ensure that this object's data is not shared with any other object. More...
 
virtual wxObjectRefDataCreateRefData () const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it. More...
 
virtual wxObjectRefDataCloneRefData (const wxObjectRefData *data) const
 Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data. More...
 
- Protected Attributes inherited from wxObject
wxObjectRefDatam_refData
 Pointer to an object which is the object's reference-counted data. More...
 

Constructor & Destructor Documentation

◆ wxHelpController()

wxHelpController::wxHelpController ( wxWindow parentWindow = nullptr)

Constructs a help instance object, but does not invoke the help viewer.

If you provide a window, it will be used by some help controller classes, such as wxCHMHelpController, wxWinHelpController and wxHtmlHelpController, as the parent for the help window instead of the value of wxApp::GetTopWindow.

You can also change the parent window later with SetParentWindow().