]>
Commit | Line | Data |
---|---|---|
73adcb01 | 1 | Recent Changes for wxPython |
8eda5e35 | 2 | ===================================================================== |
6d75ea8f | 3 | |
ca8071ca | 4 | |
66b50a8f | 5 | 2.5.3.3 |
ca8071ca RD |
6 | ------- |
7 | ||
7aada1e0 | 8 | wx.Sizer Add, Insert, and Prepend funcitons now return a reference to the |
6b9f434e RD |
9 | wx.SizerItem that was added to the sizer, and the wx.SizerItem has a |
10 | GetRect accessor to give the position of the item on the parent window. | |
7aada1e0 RD |
11 | |
12 | Added wx.Sizer.GetItem method which returns the wx.SizerItem for the given | |
13 | wx.Window, wx.Sizer or position index. | |
14 | ||
15 | wxMSW: wx.RadioButtons in the same group no longer have to be | |
16 | consecutive (there may be intervening controls). Without this fix, an | |
17 | out-of-sync assert is generated when clicking on a radio button and | |
18 | then calling GetValue(). | |
19 | ||
20 | XRC: | |
66b50a8f RD |
21 | - Added 'icon' property to wxFrame and wxDialog |
22 | - No longer ignores menu bitmaps on non-MSW platforms | |
23 | - Notebook page bitmaps are now supported | |
9828eeb4 | 24 | - added system colours and fonts support (based on patch #1038207) |
7aada1e0 RD |
25 | |
26 | wxMSW: fix for [ 1052989 ] TextCtrl.SetBackgroundColour(wx.NullColour) | |
27 | bug. | |
28 | ||
29 | Added wx.PasswordEntryDialog analagous to wx.TextEntryDialog, allows | |
30 | detecting entering an empty string vs. cancel unlike the | |
31 | wx.GetPasswordFromUser dialog function. | |
32 | ||
33 | ||
ca8071ca RD |
34 | OGL patch from Shane Holloway: |
35 | ||
36 | Two simple problems found in the new python ogl code. First is | |
37 | the patch for _canvas.py. Essentially: | |
38 | ||
39 | dx = abs(dc.LogicalToDeviceX(x - self._firstDragX)) | |
40 | dy = abs(dc.LogicalToDeviceY(y - self._firstDragY)) | |
41 | ||
42 | was incorrect because (x,y) and (self._firstDragX, | |
43 | self._firstDragY) are both already in Logical coordinates. | |
44 | Therefore the difference between the two is also in logical | |
45 | coordinates, and the conversion call is an error. This bug | |
46 | surfaces when you have OGL on a scrollwin, and you are far from | |
47 | the origin of the canvas. | |
48 | ||
49 | The second change in _composit.py basically removes the assumption | |
50 | that the child is in both self._children and self._divisions. | |
51 | Causes many problems when it's not. ;) | |
52 | ||
22685693 RD |
53 | Fixed GetSaveData and SetSaveData in wx.lib.multisash to not depend on |
54 | the default way that class objectss are converted to strings. | |
ca8071ca | 55 | |
7aada1e0 RD |
56 | Fixed problem in StyledTextCtrl.Set[H|V]ScrollBar that could leave the |
57 | internal scrollbar visible. | |
58 | ||
59 | Added wx.StandardPaths which provides methods for determining standard | |
60 | system paths for each platform. | |
61 | ||
9828eeb4 RD |
62 | wxMSW: The window background is now only erased by default if the |
63 | background colour or background mode has been changed. This better | |
64 | allows the default system themed behaviour to show through for | |
65 | uncustomized windows. Explicit support added for using the correct | |
66 | theme texture for wx.Notebook pages and their children. | |
67 | ||
68 | wx.Image: Added support for alpha channels in interpolated and | |
69 | non-interpolated image rotation. Added ConvertAlphaToMask helper | |
70 | method for turning shades of grey into shades of alpha and a colour. | |
71 | ||
72 | wxGTK2: Reimplemented DoDrawRotatedText() by way of a rotation of an | |
73 | alpha blended text bitmap. It would be better if Pango could draw | |
74 | directly into an wxImage (as FreeType can,) but that is for later... | |
75 | ||
850ab20b RD |
76 | Added wrappers and a demo for wx.MediaCtrl. |
77 | ||
78 | wxGTK: Patch applied for Freeze()/Thaw() for wxTextCtrtl. | |
79 | ||
80 | Added "gravity" for splitter window (patch 1046105). Gravity is a | |
81 | floating-point factor between 0.0 and 1.0 which controls position of | |
82 | sash while resizing the wx.SplitterWindow. The gravity specifies | |
83 | how much the left/top window will grow while resizing. | |
84 | ||
85 | wxMSW: wx.Slider's C++ implementation rewritten to be more | |
86 | maintainable and hopefully less buggy. The position of the labels has | |
87 | also been changed in order to better comply with Microsoft's examples | |
88 | of how to use the control. | |
9828eeb4 | 89 | |
7aada1e0 RD |
90 | |
91 | ||
ca8071ca RD |
92 | |
93 | ||
0dece789 | 94 | 2.5.3.1 |
4f5ff1b2 RD |
95 | ------- |
96 | ||
97 | wxMac focus and border refreshes corrected. | |
98 | ||
99 | Updated internal PNG library. | |
100 | ||
101 | wxMac fix for metal appearance on wx.ToolBar. | |
102 | ||
103 | wx.grid.Grid fix allowing DoGetBestSize to be called before CreateGrid | |
104 | (which means that a min size doesn't need to be specified.) | |
105 | ||
106 | wxMac fix for not sending a native click to a control if it is not | |
107 | enabled (does an enable itself) | |
108 | ||
31b46829 RD |
109 | Added wx.lib.ogl.DrawnShape, and fixed various little bugs in the new |
110 | OGL. | |
4f5ff1b2 RD |
111 | |
112 | Added support to XRC and XRCed for the 3-state checkbox flags and also | |
113 | for wx.ToggleButton. Updated the generic window styles supported by | |
114 | XRCed. | |
115 | ||
116 | It is now possible to create "stock" buttons. Basically this means | |
71e60f70 RD |
117 | that you only have to provide one of the stock IDs (and either an |
118 | empty label or a label that matches the stock label) when creating the | |
119 | button and wxWidgets will choose the stock label to go with it | |
120 | automatically. Additionally on the platforms that have a native | |
121 | concept of a stock button (currently only GTK2) then the native stock | |
122 | button will be used. For example, the following will result in a | |
123 | button with "Cancel" as the label and an accelerator on the "C", and | |
124 | if run on wxGTK2 then there will also be an image of a red X:: | |
4f5ff1b2 RD |
125 | |
126 | b = wx.Button(parent, wx.ID_CANCEL) | |
127 | ||
128 | ||
129 | Added wx.lib.ticker.Ticker class from Chris Mellon. | |
130 | ||
71e60f70 RD |
131 | Fix some incorrect clipping regions in wxSTC on wxGTK. |
132 | ||
133 | Added wrapper for wx.grid.Grid.GetOrCreateCellAttr. | |
134 | ||
11908acc RD |
135 | Removed my copy of distutils from the wxPython source tree. Now that |
136 | I am no longer doing builds on Python 2.1 the newest distutils is no | |
137 | longer needed. (There is still one small bug in Python 2.2 distutils | |
138 | on win32, but it is easily worked around.) This sovles the problem of | |
139 | incorrect builds on some systems where the system installed distutils | |
140 | has been patched to behave slightly differently, for example SuSE on | |
141 | x86_64 or Chandler's build. | |
142 | ||
da72c540 RD |
143 | Updated to SWIG 1.3.22 (plus my patch.) See wxPython/SWIG/README.txt |
144 | in the source tree if you need to use SWIG when building your own copy | |
145 | of wxPython, or other extension modules that need to integrate with | |
146 | the wxPython modules. | |
147 | ||
6afcb800 RD |
148 | Added wx.Frame.RequestUserAttention which, if the platform suports it, |
149 | will do something (such as flash the task bar item) to suggest to the | |
150 | user that they should look at that window. | |
151 | ||
31b46829 RD |
152 | "Fixed" wx.grid.Grid.SetDefaultEditor and SetDefaultRenderer by making |
153 | them register the editor or renderer for the "string" data type. | |
154 | ||
155 | Added depth param to wx.Image.ConvertToBitmap. | |
156 | ||
157 | Extended the wx.calendar.CalendarCtrl class with methods that get/set | |
158 | a Python datetime or date object. (These will only work with Python | |
159 | 2.3+) The methods are PySetDate, PyGetDate, PySetLowerDateLimit, | |
160 | PySetUpperDateLimit, PySetDateRange, PyGetLowerDateLimit, and | |
5f13b2ca RD |
161 | PyGetUpperDateLimit. Also, CalendarEvent was extended with PySetDate |
162 | and PyGetDate methods. | |
31b46829 | 163 | |
6c3f6fe9 RD |
164 | wxMSW: SetBackgroundColour on a wx.Choice or a wx.ComboBox will now |
165 | also set the colour of the dropdown. | |
166 | ||
8dca2f3d RD |
167 | wxMac: MessageDialog now supports wx.NO_DEFAULT style |
168 | ||
169 | wxMSW: added AssociateHandle and DissociateHandle to wx.Window | |
170 | ||
171 | wxMac: fix for toolbar tooltips | |
172 | ||
173 | wx.Sizer.Show (and Hide) now take an optional parameter specifying if | |
174 | the item to be shown should be searched for recursivly in subsizers, | |
175 | and return a boolean value indicating if the item was found. | |
176 | ||
96d49f0e RD |
177 | wxMSW: fixed MaximizeEvent generation in wx.Frame |
178 | ||
179 | wxMSW: fixed sending duplicate EVT_COMBOBOX events | |
180 | ||
181 | Smoother time estimation updates in wx.ProgressDialog (patch 992813) | |
182 | ||
183 | Made wx.Listbook events more consistent with wx.Notebook ones (patch | |
184 | 1001271) | |
185 | ||
186 | Fixed rounding errors in variable status bar panes widths computation | |
187 | (patch 1030021) | |
188 | ||
189 | Added possibility to specify printer bin (patch 910272) | |
190 | ||
191 | wxMSW: fixed wx.ListCtrl's SetWindowStyleFlag() to not remove | |
192 | WS_VISIBLE; also refresh the control automatically (closes bug | |
193 | 1019440) | |
194 | ||
195 | Added wx.Choicebook, yet another notebook-like control. | |
196 | ||
197 | wxMSW: Make radiobutton tab behaviour the same on MSW as in standard | |
198 | MSW app, i.e. tab into the activated, not necessarily the first radio | |
199 | button. | |
200 | ||
201 | Added limited support for wxEventLoop (you can't derive from a | |
202 | wx.PyEventLoop version yet...) Updated and moved the sample showing | |
203 | how to replace the MainLoop to samples/mainloop/mainloop.py. | |
8dca2f3d | 204 | |
38b97c15 RD |
205 | The C++ xrc lib has been moved out of contrib and into the core, so it |
206 | is always built by default. wxPython's build has also changed | |
207 | accordingly and will build the xrc module as part of the core set of | |
208 | modules built by default. If you were axplicitly using BUILD_XRC then | |
209 | it will no longer be recognized as a build option, otherwise you | |
210 | should notice no difference. | |
211 | ||
c0e1f6b6 RD |
212 | wxMac: Fixed radio toolbar buttons to correctly untoggle the others |
213 | when a new one is selected. | |
214 | ||
215 | wxMac: Fixed GetLineLength and GetLineText for MLTE text controls | |
216 | ||
217 | wxMac: wx.TaskBarIcon is implemented by allowing you to change the | |
218 | app's icon on the Dock and also specifying a menu that should be | |
219 | merged with the normal dock popup menu. See the MigrationGuide for | |
220 | more details and a warning. | |
221 | ||
222 | Added wx.TopLevelWindow.IsActive() which tells you if the frame or | |
223 | dialog is or containts the active window with the keyboard focus. | |
224 | ||
225 | Added ability to create a font based on pixel size rather than point | |
226 | size via the FontFromPixelSize constructor. | |
227 | ||
228 | Updated the Scintilla used by StyledTextCtrl to version 1.61 | |
229 | ||
230 | Improved image HitTest for TreeListCtrl. | |
231 | ||
232 | Added wx.App.IsMainLoopRunning. | |
233 | ||
234 | wxGTK: Make wxComboBox spit out a bit fewer surplus events when | |
235 | holding down the mouse button. | |
236 | ||
237 | wxGTK: Enable key based navigation through notebook tabs as in the | |
238 | native control with Left and right keys. Support for vetoing. | |
239 | ||
f54a36bb RD |
240 | FloatCanvas updates from Chris Barker |
241 | ||
242 | PyPlot updates from Gordon Williams: | |
243 | - Added bar graph demo | |
244 | - Modified line end shape from round to square. | |
b31cbeb9 RD |
245 | - Removed FloatDCWrapper for conversion to ints and ints in |
246 | arguments | |
247 | - Imported modules given leading underscore to name. | |
248 | - Added Cursor Line Tracking and User Point Labels. | |
249 | - Demo for Cursor Line Tracking and Point Labels. | |
250 | - Size of plot preview frame adjusted to show page better. | |
251 | - Added helper functions PositionUserToScreen and | |
252 | PositionScreenToUser in PlotCanvas. | |
253 | - Added functions GetClosestPoints (all curves) and GetClosestPoint | |
254 | (only closest curve) can be in either user coords or screen | |
255 | coords. | |
f54a36bb | 256 | |
f54a36bb RD |
257 | MaskedEdit updates from Will Sadkin: |
258 | - Added '*' mask char that means "all ansii chars" (ords 32-255) | |
259 | - Added proper unicode support to masked controls and wx.tools.dbg | |
260 | - Fixed two reported missing import bugs introduced by package | |
261 | creation | |
262 | - Converted masked package doc strings to reST format for better | |
263 | epydoc support | |
264 | - lots of doc string improvements and function hiding to better | |
265 | reflect package's public contents. | |
266 | ||
15513a80 RD |
267 | Restructured the installer packages slightly to help facilitate having |
268 | multiple versions of wxPython installed at the same time. See the | |
269 | Migrarion Guide for more information. | |
270 | ||
271 | Applied patch from Pim Van Heuven that modifies 4 files: | |
272 | - wxPython/demo/ListCtrl_edit.py (new demo) | |
273 | - wxPython/demo/Main.py (include new demo in demo app) | |
274 | - wxPython/wx/lib/mixins/listctrl.py (several improvements to | |
275 | TextEditMixin) | |
276 | - wxPython/wx/lib/wxpTag.py (some small fixes) | |
38b97c15 | 277 | |
f6f1e19f RD |
278 | Added (thanks to Kevin Ollivier!) wrappers for wx.WebKitCtrl for the |
279 | OSX build. Other platforms will raise an exception if you try to use | |
280 | it. | |
281 | ||
85245f48 RD |
282 | wxPython on OSX can now be built in Unicode mode, can support multiple |
283 | version installs, and comes with an uninstaller script. | |
284 | ||
285 | ||
4f5ff1b2 RD |
286 | |
287 | ||
3801d366 RD |
288 | |
289 | 2.5.2.8 | |
290 | ------- | |
291 | ||
b5f2d1f3 RD |
292 | Predominantly a bug-fix release. |
293 | ||
294 | * Fixed fatal error due to improper wrapping of wx.FSFile. | |
295 | ||
296 | * Fixed return type of EditableListBox.GetListCtrl | |
297 | ||
298 | * Give generic tree and list controls a DoGetBestSize so they play | |
299 | nicer with sizers when there is no minimal size. | |
300 | ||
301 | * Some tweaks in the demo and samples to correct layout, some | |
302 | flicker problems, and namespace use. | |
303 | ||
304 | * Add wx.Image.ConvertAlphaToMask | |
305 | ||
306 | * Minor corrections in wx.lib.dialogs | |
307 | ||
308 | * wx.FileHistory constructor now accepts the documented 2nd | |
309 | parameter. | |
310 | ||
311 | * Corrections for exceptions in the new ogl | |
312 | ||
313 | * Fixed XRCed to not use reparenting of windows to implement caching | |
314 | of property panels, since Reparent on wxMac is not implemented. | |
315 | ||
316 | * Add support for wxTAB_TRAVERSAL to the XRC handler for | |
317 | wxScrolledWindow. | |
318 | ||
319 | * Add support for all wxListBox styles to the XRC handler for | |
320 | wxCheckListBox. | |
321 | ||
322 | * Fix for wx.Listbook.DeleteAllPages to really delete everything. | |
323 | ||
324 | * wxGTK2 now supports alpha blended bitmap drawing | |
325 | ||
9c618512 RD |
326 | * Made wx.grid.Grid play nicer with sizers. |
327 | ||
b5f2d1f3 | 328 | * etc. |
3801d366 RD |
329 | |
330 | ||
331 | ||
332 | ||
e155ca47 | 333 | 2.5.2.7 |
95fed4d8 RD |
334 | ------- |
335 | ||
336 | wx.ADJUST_MINSIZE is now the default behaviour for window items in | |
ffcb969e RD |
337 | sizers. This means that the item's GetMinSize and/or GetBestSize will |
338 | be called when calculating layout and the return value from that will | |
cb8f28ba RD |
339 | be used for the minimum size used by the sizer. The wx.FIXED_MINSIZE |
340 | flag was added that will cause the sizer to use the old behaviour in | |
341 | that it will *not* call the window's methods to determine the new best | |
342 | size, instead the minsize that the window had when added to the sizer | |
da2c7672 RD |
343 | (or the size the window was created with) will always be used. Please |
344 | see the Sizers section in the Migration Guide for more details. | |
cb8f28ba | 345 | |
c878ceea RD |
346 | Added new MaskedEditControl code from Will Sadkin. The modules are |
347 | now locaed in their own sub-package, wx.lib.masked. Demos updated. | |
348 | ||
d7403ad2 RD |
349 | The changes that implemented the incompatible wx.DC methods in 2.5.1.5 |
350 | have been reverted. The wx.DC methods are now compatible with the 2.4 | |
351 | implemetation. In addition a set of renamed methods have been added | |
352 | that take wx.Point and/or wx.Size objects instead of individual | |
353 | parameters. | |
354 | ||
5841276a RD |
355 | Added wx.lib.mixins.listctrl.TextEditMixin, a mixin class that allows |
356 | all columns of a wx.ListCtrl in report mode to be edited. | |
ba938c3d | 357 | |
165e6ca3 RD |
358 | Deprecated the wx.iewin module. |
359 | ||
360 | Deprecated the wx.Sizer.AddWindow, AddSizer, AddSpacer methods as well | |
361 | as their Insert* and Prepend* counterparts. | |
362 | ||
969d9b6f RD |
363 | Added a generic StaticBitmap class in wx.lib.statbmp for the same |
364 | reasons that stattext was created, so it could be mouse sensitive on | |
365 | all platforms like normal windows. Also updated stattext.py and | |
366 | buttons.py to handle attribute (font & colour) defaults and | |
367 | inheritance the new way. If you have custom controls of your own you | |
368 | should review stattxt.py or one of the others to see how it is to be | |
369 | done. | |
165e6ca3 | 370 | |
a3150741 RD |
371 | wx.InitAllImageHandlers is now an empty function that does nothing but |
372 | exist for backwards compatibility. The C++ version is now called | |
373 | automatically when wxPython is initialized. Since all the handlers | |
374 | are included in the wxWidgets shared library anyway, this imposes only | |
375 | a very small amount of overhead and removes several unneccessary | |
376 | problems. | |
377 | ||
d1e05453 | 378 | Replaced wx/lib/pubsub.py with a version that uses weak references to |
89c876de RD |
379 | track the subscribers, plus other fixes/additions. Thanks go to |
380 | Oliver Schoenborn and Robb Shecter. | |
d1e05453 | 381 | |
89c876de RD |
382 | wxGTK now uses gtk_init_check so wxPython can raise an exception if |
383 | there is no DISPLAY available or other initializaion problem. | |
384 | ||
385 | wx.GetKeyState now has an implementation for wxGTK and is able to | |
386 | detect the up/down or toggle state of modifier and toggle keys. | |
387 | ||
388 | The LC_NUMERIC locale is now reset back to "C" (compatibility) when | |
389 | running on wxGTK to work around the fact that GTK requires the locale | |
390 | to be set to the system settings but Python depends on LC_NUMERIC | |
391 | remaining compatible with "C". | |
a3150741 | 392 | |
28eab81f RD |
393 | Switched gizmos.TreeListCtrl to the newer version of the code from the |
394 | wxCode project. | |
395 | ||
f847103a RD |
396 | OGL is dead! LONG LIVE OGL! (Oops, sorry. A bit of my dramatic side |
397 | leaked out there...) The wx.ogl module has been deprecated in favor | |
398 | of the new Python port of the OGL library located at wx.lib.ogl | |
399 |