]>
Commit | Line | Data |
---|---|---|
73adcb01 | 1 | Recent Changes for wxPython |
8eda5e35 | 2 | ===================================================================== |
6d75ea8f | 3 | |
8839b5ee RD |
4 | 2.6.0.0 |
5 | ------- | |
6 | ||
1ce1bd84 RD |
7 | wxMSW: Fixed wx.TransientPopupWindow (and therefore wx.TipWindow) to |
8 | auto-dismiss when the mouse is clicked outside of the popup like it is | |
9 | supposed to. | |
8839b5ee | 10 | |
1ce1bd84 RD |
11 | wxMSW: Fixed bug #1167891 wx.Notebook display problem with wx.NB_MULTILINE. |
12 | ||
13 | wxMSW: Fixed bad cliping of hidden windows inside of wx.StaticBox. | |
14 | ||
15 | wxGTK: The configure flags for selecting GTK+ 1.2.x or 2.x has | |
16 | changed slightly. It is now --with-gtk[=VERSION] where VERSION is | |
17 | either '1', '2' or 'any'. The default is '2'. | |
18 | ||
5091b1e8 | 19 | wx.stc.StyledTextCtrl: Added the following methods for alternate ways |
1ce1bd84 RD |
20 | to set and fetch text from the document buffer. They work similarly |
21 | to the existing methods of the same name, except that they don't go | |
22 | through the same string/unicode <--> wxString conversions. The "Raw" | |
5091b1e8 RD |
23 | methods will do no conversions at all and in a unicode build of |
24 | wxPython the strings will be in the utf-8 encoding and in an ansi | |
25 | build no assumption is made about the encoding. The "UTF8" functions | |
26 | will attempt to always get/set utf-8 text, which it will always be | |
27 | able to do in a unicode build, and in an ansi build it will depend on | |
28 | the content of the utf-8 used being compatible with the current | |
29 | encoding, (you'll get an exception otherwise.) | |
1ce1bd84 | 30 | |
33b0e2df RD |
31 | =================== ==================== |
32 | AddTextRaw AddTextUTF8 | |
33 | InsertTextRaw InsertTextUTF8 | |
34 | GetCurLineRaw GetCurLineUTF8 | |
35 | GetLineRaw GetLineUTF8 | |
36 | GetSelectedTextRaw GetSelectedTextUTF8 | |
37 | GetTextRangeRaw GetTextRangeUTF8 | |
38 | SetTextRaw SetTextUTF8 | |
39 | GetTextRaw GetTextUTF8 | |
40 | AppendTextRaw AppendTextUTF8 | |
41 | =================== ==================== | |
8839b5ee RD |
42 | |
43 | ||
583d32f6 RD |
44 | wx.stc.StyledTextCtrl: Added the StyleSetFontEncoding(style, enc) |
45 | method that allows you to set the encoding to be used by the font for | |
46 | a particular style. | |
47 | ||
e0304640 RD |
48 | wxMac: Fixed wx.ComboBox to forward the EVT_CHAR, EVT_KEY_DOWN, |
49 | EVT_KEY_UP and EVT_TEXT events from its embedded text control. | |
50 | ||
33b0e2df RD |
51 | wxMac: Corrected refresh bugs in wxGrid. |
52 | ||
a8e120ce RD |
53 | XRCed: Updated to version 0.1.5. |
54 | * Added wxWizard, wxWizardPageSimple (only from pull-down menu). | |
55 | * Hide command for test window. | |
56 | * Replacing classes works better. | |
57 | * Added Locate tool. | |
33b0e2df | 58 | |
8839b5ee RD |
59 | |
60 | ||
61 | ||
62 | 2.5.5.1 | |
41c48dbb RD |
63 | ------- |
64 | ||
65 | wxMSW: Fixed bug #1022383, 'several ComboBoxes appear selected' | |
66 | ||
67 | wx.grid.Grid: Fixed bug #1163384. Moved the code that handles | |
68 | activating the cell editors to a EVT_CHAR event handler. This is done | |
69 | so the character inserted into the editor will be the "cooked" char | |
70 | value (including accented or composed keys) rather than the raw code | |
1ce1bd84 | 71 | provided by the EVT_KEY_DOWN event. |
41c48dbb RD |
72 | |
73 | Added orient parameter to wx.MDIParentFrame.Tile() | |
74 | ||
75 | wxMSW: wxTextCtrl with wx.TE_RICH2 style now uses RichEdit 4.1 if | |
1ce1bd84 | 76 | available. |
41c48dbb RD |
77 | |
78 | Added GetCount, GetCountRGB, and GetCountColour methods to | |
1ce1bd84 | 79 | wx.ImageHistogram. |
41c48dbb | 80 | |
27ed367c RD |
81 | wxMSW: wx.Window.Refresh changed to explicitly refresh all children as |
82 | well as the parent. Previously it was implicitly done because parents | |
83 | did not clip their children by default. Now that they always clip | |
84 | children then Refresh needed to be fixed to do a recursive refresh. | |
85 | This also fixes the Freeze/Thaw problems that some people had with | |
86 | 2.5.4.1. | |
87 | ||
88 | wx.SplitterWindow: Send EVT_SPLITTER_SASH_POS_CHANGED only once after | |
89 | end of dragging and not after each CHANGING event (modified patch | |
90 | #1076226) | |
91 | ||
92 | wx.glcanvas.GLCanvas: applied patch fixing problems with X server | |
93 | crash when using nVidia cards (patch 1155132) | |
94 | ||
42f5333f RD |
95 | wx.lib.mixins.listctrl: Patches from Toni Brkic: |
96 | * Bugfix for TextEditMixin when the view can't be scrolled | |
1ce1bd84 | 97 | * Enhancement for ListCtrlAutoWidthMixin, allowing it to manage |
42f5333f RD |
98 | the width of any column. |
99 | ||
100 | wxMac: removal and reusing toolbar tools like the other platforms is | |
101 | now possible. | |
102 | ||
103 | wxMac: Correct radio tool selection after calling Realize a 2nd time. | |
104 | ||
105 | wxMSW: Applied patch #1166587, removes all flicker from wx.StaticBox | |
106 | ||
107 | Added wx.lib.foldpanelbar, Andrea Gavana's port of Jorgen Bodde's C++ | |
108 | wxFoldPanelBar classes to Python. | |
109 | ||
a2e26438 RD |
110 | wxGTK: Applied patch #1173802, reimplementation of GtkFileChooser |
111 | wxFileDialog by Mart Raudsepp. Note that this new file dialog is only | |
112 | used on GTK2 >= 2.4. For earlier GTK2 versions and GTK1 then the | |
113 | older generic file dialog is used. | |
114 | ||
115 | wxMSW: fixes to static box borders calculations (finalizes patch | |
116 | #1166587) | |
117 | ||
118 | wx.Image: Use Python's buffer interface API for all image data and | |
119 | alpha Set/Get methods and the ImageFromData* constructors. They all | |
120 | still copy the buffer except for SetDataBuffer and SetAlphaBuffer, but | |
121 | this gives more flexibility on where the data can come from. | |
122 | ||
2a13beb3 | 123 | Added MDI support to XRC |
b1baed85 | 124 | |
2e5aa9c4 RD |
125 | Added wx.animate module and a demo. The wx.animate module provides a |
126 | control that is able to display an animated GIF file. | |
127 | ||
128 | wx.lib.plot.py: Applied patch from Werner F. Bruhin that allows either | |
129 | vertical and/or horizontal gridlines. | |
130 | ||
b508ae3a RD |
131 | wxMSW: Extra space given for top border of wx.StaticBoxSizer so the |
132 | upper line is not cliped when there is no label. | |
133 | ||
134 | wxMSW: Restored old behaviour of wx.StaticBox.SetBackgroundColour only | |
135 | affecting the label. | |
136 | ||
137 | wxMSW: Fixed missing EVT_RIGHT_DOWN and EVT_TREE_ITEM_RIGHT_CLICK | |
138 | events in a wx.TreeCtrl. | |
139 | ||
791fbf34 RD |
140 | Added wx.GetTopLevelWindows() function which returns a copy of the |
141 | list of top-level windows that currently exist in the application. | |
2e5aa9c4 | 142 | |
3fa8f722 | 143 | Updated docview library modules and sample apps from the ActiveGrid |
1ce1bd84 | 144 | folks. |
3fa8f722 | 145 | |
1f780e48 | 146 | Added the ActiveGrid IDE as a sample application. |
b1baed85 | 147 | |
41c48dbb | 148 | |
ca8071ca | 149 | |
8839b5ee | 150 | |
2da0c077 | 151 | 2.5.4.1 |
ca8071ca RD |
152 | ------- |
153 | ||
3c1705d9 | 154 | wx.Sizer Add, Insert, and Prepend functions now return a reference to the |
6b9f434e RD |
155 | wx.SizerItem that was added to the sizer, and the wx.SizerItem has a |
156 | GetRect accessor to give the position of the item on the parent window. | |
7aada1e0 RD |
157 | |
158 | Added wx.Sizer.GetItem method which returns the wx.SizerItem for the given | |
159 | wx.Window, wx.Sizer or position index. | |
160 | ||
161 | wxMSW: wx.RadioButtons in the same group no longer have to be | |
162 | consecutive (there may be intervening controls). Without this fix, an | |
163 | out-of-sync assert is generated when clicking on a radio button and | |
164 | then calling GetValue(). | |
165 | ||
1ce1bd84 | 166 | Some XRC changes: |
66b50a8f RD |
167 | - Added 'icon' property to wxFrame and wxDialog |
168 | - No longer ignores menu bitmaps on non-MSW platforms | |
169 | - Notebook page bitmaps are now supported | |
9828eeb4 | 170 | - added system colours and fonts support (based on patch #1038207) |
7aada1e0 RD |
171 | |
172 | wxMSW: fix for [ 1052989 ] TextCtrl.SetBackgroundColour(wx.NullColour) | |
173 | bug. | |
174 | ||
175 | Added wx.PasswordEntryDialog analagous to wx.TextEntryDialog, allows | |
176 | detecting entering an empty string vs. cancel unlike the | |
177 | wx.GetPasswordFromUser dialog function. | |
178 | ||
ca8071ca RD |
179 | OGL patch from Shane Holloway: |
180 | ||
181 | Two simple problems found in the new python ogl code. First is | |
b3b61cda | 182 | the patch for _canvas.py. Essentially:: |
ca8071ca RD |
183 | |
184 | dx = abs(dc.LogicalToDeviceX(x - self._firstDragX)) | |
185 | dy = abs(dc.LogicalToDeviceY(y - self._firstDragY)) | |
186 | ||
187 | was incorrect because (x,y) and (self._firstDragX, | |
188 | self._firstDragY) are both already in Logical coordinates. | |
189 | Therefore the difference between the two is also in logical | |
190 | coordinates, and the conversion call is an error. This bug | |
191 | surfaces when you have OGL on a scrollwin, and you are far from | |
192 | the origin of the canvas. | |
193 | ||
194 | The second change in _composit.py basically removes the assumption | |
195 | that the child is in both self._children and self._divisions. | |
196 | Causes many problems when it's not. ;) | |
197 | ||
22685693 RD |
198 | Fixed GetSaveData and SetSaveData in wx.lib.multisash to not depend on |
199 | the default way that class objectss are converted to strings. | |
ca8071ca | 200 | |
3c1705d9 | 201 | Fixed problem in StyledTextCtrl.Set[HV]ScrollBar that could leave the |
7aada1e0 RD |
202 | internal scrollbar visible. |
203 | ||
204 | Added wx.StandardPaths which provides methods for determining standard | |
205 | system paths for each platform. | |
206 | ||
9828eeb4 RD |
207 | wxMSW: The window background is now only erased by default if the |
208 | background colour or background mode has been changed. This better | |
209 | allows the default system themed behaviour to show through for | |
210 | uncustomized windows. Explicit support added for using the correct | |
211 | theme texture for wx.Notebook pages and their children. | |
212 | ||
213 | wx.Image: Added support for alpha channels in interpolated and | |
214 | non-interpolated image rotation. Added ConvertAlphaToMask helper | |
215 | method for turning shades of grey into shades of alpha and a colour. | |
216 | ||
217 | wxGTK2: Reimplemented DoDrawRotatedText() by way of a rotation of an | |
218 | alpha blended text bitmap. It would be better if Pango could draw | |
219 | directly into an wxImage (as FreeType can,) but that is for later... | |
220 | ||
3c1705d9 RD |
221 | Added wrappers and a demo for the wx.MediaCtrl class, which can play |
222 | various forms of audio/video media using native codecs install on the | |
223 | system. So far it is only implemented for Windows and OSX. | |
850ab20b RD |
224 | |
225 | wxGTK: Patch applied for Freeze()/Thaw() for wxTextCtrtl. | |
226 | ||
227 | Added "gravity" for splitter window (patch 1046105). Gravity is a | |
228 | floating-point factor between 0.0 and 1.0 which controls position of | |
229 | sash while resizing the wx.SplitterWindow. The gravity specifies | |
230 | how much the left/top window will grow while resizing. | |
231 | ||
232 | wxMSW: wx.Slider's C++ implementation rewritten to be more | |
233 | maintainable and hopefully less buggy. The position of the labels has | |
234 | also been changed in order to better comply with Microsoft's examples | |
235 | of how to use the control. | |
9828eeb4 | 236 | |
94fd5e4d RD |
237 | wxMSW: Fix wx.TreeCtrl to end label editing if the control loses |
238 | focus (a slightly modified patch 1084592.) | |
239 | ||
240 | Added wx.EXEC_NODISABLE flag for wx.Execute, which will prevent all | |
241 | the app's windows being disabled while a synchronous child process is | |
1ce1bd84 | 242 | running. |
94fd5e4d RD |
243 | |
244 | wxMSW: Much work to correct painting (or leaving transparent) of | |
245 | control backgrounds, properly using background themes on XP, etc. | |
246 | ||
247 | Fixed a circular reference problem with wx.Timer. It will now | |
248 | completely cleanup after itself when the last reference to the timer | |
249 | is removed. If you were previously using timer.Destroy() to cleanup | |
250 | your timers it will no longer work. Instead you should hold a | |
251 | reference to the timer and then del the reference when you are | |
252 | finished with the timer. | |
7aada1e0 | 253 | |
3c1705d9 RD |
254 | Updated to 1.3.24 of SWIG. All of my big patches have been applied to |
255 | the main SWIG source tree, but unfortunatly there were also some bugs | |
256 | added that affected the wxPython build and a few details in my | |
257 | original patch were changed/removed, so we are still not free of | |
258 | patches. A new patch for SWIG is located in the wxPython/SWIG | |
259 | directory of the wxPython source tree. SWIG 1.3.24 plus this patch | |
260 | should be used by anyone who is making custom modifications to | |
b3b61cda | 261 | wxPython's .i files, or building their own extension modules or |
3c1705d9 RD |
262 | etc. that need to interact with the wxPython swigged types. For the |
263 | morbidly curious, here are a few more details: | |
264 | ||
265 | * Since it is now possible easily and simply share the SWIG type | |
266 | tables across modules I reverted to always using the stock SWIG | |
267 | runtime instead of my slightly hacked up version of it exported | |
268 | via the wxPython C API. | |
269 | ||
54e72b1a | 270 | * The %name directive is now deprecated so I replaced most uses of |
3c1705d9 RD |
271 | it with a custom %Rename macro that uses %rename internally. |
272 | These will evetually need to be replaced with a DocDecl macro | |
aeee37c3 | 273 | when docstrings are added for those items. |
3c1705d9 RD |
274 | |
275 | * The "this" attribute of all SWIGged classes is no longer a | |
276 | string containing a "swigified pointer", but rather a custom | |
277 | built-in type that holds the real C pointer to the object and | |
278 | the type info. It can be converted to a string like the old | |
279 | value using str() or to the long integer value of the pointer | |
280 | using long(). | |
281 | ||
669e06d7 RD |
282 | Added SetDefaultPyEncoding and GetDefaultPyEncoding functions which |
283 | will set/get the encoding used by wxPython to convert string or | |
284 | unicode objects to/from wxString objects. Previously the default | |
285 | Python encoding was always used, but unless the user had tweaked their | |
286 | sitecustomize.py file it is always "ascii", which would result in | |
287 | errors if the strings contained character codes >= 128. | |
288 | SetDefaultPyEncoding will now allow you to control which encoding will | |
289 | be used to do those conversions. The default encoding is set to the | |
290 | value of `locale.getdefaultlocale()[1]` when wxPython is first | |
291 | imported. Please see http://www.alanwood.net/demos/charsetdiffs.html | |
9283228f RD |
292 | for information on the differences between the common latin/roman |
293 | encodings. | |
294 | ||
295 | Added wxStdDialogButtonSizer, which is a a special sizer that knows | |
296 | how to order and position standard buttons in order to conform to the | |
297 | current platform's standards. You simply need to add each `wx.Button` | |
298 | to the sizer, and be sure to create the buttons using the standard | |
7257be76 | 299 | ID's. Then call `Realize` and the sizer will take care of the rest. |
669e06d7 | 300 | |
d31aa173 RD |
301 | wxMSW Toolbar: pass correct tool id (and not always -1) to the |
302 | EVT_TOOL_RCLICKED handler | |
303 | ||
b76160ef | 304 | wxGTK: Applied patch for combo box SELECTED events (no longer get |
d31aa173 RD |
305 | lots of surplus events) |
306 | ||
307 | wxGTK: Applied patch for proper menu highlight colour detection in | |
308 | wx.SystemSettings. | |
3c1705d9 | 309 | |
aeee37c3 RD |
310 | wxGTK: Commited scrollbar patch #1093339 which sends lineup, linedown |
311 | events based on intercepting the mouse down events. | |
312 | ||
313 | wxGTK: Applied patch #1102789 which solved conflicts between wxWidgets | |
314 | and GTK+'s context menu code. | |
315 | ||
316 | wxGTK: Applied patch #1100327 for correct feedback from DND actions | |
317 | (not all actions are allowed). | |
318 | ||
b3b61cda | 319 | Fixed memory leak in wxGrid::UpdateAttr[Rows][Or][Cols] (patch 1104355) |
aeee37c3 RD |
320 | |
321 | For efficiency reasons, text controls no longer set the string for | |
322 | each text updated event, but rather query for the string value only | |
323 | when GetString is called from an event handler. | |
324 | ||
325 | Added wx.SL_INVERSE style which will cause wx.Slider to invert the min | |
c6b65b76 | 326 | and max ends of the slider. |
aeee37c3 | 327 | |
e6bd0b8b RD |
328 | Several patches applied, such as #1111174, #1110252 and others, that |
329 | make the generic wx.TreeCtrl (used on wxGTK and wxMac) be more | |
330 | conistent with the wxMSW native wx.TreeCtrl. | |
331 | ||
e6bd0b8b RD |
332 | XRCed: |
333 | * Edit->Locate command (Ctrl-L) for quick selection of items. | |
334 | Works with event-handling controls (buttons, text fields) but | |
335 | not with labels/sizers. | |
336 | * Some improvements: relative paths for files supplied as command- | |
337 | line argument work correctly, notebook panels are highlighted | |
338 | better. | |
339 | ||
340 | wxMac: Fixed a long-standing issue where wxSlider controls with a | |
341 | hardcoded size would misplace their labels behind the slider control. | |
342 | ||
343 | wx.HtmlListBox fixed so calling RefreshLine(s) will cause the data for | |
b3b61cda RD |
344 | that line to be refetched from the overridden methods in the derived |
345 | class. | |
e6bd0b8b RD |
346 | |
347 | The default DoGetBestSize now includes the difference (if any) between | |
b3b61cda RD |
348 | the client size and total size of the window, (such as the size of |
349 | borders.) Code that sets the client size using the best size, or that | |
350 | added extra space to sizers to compensate for this bug may need to be | |
351 | changed. | |
352 | ||
353 | Can suppress themed notebook pages with the wxNB_NOPAGETHEME style or | |
354 | setting system option msw.notebook.themed-background to 0. | |
355 | ||
356 | wxSyledTextCtrl updated to use Scintilla 1.62. | |
357 | ||
358 | Can now set the msw.window.no-clip-children system option to 1 to | |
359 | eliminate weird refresh behaviour (delays between a window being | |
360 | erased and repainted, giving a ghostly gradual-redraw effect). May be | |
361 | a temporary 'fix' until properly fixed before 2.6. | |
e6bd0b8b | 362 | |
b3b61cda | 363 | wxMac: Toolbar is now more native looking with borderless toolbar |
1ce1bd84 | 364 | buttons. |
e6bd0b8b | 365 | |
67a5217c RD |
366 | wxMac: Switched wx.Bitmap to use newer Quartz object types and APIs |
367 | internally. This results in faster display and better alpha support. | |
368 | ||
b3b61cda | 369 | Added wx.DatePickerCtrl. |
aeee37c3 | 370 | |
51c5e1f2 RD |
371 | wx.html.HtmlWindow now supports background images. |
372 | ||
373 | Added wx.lib.gestures module from Daniel Pozmanter which supports | |
374 | using Mouse Gestures in an application. | |
375 | ||
2da0c077 RD |
376 | wxGTK2: ENTER and LEAVE mouse events are now sent for multi-line text |
377 | controls. | |
378 | ||
379 | wxMSW: "Alt" key (VK_MENU) now results in WXK_ALT keyboard event, not | |
380 | WXK_MENU | |
381 | ||
d1dc2b32 RD |
382 | Added modules from Peter Yared and Morgan Hua that implement the wx |
383 | Doc/View framework in pure Python code. See wx.lib.docview for the | |
384 | base implementation and wx.lib.pydocview for Python-specific | |
385 | extensions. There are also a couple sample applications located in | |
1ce1bd84 | 386 | samples/docview. |
2da0c077 | 387 | |
e63d6c30 RD |
388 | Added GetBitmap, GetIcon to wx.ImageList. |
389 | ||
390 | wxGTK wx.Button.SetLabel no longer invalidates/resets the font. | |
391 | ||
392 | wx.Sizer.AddWindow, AddSizer, AddSpacer and etc. have now been | |
393 | undeprecated at the request of Riaan Booysen, the Boa Constructor team | |
394 | lead. Boa needs them to help keep track of what kind of item is being | |
395 | managed by the sizer. They are now just simple compatibility aliases | |
396 | for Add, and etc. | |
397 | ||
a0c70b76 RD |
398 | The old C++ version of the OGL lib is no longer built by default. Use |
399 | the Python version in the wx.lib.ogl package instead. | |
400 | ||
401 | The wx.iewin module is no longer built by default. You can use the | |
402 | wx.lib.iewin version instead. | |
403 | ||
67a5217c RD |
404 | Fixed wx.BufferedPaintDC for scrolled windows to work whether the |
405 | buffer is covering only the client area or the full virtual area of | |
406 | the scrolled window. By default it will assume that only the client | |
3ad32bab RD |
407 | area is covered. This is different than the old behavior so to |
408 | indicate that the entire virtual area is covered simply add a | |
409 | style=wx.BUFFER_VIRTUAL_AREA parameter. | |
67a5217c RD |
410 | |
411 | wx.gizmos.TreeListCtrl: Add support for the EVT_TREE_ITEM_GETTOOLTIP | |
1ce1bd84 | 412 | event. |
2da0c077 | 413 | |
2314e5ec | 414 | Added Resize, SetRGBRect, Size, and GetOrFindMaskColour methods to |
1ce1bd84 | 415 | wx.Image. |
2314e5ec RD |
416 | |
417 | Added wx.Rect.IsEmpty | |
418 | ||
7b625c31 RD |
419 | wxGTK: |
420 | - Corrected wx.ListBox selection handling | |
421 | - Corrected default button size handling for different themes | |
422 | - Corrected splitter sash size and look for different themes | |
423 | - Fixed keyboard input for dead-keys | |
2314e5ec | 424 | |
7aada1e0 | 425 | |
ca8071ca RD |
426 | |
427 | ||
0dece789 | 428 | 2.5.3.1 |
4f5ff1b2 RD |
429 | ------- |
430 | ||
431 | wxMac focus and border refreshes corrected. | |
432 | ||
433 | Updated internal PNG library. | |
434 | ||
435 | wxMac fix for metal appearance on wx.ToolBar. | |
436 | ||
437 | wx.grid.Grid fix allowing DoGetBestSize to be called before CreateGrid | |
438 | (which means that a min size doesn't need to be specified.) | |
439 | ||
440 | wxMac fix for not sending a native click to a control if it is not | |
441 | enabled (does an enable itself) | |
442 | ||
31b46829 | 443 | Added wx.lib.ogl.DrawnShape, and fixed various little bugs in the new |
1ce1bd84 | 444 | OGL. |
4f5ff1b2 RD |
445 | |
446 | Added support to XRC and XRCed for the 3-state checkbox flags and also | |
447 | for wx.ToggleButton. Updated the generic window styles supported by | |
1ce1bd84 | 448 | XRCed. |
4f5ff1b2 RD |
449 | |
450 | It is now possible to create "stock" buttons. Basically this means | |
71e60f70 RD |
451 | that you only have to provide one of the stock IDs (and either an |
452 | empty label or a label that matches the stock label) when creating the | |
453 | button and wxWidgets will choose the stock label to go with it | |
454 | automatically. Additionally on the platforms that have a native | |
455 | concept of a stock button (currently only GTK2) then the native stock | |
456 | button will be used. For example, the following will result in a | |
e6bd0b8b RD |
457 | button with "Cancel" as the label and if run on wxGTK2 then there will |
458 | also be an image of a red X:: | |
4f5ff1b2 | 459 | |
1ce1bd84 | 460 | b = wx.Button(parent, wx.ID_CANCEL) |
4f5ff1b2 RD |
461 | |
462 | ||
463 | Added wx.lib.ticker.Ticker class from Chris Mellon. | |
464 | ||
71e60f70 RD |
465 | Fix some incorrect clipping regions in wxSTC on wxGTK. |
466 | ||
467 | Added wrapper for wx.grid.Grid.GetOrCreateCellAttr. | |
468 | ||
11908acc RD |
469 | Removed my copy of distutils from the wxPython source tree. Now that |
470 | I am no longer doing builds on Python 2.1 the newest distutils is no | |
471 | longer needed. (There is still one small bug in Python 2.2 distutils | |
472 | on win32, but it is easily worked around.) This sovles the problem of | |
473 | incorrect builds on some systems where the system installed distutils | |
474 | has been patched to behave slightly differently, for example SuSE on | |
475 | x86_64 or Chandler's build. | |
476 | ||
da72c540 RD |
477 | Updated to SWIG 1.3.22 (plus my patch.) See wxPython/SWIG/README.txt |
478 | in the source tree if you need to use SWIG when building your own copy | |
479 | of wxPython, or other extension modules that need to integrate with | |
480 | the wxPython modules. | |
481 | ||
6afcb800 RD |
482 | Added wx.Frame.RequestUserAttention which, if the platform suports it, |
483 | will do something (such as flash the task bar item) to suggest to the | |
484 | user that they should look at that window. | |
485 | ||
31b46829 RD |
486 | "Fixed" wx.grid.Grid.SetDefaultEditor and SetDefaultRenderer by making |
487 | them register the editor or renderer for the "string" data type. | |
488 | ||
489 | Added depth param to wx.Image.ConvertToBitmap. | |
490 | ||
491 | Extended the wx.calendar.CalendarCtrl class with methods that get/set | |
492 | a Python datetime or date object. (These will only work with Python | |
493 | 2.3+) The methods are PySetDate, PyGetDate, PySetLowerDateLimit, | |
494 | PySetUpperDateLimit, PySetDateRange, PyGetLowerDateLimit, and | |
5f13b2ca RD |
495 | PyGetUpperDateLimit. Also, CalendarEvent was extended with PySetDate |
496 | and PyGetDate methods. | |
31b46829 | 497 | |
6c3f6fe9 RD |
498 | wxMSW: SetBackgroundColour on a wx.Choice or a wx.ComboBox will now |
499 | also set the colour of the dropdown. | |
500 | ||
8dca2f3d RD |
501 | wxMac: MessageDialog now supports wx.NO_DEFAULT style |
502 | ||
503 | wxMSW: added AssociateHandle and DissociateHandle to wx.Window | |
504 | ||
505 | wxMac: fix for toolbar tooltips | |
506 | ||
507 | wx.Sizer.Show (and Hide) now take an optional parameter specifying if | |
508 | the item to be shown should be searched for recursivly in subsizers, | |
509 | and return a boolean value indicating if the item was found. | |
510 | ||
96d49f0e RD |
511 | wxMSW: fixed MaximizeEvent generation in wx.Frame |
512 | ||
513 | wxMSW: fixed sending duplicate EVT_COMBOBOX events | |
514 | ||
515 | Smoother time estimation updates in wx.ProgressDialog (patch 992813) | |
516 | ||
517 | Made wx.Listbook events more consistent with wx.Notebook ones (patch | |
518 | 1001271) | |
519 | ||
520 | Fixed rounding errors in variable status bar panes widths computation | |
521 | (patch 1030021) | |
522 | ||
523 | Added possibility to specify printer bin (patch 910272) | |
524 | ||
525 | wxMSW: fixed wx.ListCtrl's SetWindowStyleFlag() to not remove | |
526 | WS_VISIBLE; also refresh the control automatically (closes bug | |
527 | 1019440) | |
528 | ||
529 | Added wx.Choicebook, yet another notebook-like control. | |
530 | ||
531 | wxMSW: Make radiobutton tab behaviour the same on MSW as in standard | |
532 | MSW app, i.e. tab into the activated, not necessarily the first radio | |
533 | button. | |
534 | ||
535 | Added limited support for wxEventLoop (you can't derive from a | |
536 | wx.PyEventLoop version yet...) Updated and moved the sample showing | |
537 | how to replace the MainLoop to samples/mainloop/mainloop.py. | |
8dca2f3d | 538 | |
38b97c15 RD |
539 | The C++ xrc lib has been moved out of contrib and into the core, so it |
540 | is always built by default. wxPython's build has also changed | |
541 | accordingly and will build the xrc module as part of the core set of | |
542 | modules built by default. If you were axplicitly using BUILD_XRC then | |
543 | it will no longer be recognized as a build option, otherwise you | |
544 | should notice no difference. | |
545 | ||
c0e1f6b6 RD |
546 | wxMac: Fixed radio toolbar buttons to correctly untoggle the others |
547 | when a new one is selected. | |
548 | ||
549 | wxMac: Fixed GetLineLength and GetLineText for MLTE text controls | |
550 | ||
551 | wxMac: wx.TaskBarIcon is implemented by allowing you to change the | |
552 | app's icon on the Dock and also specifying a menu that should be | |
553 | merged with the normal dock popup menu. See the MigrationGuide for | |
554 | more details and a warning. | |
555 | ||
556 | Added wx.TopLevelWindow.IsActive() which tells you if the frame or | |
557 | dialog is or containts the active window with the keyboard focus. | |
558 | ||
559 | Added ability to create a font based on pixel size rather than point | |
560 | size via the FontFromPixelSize constructor. | |
561 | ||
562 | Updated the Scintilla used by StyledTextCtrl to version 1.61 | |
563 | ||
564 | Improved image HitTest for TreeListCtrl. | |
565 | ||
566 | Added wx.App.IsMainLoopRunning. | |
567 | ||
568 | wxGTK: Make wxComboBox spit out a bit fewer surplus events when | |
569 | holding down the mouse button. | |
570 | ||
571 | wxGTK: Enable key based navigation through notebook tabs as in the | |
572 | native control with Left and right keys. Support for vetoing. | |
573 | ||
f54a36bb RD |
574 | FloatCanvas updates from Chris Barker |
575 | ||
576 | PyPlot updates from Gordon Williams: | |
577 | - Added bar graph demo | |
578 | - Modified line end shape from round to square. | |
b31cbeb9 RD |
579 | - Removed FloatDCWrapper for conversion to ints and ints in |
580 | arguments | |
581 | - Imported modules given leading underscore to name. | |
1ce1bd84 | 582 | - Added Cursor Line Tracking and User Point Labels. |
b31cbeb9 RD |
583 | - Demo for Cursor Line Tracking and Point Labels. |
584 | - Size of plot preview frame adjusted to show page better. | |
585 | - Added helper functions PositionUserToScreen and | |
586 | PositionScreenToUser in PlotCanvas. | |
587 | - Added functions GetClosestPoints (all curves) and GetClosestPoint | |
588 | (only closest curve) can be in either user coords or screen | |
589 | coords. | |
f54a36bb | 590 | |
f54a36bb RD |
591 | MaskedEdit updates from Will Sadkin: |
592 | - Added '*' mask char that means "all ansii chars" (ords 32-255) | |
593 | - Added proper unicode support to masked controls and wx.tools.dbg | |
594 | - Fixed two reported missing import bugs introduced by package | |
595 | creation | |
596 | - Converted masked package doc strings to reST format for better | |
597 | epydoc support | |
598 | - lots of doc string improvements and function hiding to better | |
599 | reflect package's public contents. | |
600 | ||
15513a80 RD |
601 | Restructured the installer packages slightly to help facilitate having |
602 | multiple versions of wxPython installed at the same time. See the | |
603 | Migrarion Guide for more information. | |
604 | ||
605 | Applied patch from Pim Van Heuven that modifies 4 files: | |
606 | - wxPython/demo/ListCtrl_edit.py (new demo) | |
607 | - wxPython/demo/Main.py (include new demo in demo app) | |
1ce1bd84 | 608 | - wxPython/wx/lib/mixins/listctrl.py (several improvements to |
15513a80 RD |
609 | TextEditMixin) |
610 | - wxPython/wx/lib/wxpTag.py (some small fixes) | |
38b97c15 | 611 | |
f6f1e19f RD |
612 | Added (thanks to Kevin Ollivier!) wrappers for wx.WebKitCtrl for the |
613 | OSX build. Other platforms will raise an exception if you try to use | |
1ce1bd84 | 614 | it. |
f6f1e19f | 615 | |
85245f48 RD |
616 | wxPython on OSX can now be built in Unicode mode, can support multiple |
617 | version installs, and comes with an uninstaller script. | |
618 | ||
619 | ||
4f5ff1b2 RD |
620 | |
621 | ||
3801d366 RD |
622 | |
623 | 2.5.2.8 | |
624 | ------- | |
625 | ||
b5f2d1f3 RD |
626 | Predominantly a bug-fix release. |
627 | ||
628 | * Fixed fatal error due to improper wrapping of wx.FSFile. | |
629 | ||
630 | * Fixed return type of EditableListBox.GetListCtrl | |
631 | ||
632 | * Give generic tree and list controls a DoGetBestSize so they play | |
633 | nicer with sizers when there is no minimal size. | |
634 | ||
635 | * Some tweaks in the demo and samples to correct layout, some | |
636 | flicker problems, and namespace use. | |
637 | ||
638 | * Add wx.Image.ConvertAlphaToMask | |
639 | ||
640 | * Minor corrections in wx.lib.dialogs | |
641 | ||
642 | * wx.FileHistory constructor now accepts the documented 2nd | |
643 | parameter. | |
644 | ||
645 | * Corrections for exceptions in the new ogl | |
646 | ||
647 | * Fixed XRCed to not use reparenting of windows to implement caching | |
648 | of property panels, since Reparent on wxMac is not implemented. | |
649 | ||
650 | * Add support for wxTAB_TRAVERSAL to the XRC handler for | |
1ce1bd84 | 651 | wxScrolledWindow. |
b5f2d1f3 RD |
652 | |
653 | * Add support for all wxListBox styles to the XRC handler for | |
1ce1bd84 | 654 | wxCheckListBox. |
b5f2d1f3 RD |
655 | |
656 | * Fix for wx.Listbook.DeleteAllPages to really delete everything. | |
657 | ||
658 | * wxGTK2 now supports alpha blended bitmap drawing | |
659 | ||
9c618512 RD |
660 | * Made wx.grid.Grid play nicer with sizers. |
661 | ||
b5f2d1f3 | 662 | * etc. |
3801d366 RD |
663 | |
664 | ||
665 | ||
666 | ||
e155ca47 | 667 | 2.5.2.7 |
95fed4d8 RD |
668 | ------- |
669 | ||
670 | wx.ADJUST_MINSIZE is now the default behaviour for window items in | |
ffcb969e RD |
671 | sizers. This means that the item's GetMinSize and/or GetBestSize will |
672 | be called when calculating layout and the return value from that will | |
cb8f28ba RD |
673 | be used for the minimum size used by the sizer. The wx.FIXED_MINSIZE |
674 | flag was added that will cause the sizer to use the old behaviour in | |
675 | that it will *not* call the window's methods to determine the new best | |
676 | size, instead the minsize that the window had when added to the sizer | |
da2c7672 RD |
677 | (or the size the window was created with) will always be used. Please |
678 | see the Sizers section in the Migration Guide for more details. | |
cb8f28ba | 679 | |
c878ceea RD |
680 | Added new MaskedEditControl code from Will Sadkin. The modules are |
681 | now locaed in their own sub-package, wx.lib.masked. Demos updated. | |
682 | ||
d7403ad2 RD |
683 | The changes that implemented the incompatible wx.DC methods in 2.5.1.5 |
684 | have been reverted. The wx.DC methods are now compatible with the 2.4 | |
685 | implemetation. In addition a set of renamed methods have been added | |
686 | that take wx.Point and/or wx.Size objects instead of individual | |
1ce1bd84 | 687 | parameters. |
d7403ad2 | 688 | |
5841276a RD |
689 | Added wx.lib.mixins.listctrl.TextEditMixin, a mixin class that allows |
690 | all columns of a wx.ListCtrl in report mode to be edited. | |
ba938c3d | 691 | |
165e6ca3 RD |
692 | Deprecated the wx.iewin module. |
693 | ||
694 | Deprecated the wx.Sizer.AddWindow, AddSizer, AddSpacer methods as well | |
695 | as their Insert* and Prepend* counterparts. | |
696 | ||
969d9b6f RD |
697 | Added a generic StaticBitmap class in wx.lib.statbmp for the same |
698 | reasons that stattext was created, so it could be mouse sensitive on | |
699 | all platforms like normal windows. Also updated stattext.py and | |
700 | buttons.py to handle attribute (font & colour) defaults and | |
701 | inheritance the new way. If you have custom controls of your own you | |
702 | should review stattxt.py or one of the others to see how it is to be | |
703 | done. | |
165e6ca3 | 704 | |
a3150741 RD |
705 | wx.InitAllImageHandlers is now an empty function that does nothing but |
706 | exist for backwards compatibility. The C++ version is now called | |
707 | automatically when wxPython is initialized. Since all the handlers | |
708 | are included in the wxWidgets shared library anyway, this imposes only | |
709 | a very small amount of overhead and removes several unneccessary | |
710 | problems. | |
711 | ||
d1e05453 | 712 | Replaced wx/lib/pubsub.py with a version that uses weak references to |
89c876de RD |
713 | track the subscribers, plus other fixes/additions. Thanks go to |
714 | Oliver Schoenborn and Robb Shecter. | |
d1e05453 | 715 | |
89c876de RD |
716 | wxGTK now uses gtk_init_check so wxPython can raise an exception if |
717 | there is no DISPLAY available or other initializaion problem. | |
718 | ||
719 | wx.GetKeyState now has an implementation for wxGTK and is able to | |
720 | detect the up/down or toggle state of modifier and toggle keys. | |
721 | ||
722 | The LC_NUMERIC locale is now reset back to "C" (compatibility) when | |
723 | running on wxGTK to work around the fact that GTK requires the locale | |
724 | to be set to the system settings but Python depends on LC_NUMERIC | |
725 | remaining compatible with "C". | |
a3150741 | 726 | |
28eab81f RD |
727 | Switched gizmos.TreeListCtrl to the newer version of the code from the |
728 | wxCode project. | |
729 | ||
f847103a RD |
730 | OGL is dead! LONG LIVE OGL! (Oops, sorry. A bit of my dramatic side |
731 | leaked out there...) The wx.ogl module has been deprecated in favor | |
732 | of the new Python port of the OGL library located at wx.lib.ogl | |
733 |