]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/wx/tools/helpviewer.py
drop highlight color fix
[wxWidgets.git] / wxPython / wx / tools / helpviewer.py
index 98bd0e24ba8b9bbebe19c02a2e6b9373e7b11d04..48fe6ef5c57584689a24b2e6fb73d941b6a4f02a 100644 (file)
@@ -1,11 +1,91 @@
+#----------------------------------------------------------------------
+# Name:        wx.tools.helpviewer
+# Purpose:     HTML Help viewer
+#
+# Author:      Robin Dunn
+#
+# Created:     11-Dec-2002
+# RCS-ID:      $Id$
+# Copyright:   (c) 2002 by Total Control Software
+# Licence:     wxWindows license
+#----------------------------------------------------------------------
 
-"""Renamer stub: provides a way to drop the wx prefix from wxPython objects."""
+"""
+helpviewer.py   --  Displays HTML Help in a wxHtmlHelpController window.
+
+Usage:
+    helpviewer [--cache=path] helpfile [helpfile(s)...]
+
+    Where helpfile is the path to either a .hhp file or a .zip file
+    which contians a .hhp file.  The .hhp files are the same as those
+    used by Microsoft's HTML Help Workshop for creating CHM files.
+"""
+
+
+import sys, os
+
+#---------------------------------------------------------------------------
+
+def makeOtherFrame(helpctrl):
+    import wx
+    parent = helpctrl.GetFrame()
+    otherFrame = wx.Frame(parent)
+    
+
+def main(args=sys.argv):
+    if len(args) < 2:
+        print __doc__
+        return
+
+    args = args[1:]
+    cachedir = None
+    if args[0][:7] == '--cache':
+        cachedir = os.path.expanduser(args[0].split('=')[1])
+        args = args[1:]
+
+    if len(args) == 0:
+        print __doc__
+        return
+
+    import wx
+    import wx.html
+
+    app = wx.PySimpleApp()
+    #wx.Log.SetActiveTarget(wx.LogStderr())
+    wx.Log.SetLogLevel(wx.LOG_Error)
+
+    # Set up the default config so the htmlhelp frame can save its preferences
+    app.SetVendorName('wxWindows')
+    app.SetAppName('helpviewer')
+    cfg = wx.ConfigBase.Get()
+
+    # Add the Zip filesystem
+    wx.FileSystem.AddHandler(wx.ZipFSHandler())
+
+    # Create the viewer
+    helpctrl = wx.html.HtmlHelpController()
+    if cachedir:
+        helpctrl.SetTempDir(cachedir)
+
+    # and add the books
+    for helpfile in args:
+        print "Adding %s..." % helpfile
+        helpctrl.AddBook(helpfile, 1)
+
+    # The frame used by the HtmlHelpController is set to not prevent
+    # app exit, so in the case of a standalone helpviewer like this
+    # when the about box or search box is closed the help frame will
+    # be the only one left and the app will close unexpectedly.  To
+    # work around this we'll create another frame that is never shown,
+    # but which will be closed when the helpviewer frame is closed.
+    wx.CallAfter(makeOtherFrame, helpctrl)
+
+    # start it up!
+    helpctrl.DisplayContents()
+    app.MainLoop()
+
+
+if __name__ == '__main__':
+    main()
 
-__cvsid__ = "$Id$"
-__revision__ = "$Revision$"[11:-2]
 
-from wx import _rename
-from wxPython.tools import helpviewer
-_rename(globals(), helpviewer.__dict__, modulename='tools.helpviewer')
-del helpviewer
-del _rename