mirror of
https://github.com/Sneed-Group/Poodletooth-iLand
synced 2024-12-27 05:32:41 -06:00
91 lines
2.4 KiB
Python
91 lines
2.4 KiB
Python
#----------------------------------------------------------------------
|
|
# Name: wx.tools.helpviewer
|
|
# Purpose: HTML Help viewer
|
|
#
|
|
# Author: Robin Dunn
|
|
#
|
|
# Created: 11-Dec-2002
|
|
# Copyright: (c) 2013 by Total Control Software
|
|
# Licence: wxWindows license
|
|
# Tags: phoenix-port, py3-port
|
|
#----------------------------------------------------------------------
|
|
|
|
"""
|
|
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.App()
|
|
#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.ArchiveFSHandler())
|
|
|
|
# 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()
|
|
|
|
|