]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxPython/modules/html/test/helpsys.py
added wxHtmlHelpController and -System wrappers. See README for some remarks
[wxWidgets.git] / utils / wxPython / modules / html / test / helpsys.py
diff --git a/utils/wxPython/modules/html/test/helpsys.py b/utils/wxPython/modules/html/test/helpsys.py
new file mode 100644 (file)
index 0000000..6acdaae
--- /dev/null
@@ -0,0 +1,73 @@
+from wxPython.wx import *
+from wxPython.html import *
+import sys,os
+
+if not os.environ.has_key('WXWIN'):
+    print "Can't find html samples. Set WXWIN environment variable."
+    sys.exit(1)
+
+help = wxHtmlHelpSystem() 
+# Create the book in a different way, supply title, contents file, index, default topic and basedir
+help.AddBookParam('Sample help docs', 'contents.hhc', '', 'main.htm', 
+                 os.environ['WXWIN'] + "/samples/html/help/helpfiles")
+
+class HelpFrame(wxFrame):
+    def __init__(self):
+       wxFrame.__init__(self, NULL, -1, "", wxDefaultPosition, wxSize(500,500))
+       bar = self.CreateStatusBar(2)
+       bar.SetStatusWidths([400,100])
+       help.CreateToolBar(self)
+       self.text = wxTextCtrl(bar, 1001, "Hello world", wxPoint(400,0), wxSize(80,30))
+       button = wxButton(bar, 1002, "Go", wxPoint(480,0), wxSize(20,30))
+
+       html = wxHtmlWindow(self,-1)
+       html.SetRelatedFrame(self, "%s")
+        html.SetRelatedStatusBar(0)
+
+       self.searchframe = wxMiniFrame(self, -1, "Search result", wxDefaultPosition, wxSize(300,400))
+       self.searchbox = wxListBox(self.searchframe, wxID_HTML_SEARCHLIST)
+
+       self.mframe = wxMiniFrame(self, -1, "Contents", wxDefaultPosition, wxSize(300,500))
+       tree = help.CreateContentsTree(self.mframe)
+       help.SetControls(self, html, tree, NULL, self.searchbox)
+       EVT_TREE_SEL_CHANGED(self, wxID_HTML_TREECTRL, help.OnContentsSel)
+       EVT_LISTBOX(self, wxID_HTML_SEARCHLIST, help.OnSearchSel)
+       EVT_TOOL(self, wxID_HTML_PANEL, self.ToggleContents)
+       EVT_TOOL(self, wxID_HTML_BACK, help.OnToolbar)
+       EVT_TOOL(self, wxID_HTML_FORWARD, help.OnToolbar)
+       EVT_TEXT_ENTER(self, 1001, self.OnTextSearch)
+       EVT_BUTTON(self, 1002, self.OnTextSearch)
+       EVT_CLOSE(self.mframe, self.OnCloseContents)
+       EVT_CLOSE(self.searchframe, self.OnCloseSearch)
+       self.mframe.Show(TRUE)
+       print help.GetSearchList()
+
+    def ToggleContents(self, event):
+       self.mframe.Show(not self.mframe.IsShown())
+
+    def OnCloseContents(self, event):
+       if event.CanVeto():
+           self.mframe.Show(FALSE)
+       else:
+           self.mframe.Destroy()
+       
+    def OnCloseSearch(self, event):
+       if event.CanVeto():
+           self.searchframe.Show(FALSE)
+       else:
+           self.searchframe.Destroy()
+       
+    def OnTextSearch(self, event):
+       self.searchbox.Clear()
+       self.searchframe.Show(TRUE)
+       print "searching for %s" % (self.text.GetValue(),)
+       help.KeywordSearch(self.text.GetValue())
+
+class MyApp(wxApp):
+    def OnInit(self):
+       frame = HelpFrame()
+       frame.Show(TRUE)
+       return TRUE
+
+theApp = MyApp(0)
+theApp.MainLoop()