.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2017 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc



.. _wx.HelpControllerBase:

==========================================================================================================================================
|phoenix_title|  **wx.HelpControllerBase**
==========================================================================================================================================

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 :meth:`HelpController.Initialize`   to associate a filename with it. The help viewer will only get run, however, just before the first call to display something. 







         



.. seealso:: :ref:`HelpController`, :ref:`wx.html.HtmlHelpController`, :ref:`HTML Overview <html overview>`    







|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>HelpControllerBase</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.HelpControllerBase_inheritance.png" alt="Inheritance diagram of HelpControllerBase" usemap="#dummy" class="inheritance"/></center>
   </div>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.Object.html" title="wx.Object" alt="" coords="45,5,127,35"/> <area shape="rect" id="node2" href="wx.HelpControllerBase.html" title="wx.HelpControllerBase" alt="" coords="4,83,168,112"/> </map> 
   </p>

|


|sub_classes| Known Subclasses
==============================

:ref:`wx.adv.ExtHelpController`, :ref:`HelpController`, :ref:`wx.html.HtmlHelpController`

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.HelpControllerBase.__init__`                                          Constructs a help instance object, but does not invoke the help viewer.
:meth:`~wx.HelpControllerBase.DisplayBlock`                                      If the help viewer is not running, runs it and displays the file at the given block number.
:meth:`~wx.HelpControllerBase.DisplayContents`                                   If the help viewer is not running, runs it and displays the contents.
:meth:`~wx.HelpControllerBase.DisplayContextPopup`                               Displays the section as a popup window using a context id.
:meth:`~wx.HelpControllerBase.DisplaySection`                                    If the help viewer is not running, runs it and displays the given section.
:meth:`~wx.HelpControllerBase.DisplayTextPopup`                                  Displays the text in a popup window, if possible.
:meth:`~wx.HelpControllerBase.GetFrameParameters`                                For :ref:`wx.html.HtmlHelpController`, returns the latest frame size and position settings and whether a new frame is drawn with each invocation.
:meth:`~wx.HelpControllerBase.GetParentWindow`                                   Returns the window to be used as the parent for the help window.
:meth:`~wx.HelpControllerBase.Initialize`                                        Initializes the help instance with a help filename, and optionally a server socket number if using Help (now obsolete).
:meth:`~wx.HelpControllerBase.KeywordSearch`                                     If the help viewer is not running, runs it, and searches for sections matching the given keyword.
:meth:`~wx.HelpControllerBase.LoadFile`                                          If the help viewer is not running, runs it and loads the given file.
:meth:`~wx.HelpControllerBase.OnQuit`                                            Overridable member called when this application's viewer is quit by the user.
:meth:`~wx.HelpControllerBase.Quit`                                              If the viewer is running, quits it by disconnecting.
:meth:`~wx.HelpControllerBase.SetFrameParameters`                                Set the parameters of the frame window.
:meth:`~wx.HelpControllerBase.SetParentWindow`                                   Sets the window to be used as the parent for the help window.
:meth:`~wx.HelpControllerBase.SetViewer`                                         Sets detailed viewer information.
================================================================================ ================================================================================


|


|property_summary| Properties Summary
=====================================

================================================================================ ================================================================================
:attr:`~wx.HelpControllerBase.FrameParameters`                                   See :meth:`~wx.HelpControllerBase.GetFrameParameters` and :meth:`~wx.HelpControllerBase.SetFrameParameters`
:attr:`~wx.HelpControllerBase.ParentWindow`                                      See :meth:`~wx.HelpControllerBase.GetParentWindow` and :meth:`~wx.HelpControllerBase.SetParentWindow`
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: wx.HelpControllerBase(Object)

   **Possible constructors**::

       HelpControllerBase(parentWindow=None)
       
   
   This is the abstract base class a family of classes by which
   applications may invoke a help viewer to provide on-line help.



   .. method:: __init__(self, parentWindow=None)

      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 CHMHelpController, WinHelpController and :ref:`wx.html.HtmlHelpController`, as the parent for the help window instead of the value of :meth:`wx.App.GetTopWindow` . 

      You can also change the parent window later with :meth:`SetParentWindow` .                  


      :param `parentWindow`: 
      :type `parentWindow`: wx.Window







   .. method:: DisplayBlock(self, blockNo)

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



      - `WinHelp:`  Refers to the context number. 
      - `MS`  HTML Help: Refers to the context number. 
      - `External`  HTML help: the same as for :meth:`DisplaySection` . 
      -  ` :ref:`wx.html.HtmlHelpController`: `   `sectionNo`  is an identifier as specified in the :ref:`Help Files Format <help files format>`. 




                


      :param `blockNo`: 
      :type `blockNo`: long




      :rtype: `bool`







      .. deprecated:: 4.0.1
         This function is for backward compatibility only, and applications should use :meth:`DisplaySection`   instead.    








   .. method:: DisplayContents(self)

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

      :rtype: `bool`








   .. method:: DisplayContextPopup(self, contextId)

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

      Returns ``False`` if unsuccessful or not implemented.                  


      :param `contextId`: 
      :type `contextId`: int




      :rtype: `bool`








   .. method:: DisplaySection(self, *args, **kw)



      |overload| Overloaded Implementations:

      **~~~**

      
      **DisplaySection** `(self, section)`
      
      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, HTML 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.                  
      
      
      :param `section`: 
      :type `section`: string
      
      
      
      
      :rtype: `bool`
      
      
      
      
      
      
      
      **~~~**

      
      **DisplaySection** `(self, sectionNo)`
      
      If the help viewer is not running, runs it and displays the given section.                  
      
      
      
      - `WinHelp`, MS HTML Help `sectionNo`  is a context id. 
      - `External`  HTML help: :ref:`wx.adv.ExtHelpController`  implements `sectionNo`  as an id in a map file, which is of the form: 
      -  ` :ref:`wx.html.HtmlHelpController`: `   `sectionNo`  is an identifier as specified in the :ref:`Help Files Format <help files format>`. See also the help sample for notes on how to specify section numbers for various help file formats.  
      
      
                       
      
      
      :param `sectionNo`: 
      :type `sectionNo`: int
      
      
      
      
      :rtype: `bool`
      
      
      
      
      
      
      
      **~~~**






   .. method:: DisplayTextPopup(self, text, pos)

      Displays the text in a popup window, if possible.                  

      Returns ``False`` if unsuccessful or not implemented.                  


      :param `text`: 
      :type `text`: string
      :param `pos`: 
      :type `pos`: wx.Point




      :rtype: `bool`








   .. method:: GetFrameParameters(self)

      For :ref:`wx.html.HtmlHelpController`, 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 ``None``. 









      :rtype: `tuple`



                  



      :returns: 

         ( :ref:`wx.Frame`, `size`, `pos`, `newFrameEachTime` ) 








   .. method:: GetParentWindow(self)

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

      This window is used by CHMHelpController, WinHelpController and :ref:`wx.html.HtmlHelpController`.                  

      :rtype: :ref:`wx.Window`








   .. method:: Initialize(self, *args, **kw)

      Initializes the help instance with a help filename, and optionally a server socket number if using Help (now obsolete).                  

      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 :ref:`wx.html.HtmlHelpController`, the extensions zip, htb and hhp will be appended while searching for a suitable file. For WinHelp, the hlp extension is appended.                   


      |overload| Overloaded Implementations:

      **~~~**

      
      **Initialize** `(self, file)`
      
      
      
      
      :param `file`: 
      :type `file`: string
      
      
      
      
      :rtype: `bool`
      
      
      
      
      
      
      
      **~~~**

      
      **Initialize** `(self, file, server)`
      
      
      
      
      :param `file`: 
      :type `file`: string
      :param `server`: 
      :type `server`: int
      
      
      
      
      :rtype: `bool`
      
      
      
      
      
      
      
      **~~~**






   .. method:: KeywordSearch(self, keyWord, mode=HELP_SEARCH_ALL)

      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 to search the index (wx``wx.HELP_SEARCH_INDEX``) but this currently is only supported by the :ref:`wx.html.HtmlHelpController`. 



      - `WinHelp`, MS HTML Help: If more than one match is found, the first topic is displayed. 
      - `External`  HTML help, simple HTML help: If more than one match is found, a choice of topics is displayed. 
      -  ` :ref:`wx.html.HtmlHelpController`: `   see :meth:`wx.html.HtmlHelpController.KeywordSearch` .  


                 


      :param `keyWord`: 
      :type `keyWord`: string
      :param `mode`: 
      :type `mode`: wx.HelpSearchMode




      :rtype: `bool`








   .. method:: LoadFile(self, file=EmptyString)

      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 :ref:`wx.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. 

      :ref:`wx.html.HtmlHelpController`  ignores this call.                  


      :param `file`: 
      :type `file`: string




      :rtype: `bool`








   .. method:: OnQuit(self)

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

      This does not work for all help controllers.                   





   .. method:: Quit(self)

      If the viewer is running, quits it by disconnecting.                  

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

      :rtype: `bool`








   .. method:: SetFrameParameters(self, titleFormat, size, pos=DefaultPosition, newFrameEachTime=False)

      Set the parameters of the frame window.                  

      For :ref:`wx.html.HtmlHelpController`, `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.                  


      :param `titleFormat`: 
      :type `titleFormat`: string
      :param `size`: 
      :type `size`: wx.Size
      :param `pos`: 
      :type `pos`: wx.Point
      :param `newFrameEachTime`: 
      :type `newFrameEachTime`: bool







   .. method:: SetParentWindow(self, parentWindow)

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

      This is used by CHMHelpController, WinHelpController and :ref:`wx.html.HtmlHelpController`.                  


      :param `parentWindow`: 
      :type `parentWindow`: wx.Window







   .. method:: SetViewer(self, viewer, flags=HELP_NETSCAPE)

      Sets detailed viewer information.                  

      So far this is only relevant to :ref:`wx.adv.ExtHelpController`. Some examples of usage: 

      ::

                  self.help.SetViewer("kdehelp")
                  self.help.SetViewer("gnome-help-browser")
                  self.help.SetViewer("netscape", wx.HELP_NETSCAPE)






      :param `viewer`: This defaults to "netscape" for :ref:`wx.adv.ExtHelpController`.   
      :type `viewer`: string
      :param `flags`: This defaults to ``wx.HELP_NETSCAPE`` for :ref:`wx.adv.ExtHelpController`, indicating that the viewer is a variant of Netscape Navigator.  
      :type `flags`: long






                  



      .. todo:: modernize this function with :ref:`wx.LaunchDefaultBrowser`     








   .. attribute:: FrameParameters

      See :meth:`~wx.HelpControllerBase.GetFrameParameters` and :meth:`~wx.HelpControllerBase.SetFrameParameters`


   .. attribute:: ParentWindow

      See :meth:`~wx.HelpControllerBase.GetParentWindow` and :meth:`~wx.HelpControllerBase.SetParentWindow`

