Added wxWave Added another patch for SWIG that optimizes the generated code some and eliminates some unused type mappings in the type registry. (Reduces it by about half!) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10218 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			128 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			128 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| #!/usr/bin/env python
 | |
| #----------------------------------------------------------------------------
 | |
| # Name:         DialogUnits.py
 | |
| # Purpose:      A minimal wxPython program that is a bit smarter than test1.
 | |
| #
 | |
| # Author:       Robin Dunn
 | |
| #
 | |
| # Created:      A long time ago, in a galaxy far, far away...
 | |
| # RCS-ID:       $Id$
 | |
| # Copyright:    (c) 1998 by Total Control Software
 | |
| # Licence:      wxWindows license
 | |
| #----------------------------------------------------------------------------
 | |
| 
 | |
| 
 | |
| ## import all of the wxPython GUI package
 | |
| from wxPython.wx import *
 | |
| 
 | |
| 
 | |
| #---------------------------------------------------------------------------
 | |
| 
 | |
| ## Create a new frame class, derived from the wxPython Frame.
 | |
| class MyFrame(wxFrame):
 | |
| 
 | |
|     def __init__(self, parent, id, title):
 | |
|         # First, call the base class' __init__ method to create the frame
 | |
|         wxFrame.__init__(self, parent, id, title,
 | |
|                          wxPoint(100, 100), wxSize(160, 100))
 | |
| 
 | |
|         # Associate some events with methods of this class
 | |
|         EVT_SIZE(self, self.OnSize)
 | |
|         EVT_MOVE(self, self.OnMove)
 | |
|         EVT_CLOSE(self, self.OnCloseWindow)
 | |
| 
 | |
|         # Add a panel and some controls to display the size and position
 | |
|         panel = wxPanel(self, -1)
 | |
|         wxStaticText(panel, -1, "Size:",
 | |
|                      wxDLG_PNT(panel, wxPoint(4, 4)),  wxDefaultSize)
 | |
|         wxStaticText(panel, -1, "Pos:",
 | |
|                      wxDLG_PNT(panel, wxPoint(4, 16)), wxDefaultSize)
 | |
|         self.sizeCtrl = wxTextCtrl(panel, -1, "",
 | |
|                                    wxDLG_PNT(panel, wxPoint(24, 4)),
 | |
|                                    wxDLG_SZE(panel, wxSize(36, -1)),
 | |
|                                    wxTE_READONLY)
 | |
| 
 | |
|         self.posCtrl = wxTextCtrl(panel, -1, "",
 | |
|                                   wxDLG_PNT(panel, wxPoint(24, 16)),
 | |
|                                   wxDLG_SZE(panel, wxSize(36, -1)),
 | |
|                                   wxTE_READONLY)
 | |
| 
 | |
|         #print wxDLG_PNT(panel, wxPoint(24, 4)), wxDLG_SZE(panel, wxSize(36, -1))
 | |
|         #print wxDLG_PNT(panel, wxPoint(24, 16)),wxDLG_SZE(panel, wxSize(36, -1))
 | |
| 
 | |
| 
 | |
|     # This method is called automatically when the CLOSE event is
 | |
|     # sent to this window
 | |
|     def OnCloseWindow(self, event):
 | |
|         # tell the window to kill itself
 | |
|         self.Destroy()
 | |
| 
 | |
| 
 | |
|     # This method is called by the System when the window is resized,
 | |
|     # because of the association above.
 | |
|     def OnSize(self, event):
 | |
|         size = event.GetSize()
 | |
|         self.sizeCtrl.SetValue("%s, %s" % (size.width, size.height))
 | |
| 
 | |
|         # tell the event system to continue looking for an event handler,
 | |
|         # so the default handler will get called.
 | |
|         event.Skip()
 | |
| 
 | |
|     # This method is called by the System when the window is moved,
 | |
|     # because of the association above.
 | |
|     def OnMove(self, event):
 | |
|         pos = event.GetPosition()
 | |
|         self.posCtrl.SetValue("%s, %s" % (pos.x, pos.y))
 | |
| 
 | |
| 
 | |
| 
 | |
| #---------------------------------------------------------------------------
 | |
| # if running standalone
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|     # Every wxWindows application must have a class derived from wxApp
 | |
|     class MyApp(wxApp):
 | |
| 
 | |
|         # wxWindows calls this method to initialize the application
 | |
|         def OnInit(self):
 | |
| 
 | |
|             # Create an instance of our customized Frame class
 | |
|             frame = MyFrame(None, -1, "This is a test")
 | |
|             frame.Show(true)
 | |
| 
 | |
|             # Tell wxWindows that this is our main window
 | |
|             self.SetTopWindow(frame)
 | |
| 
 | |
|             # Return a success flag
 | |
|             return true
 | |
| 
 | |
| 
 | |
|     app = MyApp(0)     # Create an instance of the application class
 | |
|     app.MainLoop()     # Tell it to start processing events
 | |
| 
 | |
| 
 | |
| #---------------------------------------------------------------------------
 | |
| # if running as part of the Demo Framework...
 | |
| 
 | |
| def runTest(frame, nb, log):
 | |
|     win = MyFrame(frame, -1, "This is a test")
 | |
|     frame.otherWin = win
 | |
|     win.Show(true)
 | |
| 
 | |
| 
 | |
| overview = """\
 | |
| A simple example that shows how to use Dialog Units.
 | |
| """
 | |
| 
 | |
| #----------------------------------------------------------------------------
 | |
| #
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 |