git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3550 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			78 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			78 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 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()
 |