]> git.saurik.com Git - wxWidgets.git/blob - wxPython/tests/test7.py
reverted some redrawing optimizations due to redraw errors
[wxWidgets.git] / wxPython / tests / test7.py
1 #!/bin/env python
2 #----------------------------------------------------------------------------
3 # Name: test7.py
4 # Purpose: A minimal wxPython program that is a bit smarter than test1.
5 #
6 # Author: Robin Dunn
7 #
8 # Created: A long time ago, in a galaxy far, far away...
9 # RCS-ID: $Id$
10 # Copyright: (c) 1998 by Total Control Software
11 # Licence: wxWindows license
12 #----------------------------------------------------------------------------
13
14
15 ## import all of the wxPython GUI package
16 from wxPython.wx import *
17
18
19 #---------------------------------------------------------------------------
20
21 ## Create a new frame class, derived from the wxPython Frame.
22 class MyFrame(wxFrame):
23
24 def __init__(self, parent, id, title):
25 # First, call the base class' __init__ method to create the frame
26 wxFrame.__init__(self, parent, id, title,
27 wxPoint(100, 100), wxSize(160, 100))
28
29 # Associate some events with methods of this class
30 EVT_SIZE(self, self.OnSize)
31 EVT_MOVE(self, self.OnMove)
32
33 # Add a panel and some controls to display the size and position
34 panel = wxPanel(self, -1)
35 wxStaticText(panel, -1, "Size:",
36 wxDLG_PNT(panel, wxPoint(4, 4)), wxDefaultSize)
37 wxStaticText(panel, -1, "Pos:",
38 wxDLG_PNT(panel, wxPoint(4, 14)), wxDefaultSize)
39 self.sizeCtrl = wxTextCtrl(panel, -1, "",
40 wxDLG_PNT(panel, wxPoint(24, 4)),
41 wxDLG_SZE(panel, wxSize(36, -1)),
42 wxTE_READONLY)
43
44 self.posCtrl = wxTextCtrl(panel, -1, "",
45 wxDLG_PNT(panel, wxPoint(24, 14)),
46 wxDLG_SZE(panel, wxSize(36, -1)),
47 wxTE_READONLY)
48
49
50 # This method is called automatically when the CLOSE event is
51 # sent to this window
52 def OnCloseWindow(self, event):
53 # tell the window to kill itself
54 self.Destroy()
55
56
57 # This method is called by the System when the window is resized,
58 # because of the association above.
59 def OnSize(self, event):
60 size = event.GetSize()
61 self.sizeCtrl.SetValue("%s, %s" % (size.width, size.height))
62
63 # tell the event system to continue looking for an event handler,
64 # so the default handler will get called.
65 event.Skip()
66
67 # This method is called by the System when the window is moved,
68 # because of the association above.
69 def OnMove(self, event):
70 pos = event.GetPosition()
71 self.posCtrl.SetValue("%s, %s" % (pos.x, pos.y))
72
73
74
75 #---------------------------------------------------------------------------
76
77 # Every wxWindows application must have a class derived from wxApp
78 class MyApp(wxApp):
79
80 # wxWindows calls this method to initialize the application
81 def OnInit(self):
82
83 # Create an instance of our customized Frame class
84 frame = MyFrame(NULL, -1, "This is a test")
85 frame.Show(true)
86
87 # Tell wxWindows that this is our main window
88 self.SetTopWindow(frame)
89
90 # Return a success flag
91 return true
92
93 #---------------------------------------------------------------------------
94
95
96 app = MyApp(0) # Create an instance of the application class
97 app.MainLoop() # Tell it to start processing events
98
99
100 #----------------------------------------------------------------------------
101 #
102
103
104
105
106
107
108
109
110