]> git.saurik.com Git - wxWidgets.git/blame - utils/wxPython/README.txt
wxlayout bug
[wxWidgets.git] / utils / wxPython / README.txt
CommitLineData
7bf85405
RD
1wxPython README
2---------------
3
c127177f
RD
4Welcome to the wonderful world of wxPython!
5
6Now that you have installed the Win32 extension module, you can try it
7out by going to the [install dir]\wxPython\demo directory and typing:
8
9 python demo.py
10
11There are also some other sample files there for you to play with and
12learn from.
13
14If you selected to install the documentation then point your browser
15to [install dir]\wxPython\docs\index.htm and you will then be looking
16at the docs for wxWindows. For the most part you can use the C++ docs
17as most classes and methods are used identically. Where there are
18differences they are documented with a "wxPython Note."
af309447
RD
19
20
21
22Getting Help
23------------
24
25Since wxPython is a blending of multiple technologies, help comes from
26multiple sources. See the http://alldunn.com/wxPython for details on
27various sources of help, but probably the best source is the
28wxPython-users mail list. You can view the archive or subscribe by
29going to
30
31 http://starship.python.net/mailman/listinfo/wxpython-users
32
33Or you can send mail directly to the list using this address:
34
35 wxpython-users@starship.python.net
36
37
cf694132
RD
38What's new in 2.0b9
39-------------------
40Bug fix for ListCtrl in test4.py (Was a missing file... DSM!)
41
42Bug fix for occassional GPF on Win32 systems upon termination of a
43wxPython application.
44
45Added wxListBox.GetSelections returning selections as a Tuple.
46
47Added a wxTreeItemData that is able to hold any Python object and be
48associated with items in a wxTreeCtrl. Added test pytree.py to show
49this feature off.
50
51Added wxSafeYield function.
52
53OpenGL Canvas can be optionally compiled in to wxPython.
54
55Awesome new Demo Framework for showing off wxPython and for learning
56how it all works.
57
58The pre-built Win32 version is no longer distributing the wxWindows
59DLL. It is statically linked with the wxWindows library instead.
60
61Added a couple missing items from the docs.
62
63Added wxImage, wxImageHandler, wxPNGHandler, wxJPEGHandler,
64wxGIFHandler and wxBMPHandler.
65
d403febc
RD
66Added new methods to wxTextCtrl.
67
c127177f
RD
68Fixed some problems with how SWIG was wrapping some wxTreeCtrl
69methods.
70
cf694132
RD
71
72
73What's new in 2.0b8
74-------------------
75Support for using Python threads in wxPython apps.
76
77Several missing methods from various classes.
78
79Various bug fixes.
80
81
82
83What's new in 2.0b7
84-------------------
85Added DLG_PNT and DLG_SZE convienience methods to wxWindow class.
86
87Added missing constructor and other methods for wxMenuItem.
88
89
90
91What's new in 2.0b6
92-------------------
93Just a quickie update to fix the self-installer to be compatible with
94Python 1.5.2b2's Registry settings.
95
af309447
RD
96
97What's new in 2.0b5
98-------------------
99Well obviously the numbering scheme has changed. I did this to
100reflect the fact that this truly is the second major revision of
101wxPython, (well the third actually if you count the one I did for
102wxWindows 1.68 and then threw away...) and also that it is associated
103with the 2.0 version of wxWindows.
104
105I have finally started documenting wxPython. There are several pages
106in the wxWindows documentation tree specifically about wxPython, and I
c127177f 107have added notes within the class references about where and how wxPython
af309447
RD
108diverges from wxWindows.
109
21f8d7ea
RD
110Added wxWindow_FromHWND(hWnd) for wxMSW to construct a wxWindow from a
111window handle. If you can get the window handle into the python code,
112it should just work... More news on this later.
113
114Added wxImageList, wxToolTip.
115
116Re-enabled wxConfig.DeleteAll() since it is reportedly fixed for the
117wxRegConfig class.
118
af309447
RD
119As usual, some bug fixes, tweaks, etc.
120
7bf85405
RD
121
122
08127323
RD
123What's new in 0.5.3
124-------------------
125Added wxSashWindow, wxSashEvent, wxLayoutAlgorithm, etc.
126
127Various cleanup, tweaks, minor additions, etc. to maintain
128compatibility with the current wxWindows.
129
130
131
b8b8dda7
RD
132What's new in 0.5.0
133-------------------
134Changed the import semantics from "from wxPython import *" to "from
135wxPython.wx import *" This is for people who are worried about
136namespace pollution, they can use "from wxPython import wx" and then
137prefix all the wxPython identifiers with "wx."
138
139Added wxTaskbarIcon for wxMSW.
140
141Made the events work for wxGrid.
142
143Added wxConfig.
144
08127323 145Added wxMiniFrame for wxGTK.
b8b8dda7
RD
146
147Changed many of the args and return values that were pointers to gdi
148objects to references to reflect changes in the wxWindows API.
149
150Other assorted fixes and additions.
151
152
153
607d79b8
RD
154
155What's new in 0.4.2
156-------------------
157
158wxPython on wxGTK works!!! Both dynamic and static on Linux and
159static on Solaris have been tested. Many thanks go to Harm
160<H.v.d.Heijden@phys.tue.nl> for his astute detective work on tracking
161down a nasty DECREF bug. Okay so I have to confess that it was just a
162DSM (Dumb Stupid Mistake) on my part but it was nasty none the less
163because the behavior was so different on different platforms.
164
165
166The dynamicly loaded module on Solaris is still segfaulting, so it
167must have been a different issue all along...
168
169
170
9c039d08
RD
171What's New in 0.4
172-----------------
607d79b8 173
9c039d08
RD
1741. Worked on wxGTK compatibility. It is partially working. On a
175Solaris/Sparc box wxPython is working but only when it is statically
176linked with the Python interpreter. When built as a dyamically loaded
607d79b8
RD
177extension module, things start acting weirdly and it soon seg-faults.
178And on Linux both the statically linked and the dynamically linked
179version segfault shortly after starting up.
9c039d08
RD
180
1812. Added Toolbar, StatusBar and SplitterWindow classes.
182
1833. Varioius bug fixes, enhancements, etc.
184
185
7bf85405 186
c127177f 187
7bf85405
RD
188Build Instructions
189------------------
190I used SWIG (http://www.swig.org) to create the source code for the
191extension module. This enabled me to only have to deal with a small
d279310d 192amount of code and only have to bother with the exceptional issues.
7bf85405
RD
193SWIG takes care of the rest and generates all the repetative code for
194me. You don't need SWIG to build the extension module as all the
607d79b8
RD
195generated C++ code is included under the src directory.
196
197I added a few minor features to SWIG to control some of the code
198generation. If you want to playaround with this the patches are in
199wxPython/SWIG.patches and they should be applied to the 1.1p5 version
200of SWIG. These new patches are documented at
c127177f
RD
201http://starship.skyport.net/crew/robind/#swig, and they should also
202end up in the 1.2 version of SWIG.
7bf85405
RD
203
204wxPython is organized as a Python package. This means that the
205directory containing the results of the build process should be a
206subdirectory of a directory on the PYTHONPATH. (And preferably should
607d79b8 207be named wxPython.) You can control where the build process will dump
7bf85405
RD
208wxPython by setting the TARGETDIR makefile variable. The default is
209$(WXWIN)/utils/wxPython, where this README.txt is located. If you
210leave it here then you should add $(WXWIN)/utils to your PYTHONPATH.
211However, you may prefer to use something that is already on your
212PYTHONPATH, such as the site-packages directory on Unix systems.
213
214
215Win32
216-----
217
9c039d08
RD
2181. Build wxWindows with wxUSE_RESOURCE_LOADING_IN_MSW set to 1 in
219include/wx/msw/setup.h so icons can be loaded dynamically. While
220there, make sure wxUSE_OWNER_DRAWN is also set to 1.
7bf85405
RD
221
2222. Change into the $(WXWIN)/utils/wxPython/src directory.
223
0699c864 2243. Edit makefile.vc and specify where your python installation is at.
7bf85405
RD
225You may also want to fiddle with the TARGETDIR variable as described
226above.
227
0699c864 2284. Run nmake -f makefile.vc
7bf85405
RD
229
2305. If it builds successfully, congratulations! Move on to the next
231step. If not then you can try mailing me for help. Also, I will
d279310d 232always have a pre-built win32 version of this extension module at
c127177f 233http://alldunn.com/wxPython/.
7bf85405 234
c127177f 2356. Change to the $(WXWIN)/utils/wxPython/demo directory.
7bf85405 236
c127177f 2377. Try executing the demo program. For example:
7bf85405 238
c127177f 239 python demo.py
7bf85405 240
c127177f 241To run it without requiring a console, you can use the pythonw.exe
7bf85405
RD
242version of Python either from the command line or from a shortcut.
243
244
245
246Unix
247----
e6c95f27
RD
2480. I configure wxWindows like this, YMMV:
249
250./configure --with-gtk --without-shared --with-threads --without-unicode --with-libjpeg
251
7bf85405 252
7bf85405
RD
2531. Change into the $(WXWIN)/utils/wxPython/src directory.
254
2552. Edit Setup.in and ensure that the flags, directories, and toolkit
607d79b8
RD
256options are correct. See the above commentary about TARGETDIR. There
257are a few sample Setup.in.[platform] files provided.
7bf85405
RD
258
2593. Run this command to generate a makefile:
260
261 make -f Makefile.pre.in boot
262
2634. Run these commands to build and then install the wxPython extension
264module:
265
266 make
267 make install
268
269
c127177f 2705. Change to the $(WXWIN)/utils/wxPython/demo directory.
7bf85405 271
c127177f 2726. Try executing the demo program. For example:
7bf85405 273
c127177f 274 python demo.py
7bf85405 275
c127177f 276----------------
7bf85405 277Robin Dunn
2d6dfbb7 278robin@alldunn.com
607d79b8
RD
279
280
281