+++ /dev/null
-from wxPython.wx import *
-from wxPython.html import *
-import sys
-
-default_page = """
-<H1>HTML Viewer</H1>Please select <I>File->Open</I>
-to open a HTML file, or edit this page in the
-text control below and select <I>File->Update</I>
-<P>
-The python source can be seen
-<a href="%s">here</a>.
-""" % (sys.argv[0], )
-
-class HtmlViewer(wxFrame):
- def __init__(self, parent, id, title, pos = wxDefaultPosition, size = wxSize(400,400)):
- wxFrame.__init__(self, parent, id, title, pos, size)
- self.CreateStatusBar(1)
- split = wxSplitterWindow(self, -1)
- self.html = wxHtmlWindow(split)
- self.html.SetRelatedFrame(self, "HTML Viewer: \%s")
- self.html.SetRelatedStatusBar(0)
- self.txt = wxTextCtrl(split, -1, default_page,
- wxDefaultPosition, wxDefaultSize,
- wxTE_MULTILINE)
- split.SplitHorizontally(self.html, self.txt, size.y/2)
- mbar = wxMenuBar()
- menu = wxMenu()
- menu.Append(1500, "Open")
- menu.Append(1501, "Reset")
- menu.Append(1502, "Update HTML")
- menu.AppendSeparator()
- menu.Append(1503, "Exit")
- mbar.Append(menu, "File")
- menu = wxMenu()
- menu.Append(1510, "Back")
- menu.Append(1511, "Forward")
- mbar.Append(menu, "Go")
- self.SetMenuBar(mbar)
- self.filename = ""
- EVT_MENU(self, 1500, self.OnFileOpen)
- EVT_MENU(self, 1501, self.OnFileReset)
- EVT_MENU(self, 1502, self.OnFileUpdate)
- EVT_MENU(self, 1503, self.OnClose)
- EVT_MENU(self, 1510, self.OnGoBack)
- EVT_MENU(self, 1511, self.OnGoForward)
- # A default opening text
- self.html.SetPage( default_page )
- def OnFileOpen(self, event):
- dlg = wxFileDialog(NULL, "Open file")
- if dlg.ShowModal() == wxID_OK:
- self.filename = dlg.GetPath()
- self.html.LoadPage(self.filename)
- def OnFileReset(self, event):
- self.html.SetPage( default_page )
- self.txt.SetValue( default_page )
- def OnFileUpdate(self, event):
- self.html.SetPage( self.txt.GetValue() )
- def OnGoBack(self, event):
- self.html.HistoryBack()
- def OnGoForward(self, event):
- self.html.HistoryForward()
- def OnClose(self,event):
- self.Destroy()
-
-class MyApp(wxApp):
- def OnInit(self):
- frame = HtmlViewer(NULL, -1, "HTML Viewer")
- frame.Show(TRUE)
- self.SetTopWindow(frame)
- return TRUE
-
-wxImage_AddHandler(wxPNGHandler())
-wxImage_AddHandler(wxGIFHandler())
-wxImage_AddHandler(wxJPEGHandler())
-
-theApp = MyApp(0)
-theApp.MainLoop()