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