Version: 3.3.0
wxHelpControllerBase Class Referenceabstract

#include <wx/help.h>

+ Inheritance diagram for wxHelpControllerBase:

Detailed Description

This is the abstract base class a family of classes by which applications may invoke a help viewer to provide on-line help.

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.

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

Public Member Functions

 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

◆ wxHelpControllerBase()

wxHelpControllerBase::wxHelpControllerBase ( 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().

◆ ~wxHelpControllerBase()

wxHelpControllerBase::~wxHelpControllerBase ( )

Destroys the help instance, closing down the viewer if it is running.

Member Function Documentation

◆ DisplayBlock()

virtual bool wxHelpControllerBase::DisplayBlock ( long  blockNo)
pure virtual

If the help viewer is not running, runs it and displays the file at the given block number.

Implemented in wxExtHelpController.

◆ DisplayContents()

virtual bool wxHelpControllerBase::DisplayContents ( )
pure virtual

If the help viewer is not running, runs it and displays the contents.

Implemented in wxHtmlHelpController, and wxExtHelpController.

◆ DisplayContextPopup()

virtual bool wxHelpControllerBase::DisplayContextPopup ( int  contextId)
virtual

Displays the section as a popup window using a context id.

Returns false if unsuccessful or not implemented.

◆ DisplaySection() [1/2]

virtual bool wxHelpControllerBase::DisplaySection ( const wxString section)
virtual

If the help viewer is not running, runs it and displays the given section.

The interpretation of section differs between help viewers. For most viewers, this call is equivalent to KeywordSearch. For MS HTML Help, wxHTML help and external HTML help, if section has a .htm or .html extension, that HTML file will be displayed; otherwise a keyword search is done.

Reimplemented in wxExtHelpController.

◆ DisplaySection() [2/2]

virtual bool wxHelpControllerBase::DisplaySection ( int  sectionNo)
pure virtual

If the help viewer is not running, runs it and displays the given section.

  • WinHelp, MS HTML Help sectionNo is a context id.
  • MS HTML Help: Pass -1 in sectionNo to display the index.
  • External HTML help: wxExtHelpController implements sectionNo as an id in a map file, which is of the form:
  • wxHtmlHelpController: sectionNo is an identifier as specified in the .hhc file. See Help Files Format. See also the help sample for notes on how to specify section numbers for various help file formats.

Implemented in wxExtHelpController.

◆ DisplayTextPopup()

virtual bool wxHelpControllerBase::DisplayTextPopup ( const wxString text,
const wxPoint pos 
)
virtual

Displays the text in a popup window, if possible.

Returns false if unsuccessful or not implemented.

◆ GetFrameParameters()

virtual wxFrame* wxHelpControllerBase::GetFrameParameters ( wxSize size = nullptr,
wxPoint pos = nullptr,
bool *  newFrameEachTime = nullptr 
)
virtual

For wxHtmlHelpController, returns the latest frame size and position settings and whether a new frame is drawn with each invocation.

For all other help controllers, this function does nothing and just returns nullptr.

Parameters
sizeThe most recent frame size.
posThe most recent frame position.
newFrameEachTimetrue if a new frame is drawn with each invocation.

Reimplemented in wxExtHelpController.

◆ GetParentWindow()

virtual wxWindow* wxHelpControllerBase::GetParentWindow ( ) const
virtual

Returns the window to be used as the parent for the help window.

This window is used by wxCHMHelpController, wxWinHelpController and wxHtmlHelpController.

◆ Initialize()

virtual bool wxHelpControllerBase::Initialize ( const wxString file)
virtual

Initializes the help instance with a help filename.

Does not invoke the help viewer. This must be called directly after the help instance object is created and before any attempts to communicate with the viewer.

You may omit the file extension and a suitable one will be chosen. For wxHtmlHelpController, the extensions zip, htb and hhp will be appended while searching for a suitable file. For WinHelp, the hlp extension is appended.

Reimplemented in wxExtHelpController.

◆ KeywordSearch()

virtual bool wxHelpControllerBase::KeywordSearch ( const wxString keyWord,
wxHelpSearchMode  mode = wxHELP_SEARCH_ALL 
)
pure virtual

If the help viewer is not running, runs it, and searches for sections matching the given keyword.

If one match is found, the file is displayed at this section. The optional parameter allows searching the index (wxHELP_SEARCH_INDEX) but this currently is only supported by the wxHtmlHelpController.

  • WinHelp, MS HTML Help: If more than one match is found, the first topic is displayed.
  • MS HTML Help: Pass an empty string to display the search page.
  • External HTML help, simple wxHTML help: If more than one match is found, a choice of topics is displayed.
  • wxHtmlHelpController: see wxHtmlHelpController::KeywordSearch.

Implemented in wxHtmlHelpController, and wxExtHelpController.

◆ LoadFile()

virtual bool wxHelpControllerBase::LoadFile ( const wxString file = wxEmptyString)
pure virtual

If the help viewer is not running, runs it and loads the given file.

If the filename is not supplied or is empty, the file specified in Initialize() is used.

If the viewer 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.

wxHtmlHelpController ignores this call.

Implemented in wxExtHelpController.

◆ OnQuit()

virtual void wxHelpControllerBase::OnQuit ( )
virtual

Overridable member called when this application's viewer is quit by the user.

This does not work for all help controllers.

Reimplemented in wxExtHelpController.

◆ Quit()

virtual bool wxHelpControllerBase::Quit ( )
pure virtual

If the viewer is running, quits it by disconnecting.

For Windows Help, the viewer will only close if no other application is using it.

Implemented in wxExtHelpController.

◆ SetFrameParameters()

virtual void wxHelpControllerBase::SetFrameParameters ( const wxString titleFormat,
const wxSize size,
const wxPoint pos = wxDefaultPosition,
bool  newFrameEachTime = false 
)
virtual

Set the parameters of the frame window.

For wxHtmlHelpController, titleFormat specifies the title string format (with s being replaced by the actual page title) and size and position specify the geometry of the frame.

For all other help controllers this function has no effect.

Finally, newFrameEachTime is always ignored currently.

Reimplemented in wxExtHelpController.

◆ SetParentWindow()

virtual void wxHelpControllerBase::SetParentWindow ( wxWindow parentWindow)
virtual

Sets the window to be used as the parent for the help window.

This is used by wxCHMHelpController, wxWinHelpController and wxHtmlHelpController.

◆ SetViewer()

virtual void wxHelpControllerBase::SetViewer ( const wxString viewer,
long  flags = wxHELP_NETSCAPE 
)
virtual

Sets detailed viewer information.

So far this is only relevant to wxExtHelpController. Some examples of usage:

m_help.SetViewer("kdehelp");
m_help.SetViewer("gnome-help-browser");
m_help.SetViewer("netscape", wxHELP_NETSCAPE);
#define wxHELP_NETSCAPE
Definition: help.h:9
Parameters
viewerThis defaults to "netscape" for wxExtHelpController.
flagsThis defaults to wxHELP_NETSCAPE for wxExtHelpController, indicating that the viewer is a variant of Netscape Navigator.
Todo:
modernize this function with wxLaunchDefaultBrowser

Reimplemented in wxExtHelpController.