]>
Commit | Line | Data |
---|---|---|
8eda5e35 RD |
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" /> | |
974a50f1 | 6 | <meta name="generator" content="Docutils 0.4: http://docutils.sourceforge.net/" /> |
73adcb01 | 7 | <title>Recent Changes for wxPython</title> |
974a50f1 RD |
8 | <style type="text/css"> |
9 | ||
10 | /* | |
11 | :Author: David Goodger | |
12 | :Contact: goodger@users.sourceforge.net | |
13 | :Date: $Date$ | |
14 | :Revision: $Revision$ | |
15 | :Copyright: This stylesheet has been placed in the public domain. | |
16 | ||
17 | Default cascading style sheet for the HTML output of Docutils. | |
18 | ||
19 | See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to | |
20 | customize this style sheet. | |
21 | */ | |
22 | ||
23 | /* used to remove borders from tables and images */ | |
24 | .borderless, table.borderless td, table.borderless th { | |
25 | border: 0 } | |
26 | ||
27 | table.borderless td, table.borderless th { | |
28 | /* Override padding for "table.docutils td" with "! important". | |
29 | The right padding separates the table cells. */ | |
30 | padding: 0 0.5em 0 0 ! important } | |
31 | ||
32 | .first { | |
33 | /* Override more specific margin styles with "! important". */ | |
34 | margin-top: 0 ! important } | |
35 | ||
36 | .last, .with-subtitle { | |
37 | margin-bottom: 0 ! important } | |
38 | ||
39 | .hidden { | |
40 | display: none } | |
41 | ||
42 | a.toc-backref { | |
43 | text-decoration: none ; | |
44 | color: black } | |
45 | ||
46 | blockquote.epigraph { | |
47 | margin: 2em 5em ; } | |
48 | ||
49 | dl.docutils dd { | |
50 | margin-bottom: 0.5em } | |
51 | ||
52 | /* Uncomment (and remove this text!) to get bold-faced definition list terms | |
53 | dl.docutils dt { | |
54 | font-weight: bold } | |
55 | */ | |
56 | ||
57 | div.abstract { | |
58 | margin: 2em 5em } | |
59 | ||
60 | div.abstract p.topic-title { | |
61 | font-weight: bold ; | |
62 | text-align: center } | |
63 | ||
64 | div.admonition, div.attention, div.caution, div.danger, div.error, | |
65 | div.hint, div.important, div.note, div.tip, div.warning { | |
66 | margin: 2em ; | |
67 | border: medium outset ; | |
68 | padding: 1em } | |
69 | ||
70 | div.admonition p.admonition-title, div.hint p.admonition-title, | |
71 | div.important p.admonition-title, div.note p.admonition-title, | |
72 | div.tip p.admonition-title { | |
73 | font-weight: bold ; | |
74 | font-family: sans-serif } | |
75 | ||
76 | div.attention p.admonition-title, div.caution p.admonition-title, | |
77 | div.danger p.admonition-title, div.error p.admonition-title, | |
78 | div.warning p.admonition-title { | |
79 | color: red ; | |
80 | font-weight: bold ; | |
81 | font-family: sans-serif } | |
82 | ||
83 | /* Uncomment (and remove this text!) to get reduced vertical space in | |
84 | compound paragraphs. | |
85 | div.compound .compound-first, div.compound .compound-middle { | |
86 | margin-bottom: 0.5em } | |
87 | ||
88 | div.compound .compound-last, div.compound .compound-middle { | |
89 | margin-top: 0.5em } | |
90 | */ | |
91 | ||
92 | div.dedication { | |
93 | margin: 2em 5em ; | |
94 | text-align: center ; | |
95 | font-style: italic } | |
96 | ||
97 | div.dedication p.topic-title { | |
98 | font-weight: bold ; | |
99 | font-style: normal } | |
100 | ||
101 | div.figure { | |
102 | margin-left: 2em ; | |
103 | margin-right: 2em } | |
104 | ||
105 | div.footer, div.header { | |
106 | clear: both; | |
107 | font-size: smaller } | |
108 | ||
109 | div.line-block { | |
110 | display: block ; | |
111 | margin-top: 1em ; | |
112 | margin-bottom: 1em } | |
113 | ||
114 | div.line-block div.line-block { | |
115 | margin-top: 0 ; | |
116 | margin-bottom: 0 ; | |
117 | margin-left: 1.5em } | |
118 | ||
119 | div.sidebar { | |
120 | margin-left: 1em ; | |
121 | border: medium outset ; | |
122 | padding: 1em ; | |
123 | background-color: #ffffee ; | |
124 | width: 40% ; | |
125 | float: right ; | |
126 | clear: right } | |
127 | ||
128 | div.sidebar p.rubric { | |
129 | font-family: sans-serif ; | |
130 | font-size: medium } | |
131 | ||
132 | div.system-messages { | |
133 | margin: 5em } | |
134 | ||
135 | div.system-messages h1 { | |
136 | color: red } | |
137 | ||
138 | div.system-message { | |
139 | border: medium outset ; | |
140 | padding: 1em } | |
141 | ||
142 | div.system-message p.system-message-title { | |
143 | color: red ; | |
144 | font-weight: bold } | |
145 | ||
146 | div.topic { | |
147 | margin: 2em } | |
148 | ||
149 | h1.section-subtitle, h2.section-subtitle, h3.section-subtitle, | |
150 | h4.section-subtitle, h5.section-subtitle, h6.section-subtitle { | |
151 | margin-top: 0.4em } | |
152 | ||
153 | h1.title { | |
154 | text-align: center } | |
155 | ||
156 | h2.subtitle { | |
157 | text-align: center } | |
158 | ||
159 | hr.docutils { | |
160 | width: 75% } | |
161 | ||
162 | img.align-left { | |
163 | clear: left } | |
164 | ||
165 | img.align-right { | |
166 | clear: right } | |
167 | ||
168 | ol.simple, ul.simple { | |
169 | margin-bottom: 1em } | |
170 | ||
171 | ol.arabic { | |
172 | list-style: decimal } | |
173 | ||
174 | ol.loweralpha { | |
175 | list-style: lower-alpha } | |
176 | ||
177 | ol.upperalpha { | |
178 | list-style: upper-alpha } | |
179 | ||
180 | ol.lowerroman { | |
181 | list-style: lower-roman } | |
182 | ||
183 | ol.upperroman { | |
184 | list-style: upper-roman } | |
185 | ||
186 | p.attribution { | |
187 | text-align: right ; | |
188 | margin-left: 50% } | |
189 | ||
190 | p.caption { | |
191 | font-style: italic } | |
192 | ||
193 | p.credits { | |
194 | font-style: italic ; | |
195 | font-size: smaller } | |
196 | ||
197 | p.label { | |
198 | white-space: nowrap } | |
199 | ||
200 | p.rubric { | |
201 | font-weight: bold ; | |
202 | font-size: larger ; | |
203 | color: maroon ; | |
204 | text-align: center } | |
205 | ||
206 | p.sidebar-title { | |
207 | font-family: sans-serif ; | |
208 | font-weight: bold ; | |
209 | font-size: larger } | |
210 | ||
211 | p.sidebar-subtitle { | |
212 | font-family: sans-serif ; | |
213 | font-weight: bold } | |
214 | ||
215 | p.topic-title { | |
216 | font-weight: bold } | |
217 | ||
218 | pre.address { | |
219 | margin-bottom: 0 ; | |
220 | margin-top: 0 ; | |
221 | font-family: serif ; | |
222 | font-size: 100% } | |
223 | ||
224 | pre.literal-block, pre.doctest-block { | |
225 | margin-left: 2em ; | |
226 | margin-right: 2em ; | |
227 | background-color: #eeeeee } | |
228 | ||
229 | span.classifier { | |
230 | font-family: sans-serif ; | |
231 | font-style: oblique } | |
232 | ||
233 | span.classifier-delimiter { | |
234 | font-family: sans-serif ; | |
235 | font-weight: bold } | |
236 | ||
237 | span.interpreted { | |
238 | font-family: sans-serif } | |
239 | ||
240 | span.option { | |
241 | white-space: nowrap } | |
242 | ||
243 | span.pre { | |
244 | white-space: pre } | |
245 | ||
246 | span.problematic { | |
247 | color: red } | |
248 | ||
249 | span.section-subtitle { | |
250 | /* font-size relative to parent (h1..h6 element) */ | |
251 | font-size: 80% } | |
252 | ||
253 | table.citation { | |
254 | border-left: solid 1px gray; | |
255 | margin-left: 1px } | |
256 | ||
257 | table.docinfo { | |
258 | margin: 2em 4em } | |
259 | ||
260 | table.docutils { | |
261 | margin-top: 0.5em ; | |
262 | margin-bottom: 0.5em } | |
263 | ||
264 | table.footnote { | |
265 | border-left: solid 1px black; | |
266 | margin-left: 1px } | |
267 | ||
268 | table.docutils td, table.docutils th, | |
269 | table.docinfo td, table.docinfo th { | |
270 | padding-left: 0.5em ; | |
271 | padding-right: 0.5em ; | |
272 | vertical-align: top } | |
273 | ||
274 | table.docutils th.field-name, table.docinfo th.docinfo-name { | |
275 | font-weight: bold ; | |
276 | text-align: left ; | |
277 | white-space: nowrap ; | |
278 | padding-left: 0 } | |
279 | ||
280 | h1 tt.docutils, h2 tt.docutils, h3 tt.docutils, | |
281 | h4 tt.docutils, h5 tt.docutils, h6 tt.docutils { | |
282 | font-size: 100% } | |
283 | ||
284 | tt.docutils { | |
285 | background-color: #eeeeee } | |
286 | ||
287 | ul.auto-toc { | |
288 | list-style-type: none } | |
289 | ||
290 | </style> | |
8eda5e35 RD |
291 | </head> |
292 | <body> | |
73adcb01 RD |
293 | <div class="document" id="recent-changes-for-wxpython"> |
294 | <h1 class="title">Recent Changes for wxPython</h1> | |
974a50f1 | 295 | <div class="section"> |
49db0f3f RD |
296 | <h1><a id="id1" name="id1">2.7.1.3</a></h1> |
297 | <ul class="simple"> | |
298 | <li>26-Oct-2006</li> | |
299 | </ul> | |
300 | <p>wxGTK: The wx.ALWAYS_SHOW_SB style is now supported.</p> | |
301 | <p>Fixed name errors in the old wxPython package namespace. As a | |
302 | reminder, use of this package is deprecated and you are encouraged to | |
303 | switch your programs over to the wx package.</p> | |
304 | <p>Fixed wx.glcanvas.GLCanvas.SetCurrent to be compatible with prevoius | |
305 | versons.</p> | |
306 | <p>Added wx.StandardPaths.GetTmpDir.</p> | |
307 | <p>Bug fixes in the wx.ListCtrl on Mac from Kevin Olivier, allowing it to | |
308 | send events properly again. There is also a new native implementation | |
309 | of wx.ListCtrl available, which will be used for wx.LC_REPORT style | |
310 | list controls if you set the "mac.listctrl.always_use_generic" | |
311 | SystemOption to zero. In a future release this will be the default.</p> | |
312 | <p>Added a sample to the demo that shows some of what can be done with | |
313 | the new wx.GraphicsContext and wx.GraphicsPath classes.</p> | |
314 | </div> | |
315 | <div class="section"> | |
316 | <h1><a id="id2" name="id2">2.7.1.2</a></h1> | |
0cf04a42 RD |
317 | <ul class="simple"> |
318 | <li>21-Oct-2006</li> | |
319 | </ul> | |
320 | <p>Fixed a bug in the MaskedEdit controls caused by conflicting IsEmpty | |
321 | methods.</p> | |
322 | <p>Patch #1579280: Some mimetype optimizations on unix-like systems.</p> | |
323 | <p>wxMac: Several wx.webkit.WebKitCtrl enhancements/fixes, including:</p> | |
324 | <blockquote> | |
325 | <ul class="simple"> | |
326 | <li>new methods for increasing/decreasing text size, getting | |
327 | selection, getting/setting scroll position, printing, enabling | |
328 | editing, and running JavaScripts on the page.</li> | |
329 | <li>added new event (wx.webkit.WebKitBeforeLoadEvent) for catching, and | |
330 | possibly vetoing, load events before they occur.</li> | |
331 | <li>wx.webkit.WebKitCtrl now fires mouse events for certain events | |
332 | that it was eating before. This improves wxSplitterWindow | |
333 | resizing behavior.</li> | |
334 | <li>refactoring of the sizing logic to move the Cocoa view. Tested | |
335 | with splitter windows, panels, notebooks and all position | |
336 | correctly with this.</li> | |
337 | </ul> | |
338 | </blockquote> | |
339 | <p>Some improvements to the drawing code in CustomTreeCtrl.</p> | |
340 | <p>Fixed refcount leak in wx.Window.GetChildren.</p> | |
341 | </div> | |
342 | <div class="section"> | |
49db0f3f | 343 | <h1><a id="id3" name="id3">2.7.1.1</a></h1> |
974a50f1 RD |
344 | <ul class="simple"> |
345 | <li>18-Oct-2006</li> | |
346 | </ul> | |
347 | <p>The following deprecated items have been removed:</p> | |
348 | <blockquote> | |
349 | <ul class="simple"> | |
350 | <li>wx.Bitmap SetQuality and GetQuality methods</li> | |
351 | <li>The wx.GetNumberFromUser function</li> | |
352 | <li>wx.EVT_LIST_GET_INFO and wx.EVT_LIST_SET_INFO</li> | |
353 | <li>wx.BookCtrlSizer and wx.NotebookSizer</li> | |
354 | <li>The PostScript-specific methods of wx.PrintData</li> | |
355 | <li>wx.PrintDialogData SetSetupDialog and GetSetupDialog methods</li> | |
356 | <li>wx.FontMapper SetConfig method</li> | |
357 | <li>wx.html.HtmlSearchStatus.GetContentsItem method</li> | |
358 | <li>wx.html.HtmlHelpData.GetContents, GetContentsCnt, GetIndex, and | |
359 | GetIndexCnt methods</li> | |
360 | </ul> | |
361 | </blockquote> | |
362 | <p>wx.EventLoop is now implemented for wxMac.</p> | |
363 | <p>Added wxPython wrappers for the new wx.Treebook and wx.Toolbook | |
364 | classes.</p> | |
365 | <p>wx.DC.BeginDrawing and EndDrawing have been deprecated in the C++ | |
366 | code, so since they never really did anything before they are now just | |
367 | empty stubs in wxPython.</p> | |
368 | <p>Solved a problem that has been around for a very long time in how C++ | |
369 | methods are virtualized for overriding in derived Python classes. | |
370 | Previously we couldn't do it for methods that needed to also exist in | |
371 | the base class wrappers such that they could be called normally. (The | |
372 | reasons are long and complex, but suffice it to say that it was due to | |
373 | mixing C++'s dynamic dispatch, and Python's runtime lookup of the | |
374 | method attributes resulting in endless recursion of function calls.) | |
375 | Because of this problem I used a hack that I have always hated, and | |
376 | that is renaming the base class methods with a "base_*" prefix, for | |
377 | example wx.Printout.base_OnBeginDocument. Now that the problem has | |
378 | finally been solved I have replaced all the base_Whatever() methods | |
379 | with the real Whatever() method as well as a simple wrapper named | |
380 | base_Whatever that is marked as deprecated. So now instead of writing | |
381 | your overridden methods like this:</p> | |
382 | <pre class="literal-block"> | |
383 | def OnBeginDocument(self, start, end): | |
384 | # do something here | |
385 | return self.base_OnBeginDocument(start, end) | |
386 | </pre> | |
387 | <p>You can now call the base class method the normal way, like this:</p> | |
388 | <pre class="literal-block"> | |
389 | def OnBeginDocument(self, start, end): | |
390 | # do something here | |
391 | return Printout.OnBeginDocument(self, start, end) | |
392 | </pre> | |
393 | <p>Or like this with super():</p> | |
394 | <pre class="literal-block"> | |
395 | def OnBeginDocument(self, start, end): | |
396 | # do something here | |
397 | return super(MyPrintout, self).OnBeginDocument(start, end) | |
398 | </pre> | |
399 | <p>Note that the old way with the "base_*" function still works, but you | |
400 | will get a DeprecationWarning from calling base_OnBeginDocument. The | |
401 | classes affected by this are:</p> | |
402 | <blockquote> | |
403 | <ul class="simple"> | |
404 | <li>wx.DropSource</li> | |
405 | <li>wx.DropTarget</li> | |
406 | <li>wx.TextDropTarget</li> | |
407 | <li>wx.FileDropTarget</li> | |
408 | <li>wx.PyLog (also added the ability to override Flush)</li> | |
409 | <li>wx.PyApp (also added the ability to override ExitMainLoop)</li> | |
410 | <li>wx.Printout</li> | |
411 | <li>wx.PyPrintPreview</li> | |
412 | <li>wx.PyPreviewFrame</li> | |
413 | <li>wx.PreviewControlBar</li> | |
414 | <li>wx.Process</li> | |
415 | <li>wx.PyControl</li> | |
416 | <li>wx.PyPanel</li> | |
417 | <li>wx.PyScrolledWindow</li> | |
418 | <li>wx.PyWindow</li> | |
419 | <li>wx.Timer</li> | |
420 | <li>wx.grid.PyGridCellRenderer</li> | |
421 | <li>wx.grid.PyGridCellEditor</li> | |
422 | <li>wx.grid.PyGridCellAttrProvider</li> | |
423 | <li>wx.grid.PyGridTableBase</li> | |
424 | <li>wx.html.HtmlWindow</li> | |
425 | <li>wx.wizard.PyWizardPage</li> | |
426 | </ul> | |
427 | </blockquote> | |
428 | <p>Added the wx.DC.GradientFillConcentric and wx.DC.GradientFillLinear | |
429 | methods.</p> | |
430 | <p>wxGTK: wx.ListBox and wx.CheckListBox are now using native GTK2 | |
431 | widgets.</p> | |
432 | <p>Added wx.ListBox.HitTest() from patch 1446207</p> | |
433 | <p>Bumped up to SWIG 1.3.29. This provides some more runtime performance | |
434 | boosts, gets rid of the dreaded Ptr classes, and some other nice new | |
435 | things.</p> | |
436 | <p>Added wx.Window.GetScreenPosition and GetScreenRect which returns the | |
437 | position of the window in screen coordinates, even if the window is | |
438 | not a top-level window.</p> | |
439 | <p>Added GetResourcesDir and GetLocalizedResourcesDir to | |
440 | wx.StandardPaths.</p> | |
441 | <p>Added a GetReceivedFormat method to wx.DataObjectComposite. You can | |
442 | use this to find out what format of data object was recieved from the | |
443 | source of the clipboard or DnD operation, and then you'll know which | |
444 | of the component data objects to use to access the data.</p> | |
445 | <p>Changed how the stock objects (wx.RED, wx.RED_PEN, wx.RED_BRUSH, etc.) | |
446 | are initialized. They are now created as uninitialized instances | |
447 | using __new__. Then after the wx.App has been created, but before | |
0cf04a42 | 448 | OnInit is called, the .this attribute of each object is initialized. |
974a50f1 RD |
449 | This was needed because of some delayed initialization functionality |
450 | that was implemented in wxWidgets, but the end result is cleaner for | |
451 | wxPython as well, and allowed me to remove some ugly code previously | |
452 | hidden under the covers.</p> | |
453 | <p>Added wx.StandardPaths.GetDocumentsDir.</p> | |
454 | <p>Added wx.RendererNative.DrawCheckButton.</p> | |
455 | <p>wx.ProgressDialog.Update now returns a tuple of two values. The first | |
456 | is a continue flag (what was returned before) and the second is a skip | |
457 | flag. If the dialog has the wx.PD_CAN_SKIP flag and if the Skip | |
458 | button is clicked, then the skip flag is set to True the next time | |
459 | Update is called.</p> | |
460 | <p>A DeprecationWarning is now issued when the old wxPython package is | |
461 | imported. If you are still using the old namespace please convert | |
462 | your code to use the new wx package instead.</p> | |
463 | <p>Added wrappers for Julian's new wxRichTextCtrl class, visible in | |
464 | wxPython as wx.richtext.RichTextCtrl window. It still needs some more | |
465 | work, but it is a great start.</p> | |
466 | <p>wx.lib.mixins.listctrl.TextEditMixin: Fixed the double END_LABEL_EDIT | |
467 | event problem in TextEditMixin by checking if the editor was already | |
468 | hidden before continuing with the CloseEditor method. Also added code | |
469 | to OpenEditor to send the BEGIN_LABEL_EDIT event and to not allow the | |
470 | opening of the editor to continue if the event handler doesn't allow | |
471 | it.</p> | |
472 | <p>wx.StaticBoxSizer now keeps better track of the wx.StaticBox, and it | |
473 | will destroy it if the sizer is destroyed before the parent window is.</p> | |
474 | <p>Added wx.HyperlinkCtrl.</p> | |
475 | <p>Added battery and power related functions and events (wxMSW only so | |
476 | far.) See wx.PowerEvent, wx.GetPowerType and wx.GetBatteryState.</p> | |
477 | <p>Added wx.ListCtrl.HitTestSubItem which returns the sub-item (i.e. the | |
478 | column in report mode) that was hit (if any) in addition to the item | |
479 | and flags.</p> | |
480 | <p>Added wrappers for wx.ColourPickerCtrl, wx.DirPickerCtrl, | |
481 | wx.FilePickerCtrl, and wx.FontPickerCtrl.</p> | |
482 | <p>Patch #1502016 wx.Image.ConvertToGreyscale now retains the alpha | |
483 | channel.</p> | |
484 | <p>Added wrappers for the wxAUI classes, in the wx.aui module.</p> | |
485 | <p>Added the PseudoDC class from Paul Lanier. It provides a way to | |
486 | record operations on a DC and then play them back later.</p> | |
487 | <p>Upgraded to Scintilla 1.70 for wx.stc.StyledTextCtrl.</p> | |
488 | <p>Added CanSetTransparent and SetTransparent methods to the | |
489 | wx.TopLevelWindow class, with implementations (so far) for wxMSW and | |
490 | wxMac.</p> | |
491 | <p>SetDefaultItem() and GetDefaultItem() are now members of | |
492 | wx.TopLevelWindow, not wx.Panel.</p> | |
493 | <p>wxGTK: Stock items (icons) will be used for menu items with stock | |
494 | IDs.</p> | |
495 | <p>Added wx.lib.combotreebox from Frank Niessink</p> | |
496 | <p>Added wx.ImageFromBuffer, wx.BitmapFromBuffer and | |
497 | wx.BitmapFromBufferRGBA factory functions. They enable loading of an | |
498 | image or bitmap directly from a Python object that implements the | |
499 | buffer interface, such as strings, arrays, etc.</p> | |
500 | <p>Added wx.App.IsDisplayAvailable() which can be used to determine if a | |
501 | GUI can be created in the current environment. (Still need an | |
502 | implementation for wxMSW...)</p> | |
503 | <p>The wx.html.HTML_FONT_SIZE_x constants are no longer available as the | |
504 | default sizes are now calculated at runtime based on the size of the | |
505 | normal GUI font.</p> | |
506 | <p>wx.Colour now includes an alpha component, which defaults to | |
507 | wx.ALPHA_OPAQUE. This is in preparation for allowing various new | |
508 | alpha blening functionality using wx.Colour objects, such as drawing | |
509 | with pens and brushes on a wx.DC.</p> | |
510 | <p>Added wx.NativePixelBuffer, wx.AlphPixelBuffer and related iterator | |
511 | and accessor classes. They allow platform independent direct access | |
512 | to the platform specific pixel buffer inside of a wx.Bitmap object.</p> | |
513 | <p>The beginnings of support for RTL languages has been added, thanks to | |
514 | a Google SoC project.</p> | |
515 | <p>Added wx.lib.dragscroller from Riaan Booysen. It provides a helper | |
516 | class that can used to scroll a wx.ScrolledWindow in response to a | |
517 | mouse drag.</p> | |
518 | <p>Applied patch 1551409: Adds support for indeterminate mode gauges.</p> | |
519 | <p>wxMac: I've turned on the compile option for using the native toolbar | |
520 | on the Mac now that it supports hosting of controls. If the toolbar | |
521 | is managed by the frame via either CreateToolBar() or SetToolBar() | |
522 | then the native toolbar will be used. Additional toolbars, or | |
523 | toolbars that are not children of the frame, are managed by sizers or | |
524 | what-not will still use the emulated toolbar because of platform | |
525 | restrictions in how/where the native toolbar can be used.</p> | |
526 | <p>Added Python properties for many of the getter/setter methods of wx | |
527 | classes. In order for the names to be predicatble for somebody | |
528 | already familiar with wxPython the property names are simply the name | |
529 | of the getter with the "Get" dropped. For example, wx.Window has a | |
530 | property named "Size" that maps to GetSize and SetSize. So far there | |
531 | is only one known name conflict using this naming convention, and that | |
532 | is wx.KeyEvent.KeyCode, however since KeyCode was formerly a | |
533 | compatibility alias for GetKeyCode (and has been for a long time) it | |
534 | was decided to just switch it to a property. If you want to use the | |
535 | method then change your calls to event.KeyCode() to | |
536 | event.GetKeyCode(), otherwise you can use it as a property just by | |
537 | dropping the parentheses.</p> | |
538 | <p>Updated the C++ code for wx.gizmos.TreeListCtrl from the wxCode | |
539 | project. This has resulted in some minor API changes, most of which | |
540 | were worked around in the wrapper code.</p> | |
541 | <p>Added wx.lib.delayedresult from Oliver Schoenborn.</p> | |
542 | <p>Added wx.lib.expando, a multi-line textctrl that exands as more lines | |
543 | are needed.</p> | |
544 | <p>wx.Image.Scale and Rescale methods now take an extra parameter | |
545 | specifying type of method to use for resampling the image. It | |
546 | defaults to the current behavior of just replicating pixels, if | |
547 | wx.IMAGE_QUALITY_HIGH is passed then it uses bicubic and box averaging | |
548 | resampling methods for upsampling and downsampling respectively.</p> | |
549 | <p>Added the wx.lib.buttonpanel module, which is a tweaked version of | |
550 | Andrea Gavana's FancyButtonPanel module.</p> | |
551 | <p>Added the wx.lib.flatnotebook module, from Andrea Gavana.</p> | |
552 | <p>Renamed wx.FutureCall to wx.CallLater so it is named more like | |
553 | wx.CallAfter. wx.FutureCall is now an empty subclass of wx.CallLater | |
554 | for compatibility of older code.</p> | |
0cf04a42 | 555 | <p>Added the wx.lib.customtreectrl module from Andrea Gavana.</p> |
974a50f1 RD |
556 | <p>Added ChangeSelection to wx.BookCtrl (the base class for wx.Notebook |
557 | and other book controls) that is the same as SetSelection but doesn't | |
558 | send the change events.</p> | |
559 | <p>Added wx.TextCtrl.ChangeValue() which is the same as SetValue() but | |
560 | doesn't send the text changed event.</p> | |
561 | <p>For consistency, all classes having an Ok() method now also have | |
562 | IsOk(), use of the latter form is preferred although the former hasn't | |
563 | been deprecated yet</p> | |
564 | <p>Added the wx.AboutBox() function and wx.AboutDialogInfo class. They | |
565 | provide a way to show a standard About box for the application, which | |
566 | will either be a native dialog or a generic one depending on what info | |
567 | is provided and if it can all be shown with the native dialog.</p> | |
568 | <p>The code in the animate contrib has been moved into the code wxWidgets | |
569 | library, and refactored a bit along the way. For wxPython it still | |
570 | exists in the wx.animate module, but has basically been reduced to two | |
571 | classes, wx.animate.Animation, and wx.animate.AnimationCtrl. You load | |
572 | the animated GIF (and hopefully there will be other supported formats | |
573 | in the near future) in the Animation object, and then give that to the | |
574 | AnimatedCtrl for display. See the demo for an example. There is also | |
575 | still a GIFAnimationCtrl class that provides some level of backwards | |
576 | compatibility with the old implementation.</p> | |
577 | <p>wxMac: The compile option that turns on the use of CoreGraphics (a.k.a | |
578 | Quartz) for wxDC is now turned on by default. This means that all | |
579 | drawing via wxDC is done using the new APIs from apple, instead of the | |
580 | old Quick Draw API. There are, however, a few places where Quartz and | |
581 | wxDC don't fit together very well, mainly the lack of support for | |
582 | logical drawing operations such as XOR, but there is work in progress | |
583 | to provide other ways to do the same sort of thing that will work with | |
584 | Quartz and also on the other platforms.</p> | |
585 | <p>The first parts of a new 2D drawing API has been added with the | |
586 | wx.GraphicsPath and wx.GraphicsContext classes. They wrap GDI+ on | |
587 | Windows, Cairo on wxGTK and CoreGraphics on OS X. They allow path-based | |
588 | drawing with alpha-blending and anti-aliasing, and use a floating | |
589 | point cooridnate system. Currently they can only target drawing to | |
590 | windows, but other wx.DC backends are forthcoming. The APIs may | |
591 | evolve a bit more before they are finalaized with the 2.8 release, but | |
592 | there is enough there now to get a good feel for how things will work. | |
593 | There is also a transitional wx.GCDC class that provides the wx.DC API | |
594 | on top of wx.GraphicsContext. Docs and a demo are still MIA.</p> | |
595 | <p>Added a wx.AutoBufferedPaintDC that is a subclass of wx.PaintDC on | |
596 | platforms that do double buffering by default, and a subclass of | |
597 | wx.BufferedPaintDC on the platforms that don't. You can use this | |
598 | class to help avoid the overhead of buffering when it is not | |
599 | needed. There is also a wx.AutoBufferedPaintDCFactory function that | |
600 | does a little more and actually tests if the window has | |
601 | double-buffering enabled and then decides whether to return a | |
602 | wx.PaintDC or wx.BufferedPaintDC. This uses the new | |
603 | wx.Window.IsDoubleBuffered method.</p> | |
604 | </div> | |
605 | <div class="section"> | |
49db0f3f | 606 | <h1><a id="id4" name="id4">2.6.3.3</a></h1> |
974a50f1 RD |
607 | <ul class="simple"> |
608 | <li>15-July-2006</li> | |
609 | </ul> | |
610 | <dl class="docutils"> | |
611 | <dt>wx.lib.pubsub updates from Oliver Schoenborn:</dt> | |
612 | <dd><ul class="first last simple"> | |
613 | <li>fixed the hash problem with non-hashable objects</li> | |
614 | <li>now supports listeners that use *args as an argument | |
615 | (listener(*args) was not passing the validity test)</li> | |
616 | <li>corrected some mistakes in documentation</li> | |
617 | <li>added some clarifications (hopefully useful for first time | |
618 | users)</li> | |
619 | <li>changed the way singleton is implemented since old way prevented | |
620 | pydoc etc from extracting docs for Publisher</li> | |
621 | </ul> | |
622 | </dd> | |
623 | <dt>DocView and ActiveGrid IDE updates from Morgan Hua:</dt> | |
624 | <dd>New Features: In Tab-View mode, Ctrl-number will take the user to | |
625 | the numbered tab view. Modified files now show an '*' astrisk in | |
626 | the view title. Debugger framework can now support PHP debugging. | |
627 | Not important for python development, but at least that means the | |
628 | debugger framework is more generalized.</dd> | |
629 | </dl> | |
630 | <p>wx.lib.mixins.listctrl.TextEditMixin: Fixed the double END_LABEL_EDIT | |
631 | event problem in TextEditMixin by checking if the editor was already | |
632 | hidden before continuing with the CloseEditor method. Also added code | |
633 | to OpenEditor to send the BEGIN_LABEL_EDIT event and to not allow the | |
634 | opening of the editor to continue if the event handler doesn't allow | |
635 | it.</p> | |
636 | <p>Undeprecated wx.GetNumberFromUser and added wx.NumberEntryDialog.</p> | |
637 | <p>Made necessaary changes for building wxPython for Python 2.5. There | |
638 | may still be some issues related to the new Py_ssize_t type and 64-bit | |
639 | machines, but at least all compile errors and warnings related to it | |
640 | have been resolved.</p> | |
641 | </div> | |
642 | <div class="section"> | |
49db0f3f | 643 | <h1><a id="id5" name="id5">2.6.3.2</a></h1> |
974a50f1 RD |
644 | <ul class="simple"> |
645 | <li>3-April-2006</li> | |
646 | </ul> | |
647 | <p>Fixed reference leak in wx.gizmos.TreeListCtrl.GetSelections.</p> | |
648 | <p>wxMSW: Fixed sizing issue with wx.Choice and wx.ComboBox. This change | |
649 | was implemented by reverting a prior fix for a different problem | |
650 | (contiuous painting/resizing when a combobox is used as a widget in a | |
651 | wx.html.HtmlWindow) so a method to fix both problems is still being | |
652 | investigated.</p> | |
653 | <p>wxGTK: Fixed potential buffer overrun when pasting from the | |
654 | clipboard.</p> | |
655 | <p>Fixed problem in wx.lib.splitter when used on 64-bit platforms. Used | |
656 | the current length of the list for specifying an append instead of | |
657 | sys.maxint.</p> | |
658 | <p>wxMSW: Support added for XP themed owner drawn buttons and bitmap | |
659 | buttons. For example, if you change the foreground color of a button | |
660 | it will now be drawn with the XP themed style rather than an ugly | |
661 | generic button style.</p> | |
662 | <p>XRCed: Fix for Copy/Paste objects with international characters.</p> | |
663 | <p>Fixed the equality and inequality operators for some of the basic | |
664 | data types (wx.Point, wx.Size, wx.Colour, etc.) to no longer raise a | |
665 | TypeError if the compared object is not compatible, but to just return | |
666 | a boolean as expected. For example:</p> | |
667 | <pre class="literal-block"> | |
668 | wx.Colour(64,0,64) == 123 ==> False | |
669 | </pre> | |
670 | <p>wxMSW: Fixed (again) sizing/positioning issues of calling Realize on | |
671 | a wx.ToolBar that is not manaaged directly by a frame and that is | |
672 | already shown.</p> | |
673 | <p>wxMSW: Fixed wx.Choice/wx.ComboBox so they send events when a new item | |
674 | is selected only with the keyboard.</p> | |
675 | </div> | |
676 | <div class="section"> | |
49db0f3f | 677 | <h1><a id="id6" name="id6">2.6.3.0</a></h1> |
974a50f1 RD |
678 | <ul class="simple"> |
679 | <li>27-March-2006</li> | |
680 | </ul> | |
681 | <p>Change the wx.ListCtrl InsertStringItem wrapper to use the form that | |
682 | takes an imageIndex, and set the default to -1. This ensures that on | |
683 | wxMSW that if there is an image list but they don't specify an image, | |
684 | the native control doesn't use one anyway.</p> | |
685 | <p>wxMSW: wx.ListCtrl in report mode is now able to support images in | |
686 | other columns besides the first one. Simply pass an image index to | |
687 | SetStringItem. For virtual list controls you can specify the image to | |
688 | use on the extra columns by overriding OnGetItemColumnImage in your | |
689 | derived class. It is passed the item number and the column number as | |
690 | parameters, and the default version simply calls OnGetItemImage for | |
691 | column zero, or returns -1 for other columns.</p> | |
692 | <p>Switched to using SWIG 1.3.27 for generating the wrapper code. There | |
693 | are some small changes needed to SWIG to work around some bugs that | |
694 | wxPython exposes, and to be able to generate code that matches that | |
695 | which wxPython is using. If you are building wxPython yourself and | |
696 | need to modify any of the *.i files or to add your own, then you will | |
697 | want to be sure to use a matching SWIG. See wxPython/SWIG/README.txt | |
698 | in the source tarball for details.</p> | |
699 | <p>wx.Image.Copy, Mirror, and GetSubImage now also do the right thing | |
700 | with the alpha channel.</p> | |
701 | <p>wxMSW: Fixed problem in wx.TextCtrl where using SetValue and | |
702 | wx.TE_RICH2 would cause the control to be shown if it was hidden.</p> | |
703 | <p>wxMSW: Numpad special keys are now distinguished from normal keys in | |
704 | key events.</p> | |
705 | <p>wxMSW: Multiline notebook tab label change now resizes the control | |
706 | correctly if an extra row is removed or added.</p> | |
707 | <p>wxMSW: On XP fall back to unthemed wxNotebook if specified orientation | |
708 | not available in the themed version.</p> | |
709 | <p>Added wx.Toolbar.GetToolsCount.</p> | |
710 | <p>Added wx.GridSizer.CalcRowsCols.</p> | |
711 | <p>Added wx.OutputStream.LastWrite.</p> | |
712 | <p>wxGTK: EVT_SET_CURSOR is now sent.</p> | |
713 | <p>wxGTK: Fix RequestMore for idle events.</p> | |
714 | <p>wxGTK: Implement user dashes for PS and GNOME printing.</p> | |
715 | <p>wxGTK: Correct update region code. Don't always invalidate the whole | |
716 | window upon resize. Reenable support for thewx.NO_FULL_REPAINT_ON_RESIZE | |
717 | flag. Also disable refreshing custom controls when focusing in and out.</p> | |
718 | <p>wx.lib.pubsub: Publisher is now able to parse a dotted notation string | |
719 | into a topic tuple. For example: subscribing to "timer.clock.seconds" | |
720 | is the same as subscribing to ("timer", "clock", "seconds").</p> | |
721 | <p>Applied patch #1441370: lib.plot - allow passing in wx.Colour()</p> | |
722 | <p>Added wx.CommandEvent.GetClientData.</p> | |
723 | <p>Updated wxStyledTextCtrl to use version 1.67 of Scintilla. | |
724 | NOTE: The STC_LEX_ASP and STC_LEX_PHP lexers have been deprecated, | |
725 | you should use STC_LEX_HTML instead.</p> | |
726 | <p>wxSTC: Implemented Fix for SF Bug #1436503. Delay the start of the | |
727 | DnD operation in case the user just intended to click, not drag.</p> | |
728 | <p>Updated the analogclock.py module to the new analogclock package from | |
729 | E. A. Tacao.</p> | |
730 | <p>Added the wx.lib.mixins.listctrl.CheckListCtrlMixin class from Bruce | |
731 | Who, which makes it easy to put checkboxes on list control items.</p> | |
732 | <p>Applied a patch from Christian Kristukat to wx.lib.plot that adds | |
733 | scrollbars when the plot is zoomed in, and also the ability to grab a | |
734 | zoomed plot and move it around with a mouse drag.</p> | |
735 | <p>XRCed updated to allow wxMenuBar to be created inside a wxFrame.</p> | |
736 | <p>Added wx.StandardPaths.GetDocumentsDir() (patch 1214360)</p> | |
737 | </div> | |
738 | <div class="section"> | |
49db0f3f | 739 | <h1><a id="id7" name="id7">2.6.2.1</a></h1> |
17991ec0 RD |
740 | <ul class="simple"> |
741 | <li>10-Jan-2006</li> | |
742 | </ul> | |
095315e2 RD |
743 | <p>wxMSW: Fix for bug #1211907, popup menu indenting inconsistent with |
744 | bitmaps.</p> | |
745 | <p>wxMac: Don't send an event for wx.RadioButton deselections, just the | |
746 | selections. This was done to make it consistent with the other | |
747 | platforms.</p> | |
748 | <p>wxMSW: Always set flat toolbar style, even under XP with themes: this | |
749 | is necessary or separators aren't shown at all.</p> | |
750 | <p>Fixes for bug #1217872, pydocview.DocService not correctly initialized.</p> | |
751 | <p>Fix for bug #1217874, Error in parameter name in DocManager.CreateView.</p> | |
752 | <p>Added wrappers for the wx.RendererNative class.</p> | |
753 | <p>Added the wx.lib.splitter module, which contains the | |
754 | MultiSplitterWindow class. This class is much like the standard | |
755 | wx.SplitterWindow class, except it allows more than one split, so it | |
756 | can manage more than two child windows.</p> | |
757 | <p>Docview and IDE patch from Morgan Hua with fix for bug #1217890 | |
758 | "Closing view crashes Python" plus some new features:</p> | |
974a50f1 | 759 | <blockquote> |
095315e2 RD |
760 | New feature added to the IDE is 'Extensions'. Under |
761 | Tools|Options|Extensions, you can add calls to external programs. | |
762 | For example you can add a "Notepad" extension (under windows) that | |
763 | will exec Notepad on the currently open file. A new "Notepad" | |
974a50f1 | 764 | menu item will appear under the Tools menu.</blockquote> |
095315e2 RD |
765 | <p>Some fixes to XRCed to make encoding errors a bit more user friendly.</p> |
766 | <p>XRCed changes from Roman Rolinsky:</p> | |
767 | <blockquote> | |
768 | <ul class="simple"> | |
769 | <li>Added new controls (Choicebook, Listbook, StatusBar, | |
770 | DatePicker), and completed style flags. Test window is opened | |
771 | for an available parent control if no specific view | |
772 | defined. Better handling of exceptions (highlighting does not | |
773 | 'stick' anymore).</li> | |
774 | <li>Use system clipboard for Copy/Paste.</li> | |
775 | <li>Improved some dialogs (window styles, growable cols). Changed | |
776 | the range for wxSpinCtrl min/max to all integers (default 0/100 | |
777 | is not always good).</li> | |
778 | </ul> | |
779 | </blockquote> | |
780 | <p>Updates for wx.lib.foldpanelbar and wx.lib.hyperlink from Andrea | |
781 | Gavana.</p> | |
782 | <p>Fix for Bug #1283496: wxPython TheClipboard class causes problems for | |
783 | pychecker. Ensure the app has been created before initializing | |
784 | wx.TheClipboard.</p> | |
785 | <p>Fix for Bug #1352602: FileBrowseButtonWithHistory can't type in Value.</p> | |
786 | <p>wxHTML: Added space after list item number.</p> | |
787 | <p>wx.lib.printout: Applied patch #1384440.</p> | |
788 | <p>wxMSW: Fix for Bug #1293225 Window_FromHWND crashes if parent is | |
789 | None.</p> | |
790 | <p>Fix for Bug #1261669, use a wx.TE_RICH2 style for the Process demo so | |
791 | it doesn't fill up too soon.</p> | |
792 | <p>Applied Patch #1354389: wxPython MenuItem SetBitmaps fix.</p> | |
793 | <p>Applied Patch #1239456: wxPython wx.DataObject.GetAllFormats fix.</p> | |
794 | <p>Applied Patch # #1230107 which allows image handlers to be written in | |
795 | Python by deriving from wx.PyImageHandler.</p> | |
796 | <p>Applied patch #1072210: generalize printout.py to allow text printing.</p> | |
797 | <p>Applied patch #1243907: Give Throbber much more flexibility by | |
798 | allowing the user to set the rest image, the direction, the current | |
799 | index, custom sequence. Allows user to manually step through the | |
800 | sequence with Next(), Previous(), Increment(), Decrement() & | |
801 | SetCurrent(). Very handy if you have multiple throbbers that you want | |
802 | to synchronize with a single timer.</p> | |
803 | <p>Fix for bug #1336711: wx.lib.calendar.CalenDlg can yield incorrect | |
804 | result.</p> | |
805 | <p>Applied patch from Morgan Hua for updates to ActiveGrid code | |
806 | (pydocview, ActiveGrid IDE, etc.)</p> | |
807 | <p>Applied patch #1326241: Supporting "setup.py install --install-headers=path"</p> | |
808 | <p>Applied patch from Morgan Hua to fix bug #1219423: CommandManager | |
809 | should not repeat old commands after a branch.</p> | |
810 | <p>Applied patch #1238825 adding search backward capabilities to the | |
811 | demo. Modified to use the up/down options in the wx.FindReplaceDialog | |
812 | instead of a separate menu item.</p> | |
813 | <p>Fix for bug #1266745 and #1387725 in the wx.FindReplaceDialog on MSW. | |
814 | Actually check we are using MSLU before doing the hack designed to | |
815 | workaround a bug in MSLU!</p> | |
816 | <p>wxMSW: wx.lib.iewin.IEHtmlWindow now properly handles tabbing, return | |
817 | and other special keys properly.</p> | |
818 | <p>Lots of PyCrust enhancments started by Franz Steinaeusler, Adi Sieker, | |
819 | and Sebastian Haase, and which in turn were further enhanced, fixed | |
820 | tweaked and finished up by me. The changes include the following:</p> | |
821 | <blockquote> | |
822 | <ul class="simple"> | |
823 | <li>The Autocomplete and Calltip windows can now be opened manually | |
824 | with Ctrl-Space and Ctrl-Shift-Space.</li> | |
825 | <li>In the stand alone PyCrust app the various option settings, | |
826 | window size and position, and etc. are saved and restored at the | |
827 | next run.</li> | |
828 | <li>Added a help dialog bound to the F1 key that shows the key | |
829 | bindings.</li> | |
830 | <li>Added a new text completion function that suggests words from | |
831 | the history. Bound to Shift-Return.</li> | |
832 | <li>F11 will toggle the maximized state of the frame.</li> | |
833 | <li>switched to Bind() from wx.EVT_*().</li> | |
834 | <li>Display of line numbers can be toggled.</li> | |
835 | <li>F12 toggles a "free edit" mode of the shell buffer. This mode | |
836 | is useful, for example, if you would like to remove some output | |
837 | or errors or etc. from the buffer before doing a copy/paste. | |
838 | The free edit mode is designated by the use of a red, | |
839 | non-flashing caret.</li> | |
486afba9 | 840 | <li>Ctrl-Shift-F will fold/unfold (hide/show) the selected lines.</li> |
095315e2 RD |
841 | <li>General code cleanup and fixes.</li> |
842 | <li>Use wx.StandardPaths to determine the location of the config | |
843 | files.</li> | |
844 | <li>Use wx.SP_LIVE_UPDATE on crust and filling windows.</li> | |
845 | <li>Extended the saving of the config info and other new features to | |
846 | the PyShell app too. Additionally, other apps that embed a | |
847 | PyCrust or a PyShell can pass their own wx.Config object and | |
848 | have the Py code save/restore its settings to/from there.</li> | |
849 | <li>All of the classes with config info get an opportunity to | |
850 | save/load their own settings instead of putting all the | |
851 | save/load code in one place that then has to reach all over the | |
852 | place to do anything.</li> | |
853 | <li>Enable editing of the startup python code, which will either be | |
854 | the file pointed to by PYTHONSTARTUP or a file in the config dir | |
855 | if PYTHONSTARTUP is not set in the environment.</li> | |
856 | <li>Added an option to skip the running of the startup code when | |
857 | PyShell or PyCrust starts.</li> | |
858 | <li>PyCrust adds a pp(item) function to the shell's namespace that | |
859 | pretty prints the item in the Display tab of the notebook. | |
860 | Added code to raise that tab when pp() is called.</li> | |
861 | <li>Added an option for whether to insert text for function | |
862 | parameters when popping up the call tip.</li> | |
863 | <li>Added Find and Find-Next functions that use the | |
864 | wx.FindReplaceDialog.</li> | |
865 | </ul> | |
866 | </blockquote> | |
867 | <p>Applied patches from Will Sadkin for wx.lib.masked modules:</p> | |
868 | <blockquote> | |
869 | <ul class="simple"> | |
870 | <li>Now ignores kill focus events when being destroyed.</li> | |
871 | <li>Added missing call to set insertion point on changing fields.</li> | |
872 | <li>Modified SetKeyHandler() to accept None as means of removing | |
873 | one.</li> | |
874 | <li>Fixed keyhandler processing for group and decimal character | |
875 | changes.</li> | |
876 | <li>Fixed a problem that prevented input into the integer digit of a | |
877 | integerwidth=1 numctrl, if the current value was 0.</li> | |
878 | <li>Fixed logic involving processing of "_signOk" flag, to remove | |
879 | default sign key handlers if false, so that | |
880 | SetAllowNegative(False) in the NumCtrl works properly.</li> | |
881 | <li>Fixed selection logic for numeric controls so that if | |
882 | selectOnFieldEntry is true, and the integer portion of an | |
883 | integer format control is selected and the sign position is | |
884 | selected, the sign keys will always result in a negative value, | |
885 | rather than toggling the previous sign.</li> | |
886 | </ul> | |
887 | </blockquote> | |
888 | <p>wx.FontMapper.SetConfig is deprecated. You should instead just set an | |
889 | application-wide config object with wx.Config.Set, which wx.FontMapper | |
890 | will use by default.</p> | |
891 | <p>Added wx.GetMouseState which returns the current state of the mouse. | |
892 | It returns an instance of a wx.MouseState object that contains the | |
893 | current position of the mouse pointer in screen coordinants, as well | |
894 | as boolean values indicating the up/down status of the mouse buttons | |
895 | and the modifier keys.</p> | |
896 | <p>Added wx.SizerItem.SetUserData</p> | |
897 | <p>A variety of updates to wx.lib.floatcanvas, including Added | |
898 | DrawObjects, including a ScaledTextBox, with auto-wrapping, etc, and | |
899 | Scaled and Unscaled Bitmap Objects.</p> | |
900 | <blockquote> | |
901 | WARNING: Changed all DrawObjects to take an (x,y) pair rather | |
902 | than individual x,y parameters. Also changed rectangles and | |
903 | ellipses to take (w,h) pair. This is an API change, but should | |
904 | be easy to accommodate, all you need to do is add a parenthesis | |
905 | pair: (...x, y, ...) ---> (...(x,y), ...)</blockquote> | |
906 | </div> | |
974a50f1 | 907 | <div class="section"> |
49db0f3f | 908 | <h1><a id="id8" name="id8">2.6.1.0</a></h1> |
a432a02b RD |
909 | <ul class="simple"> |
910 | <li>4-June-2005</li> | |
911 | </ul> | |
912 | <p>wx.ListCtrl: patch #1210352, fixes editing in generic wx.ListCtrl with | |
913 | wx.LC_EDIT_LABELS.</p> | |
914 | <p>Applied patch #208286, MediaCtrl DirectShow rewrite.</p> | |
915 | <p>DocView patches from Morgan Hua: bug fixes, and additional SVN | |
916 | commands, also added a default template that uses the text editor for | |
917 | any unknown file type.</p> | |
918 | <p>wxMSW: Use the system IDC_HAND cursor for wx.CURSOR_HAND and only fallback | |
919 | to the strange wxWidgets version if the system one is not available.</p> | |
920 | <p>wx.grid.Grid: Merge the cell size attribute the same way that other | |
921 | attributes are merged, e.g., if it is already set to a non-default | |
922 | value in the current GridCellAttr object then don't merge from the | |
923 | other.</p> | |
924 | <p>wx.lib.evtmgr: Fixed to use wx._core._wxPyDeadObject</p> | |
925 | <p>wx.lib.gridmovers: Don't scroll when the mouse is dragged outside of | |
926 | the grid, unless the mouse is kept in motion.</p> | |
927 | <p>wxMSW: Applied patch #1213290 incorrect logic in | |
928 | wx.TopLevelWindow.ShowFullScreen.</p> | |
929 | <p>Applied patch #1213066 correct device names for Joystick in Linux.</p> | |
930 | <p>wxGTK: Applied patch #1207162 wx.TextCtrl.SetStyle fix for overlapping | |
931 | calls.</p> | |
932 | <p>wx.FileConfig: fixed DeleteEntry to set the dirty flag properly so the | |
933 | change will get written at the next flush.</p> | |
934 | </div> | |
974a50f1 | 935 | <div class="section"> |
49db0f3f | 936 | <h1><a id="id9" name="id9">2.6.0.1</a></h1> |
0979bd01 RD |
937 | <ul class="simple"> |
938 | <li>30-May-2005</li> | |
939 | </ul> | |
c66cd08a RD |
940 | <p>Added wx.BrushFromBitmap to create a stippled brush in a single step. |
941 | Also added missing brysh style flags: wx.STIPPLE_MASK | |
942 | wx.STIPPLE_MASK_OPAQUE.</p> | |
6c75a4cf RD |
943 | <p>wxMSW: Fix for default control colours when the system text fg colour |
944 | is not black.</p> | |
c66cd08a RD |
945 | <p>wxGTK: Patch #1171754, It is now possible to have a menu item that |
946 | both has an icon and is a submenu.</p> | |
947 | <p>wxMSW: Patch #1197009, better refreshes when windows are moved and | |
948 | resized.</p> | |
949 | <p>wxMSW: Patch #1197468. Keeps track of pending size/position changes | |
950 | in case there is more than one adjustment for a window in a single | |
951 | DeferWindowPos set, then the pending values can be used for defaults | |
952 | instead of current values.</p> | |
953 | <p>Fixed the typemap that converts a Python list of strings to a | |
6c75a4cf | 954 | wxArrayString so it uses the wxPython default encoding.</p> |
c66cd08a | 955 | <p>Several docstrings added and updated. Lots more to go.</p> |
6c75a4cf RD |
956 | <p>wxMac: Strings added to the clipboard or used in DnD no longer have an |
957 | extra null character at the end.</p> | |
958 | <p>Added wx.GetXDisplay that returns a raw swigified pointer for the X11 | |
959 | Display, or None for the non-X11 platforms.</p> | |
960 | <p>wxMenu: Don't send an event when selecting an already selected radio | |
961 | item.</p> | |
962 | <p>Added wx.LaunchDefaultBrowser.</p> | |
963 | <p>wxMSW: Fixed erroneous selection of content in wx.ComboBox when within | |
964 | a wx.StaticBox.</p> | |
965 | <p>wxMSW: Fixed alpha blitting to take into account source position.</p> | |
966 | <p>Ensure that Python is still in an initialized state before doing any | |
967 | locking or unlocking in wxPyBeginBlockThreads and wxPyEndBlockThreads | |
968 | as these can be triggered after Python has been finalized in embedding | |
969 | situations.</p> | |
970 | <p>Added alternate constructors for wx.Font: wx.FontFromPixelSize, | |
971 | wx.FFont, wx.FFontFromPixelSize. See the docstrings or new api docs | |
972 | for details.</p> | |
973 | <p>Added wx.lib.hyperlink from Andrea Gavana. It is a control like | |
974 | static text that acts like a hyper-link, launching the system's | |
975 | default browser in response to the clicks.</p> | |
976 | <p>Added an optional parameter to wxversion.select that allows you to | |
977 | specify that the extra components specified in the version string are | |
978 | required. For example, if you ask for "2.6-unicode" but only the ansi | |
979 | version is installed then by default the ansi version will be selected | |
980 | as it considered close enough since the version numbers match. If you | |
981 | want to force the options to be required then you can just add a True | |
982 | parameter, like this:</p> | |
983 | <pre class="literal-block"> | |
984 | import wxversion | |
985 | wxversion.select("2.6-unicode", True) | |
986 | import wx | |
987 | </pre> | |
988 | <p>Tweaked wx.lib.buttons such that flat buttons (e.g. have no bevel and | |
989 | a wx.BORDER_NONE style flag) paint themed backgrounds if there are | |
990 | transparent areas and the parent is displaying a theme.</p> | |
991 | <p>wxMSW: Fix for wrong sash colour of wx.SplitterWindow in the silver | |
992 | theme on XP.</p> | |
993 | <p>Added a wx.xrc.XmlResourceHandler for the Ticker class. See | |
994 | wx/lib/ticker_xrc.py</p> | |
995 | <p>wxSTC: Fixed CmdKeyAssign key bindings for Ctrl-Backspace.</p> | |
996 | <p>wxMSW: Fixed a bug in wx.TextCtrl where all the lines were being used | |
997 | to calculate the best size, instead of using a reasonable limit.</p> | |
0979bd01 RD |
998 | <p>XRCed: Use wx.GetDefaultPyEncoding/wx.SetDefaultPyEncoding for |
999 | changing active encoding. Fixed pasting siblings (Ctrl key pressed | |
1000 | while pasting).</p> | |
1001 | <p>wx.lib.filebrowsebutton: Bug fix from Chad Netzer for when | |
1002 | self.history is None.</p> | |
1003 | <p>wx.ogl: Patch from Davide Salomoni that adds an optional point | |
1004 | parameter to LineShape.InsertLineControlPoint allowing one to | |
1005 | optionally specify where the new control point has to be drawn.</p> | |
1006 | <p>wxMSW: setting foreground colour for wx.CheckBox now works when using | |
1007 | XP themes.</p> | |
1008 | <p>More updates to the docview library modules and sample apps from the | |
1009 | ActiveGrid folks. Their sample IDE is now able to integrate with | |
1010 | Subversion.</p> | |
1011 | <p>wx.grid.Grid: Ensure that the grid gets the focus when it is | |
1012 | left-clicked. Note that if you have custom widgets that handle the | |
1013 | EVT_LEFT_DOWN event but do not call event.Skip() then you will | |
1014 | probably want to add a call to self.SetFocus in the event handler.</p> | |
1015 | <p>wxGTK: Add wxSTAY_ON_TOP support [Patch 1206023]</p> | |
1016 | <p>wx.TreeCtrl: wx.EVT_TREE_ITEM_MENU event made consistent on all | |
1017 | platforms. The location of the click or the item is included in the | |
1018 | event as well.</p> | |
1019 | <p>wxGTK: Setting background colour of a window now only affects the | |
1020 | window itself, not the borders, scrollbars, etc. (Bug #1204069)</p> | |
1021 | <p>Print framework: Add more paper sizes and code to fallback to an | |
1022 | explicit paper size if a known paper size is not found for the | |
1023 | printer.</p> | |
1024 | <p>wxMac: Applied patch for bug #1206181 Option-key decodes are wrong, | |
1025 | also applied patch for bug #1205691 Modified Fn keys don't work.</p> | |
1026 | <p>wx.Image: Fixed to preserve alpha channel in Rotate90 method.</p> | |
1027 | <p>wxMSW: Fixed incorrect background colour on wx.CheckListBox.</p> | |
1028 | <p>wxMSW: Fixed drawing of owner drawn buttons with multiline labels</p> | |
1029 | <p>Removed a bunch of unnecessary files, and removed or replaced images | |
1030 | that we're not sure of their origin or license.</p> | |
1031 | <p>The default DoGetBestSize is updated to not always return the current | |
1032 | size if the window has no sizer, children, or minsize set. Instead | |
1033 | the current size is set as the minsize. This solves the occasional | |
1034 | problem where a sizer may cause a childless panel to grow but never | |
1035 | shrink.</p> | |
1036 | <p>wxMSW: When converting a wx.Icon to a bitmap check if the icon has an | |
1037 | alpha channel and set the bitmap to use it.</p> | |
1038 | <p>Fixed the wrong class name used in wx.PyScrolledWindow's call to | |
1039 | _setCallbackInfo.</p> | |
1040 | <p>wxMSW: patch #1207202, Fixes GDI leak when using stock cursors.</p> | |
1041 | <p>wx.calendar.CalendarCtrl: Patch #1207531, Keeps the CalendarCtrl wide | |
1042 | enough even when the weekday names for the locale are shorter than | |
1043 | usual.</p> | |
1044 | <p>Made GridCellNumberEditor.StartingKey also insert the typed char when | |
1045 | there is a range of allowed values (so a wx.SpinCtrl is used instead | |
1046 | of a wx.TextCtrl.)</p> | |
c66cd08a | 1047 | </div> |
974a50f1 | 1048 | <div class="section"> |
49db0f3f | 1049 | <h1><a id="id10" name="id10">2.6.0.0</a></h1> |
c66cd08a RD |
1050 | <ul class="simple"> |
1051 | <li>26-Apr-2005</li> | |
1052 | </ul> | |
05d6c206 RD |
1053 | <p>wxMSW: Fixed wx.TransientPopupWindow (and therefore wx.TipWindow) to |
1054 | auto-dismiss when the mouse is clicked outside of the popup like it is | |
1055 | supposed to.</p> | |
1056 | <p>wxMSW: Fixed bug #1167891 wx.Notebook display problem with wx.NB_MULTILINE.</p> | |
1057 | <p>wxMSW: Fixed bad cliping of hidden windows inside of wx.StaticBox.</p> | |
1058 | <p>wxGTK: The configure flags for selecting GTK+ 1.2.x or 2.x has | |
1059 | changed slightly. It is now --with-gtk[=VERSION] where VERSION is | |
1060 | either '1', '2' or 'any'. The default is '2'.</p> | |
1061 | <p>wx.stc.StyledTextCtrl: Added the following methods for alternate ways | |
1062 | to set and fetch text from the document buffer. They work similarly | |
1063 | to the existing methods of the same name, except that they don't go | |
1064 | through the same string/unicode <--> wxString conversions. The "Raw" | |
1065 | methods will do no conversions at all and in a unicode build of | |
1066 | wxPython the strings will be in the utf-8 encoding and in an ansi | |
1067 | build no assumption is made about the encoding. The "UTF8" functions | |
1068 | will attempt to always get/set utf-8 text, which it will always be | |
1069 | able to do in a unicode build, and in an ansi build it will depend on | |
1070 | the content of the utf-8 used being compatible with the current | |
1071 | encoding, (you'll get an exception otherwise.)</p> | |
1072 | <blockquote> | |
c66cd08a | 1073 | <table border="1" class="docutils"> |
05d6c206 RD |
1074 | <colgroup> |
1075 | <col width="49%" /> | |
1076 | <col width="51%" /> | |
1077 | </colgroup> | |
1078 | <tbody valign="top"> | |
1079 | <tr><td>AddTextRaw</td> | |
1080 | <td>AddTextUTF8</td> | |
1081 | </tr> | |
1082 | <tr><td>InsertTextRaw</td> | |
1083 | <td>InsertTextUTF8</td> | |
1084 | </tr> | |
1085 | <tr><td>GetCurLineRaw</td> | |
1086 | <td>GetCurLineUTF8</td> | |
1087 | </tr> | |
1088 | <tr><td>GetLineRaw</td> | |
1089 | <td>GetLineUTF8</td> | |
1090 | </tr> | |
1091 | <tr><td>GetSelectedTextRaw</td> | |
1092 | <td>GetSelectedTextUTF8</td> | |
1093 | </tr> | |
1094 | <tr><td>GetTextRangeRaw</td> | |
1095 | <td>GetTextRangeUTF8</td> | |
1096 | </tr> | |
1097 | <tr><td>SetTextRaw</td> | |
1098 | <td>SetTextUTF8</td> | |
1099 | </tr> | |
1100 | <tr><td>GetTextRaw</td> | |
1101 | <td>GetTextUTF8</td> | |
1102 | </tr> | |
1103 | <tr><td>AppendTextRaw</td> | |
1104 | <td>AppendTextUTF8</td> | |
1105 | </tr> | |
1106 | </tbody> | |
1107 | </table> | |
1108 | </blockquote> | |
1109 | <p>wx.stc.StyledTextCtrl: Added the StyleSetFontEncoding(style, enc) | |
1110 | method that allows you to set the encoding to be used by the font for | |
1111 | a particular style.</p> | |
1112 | <p>wxMac: Fixed wx.ComboBox to forward the EVT_CHAR, EVT_KEY_DOWN, | |
1113 | EVT_KEY_UP and EVT_TEXT events from its embedded text control.</p> | |
1114 | <p>wxMac: Corrected refresh bugs in wxGrid.</p> | |
c66cd08a | 1115 | <dl class="docutils"> |
a8e120ce RD |
1116 | <dt>XRCed: Updated to version 0.1.5.</dt> |
1117 | <dd><ul class="first last simple"> | |
1118 | <li>Added wxWizard, wxWizardPageSimple (only from pull-down menu).</li> | |
1119 | <li>Hide command for test window.</li> | |
1120 | <li>Replacing classes works better.</li> | |
1121 | <li>Added Locate tool.</li> | |
1122 | </ul> | |
1123 | </dd> | |
1124 | </dl> | |
05d6c206 | 1125 | </div> |
974a50f1 | 1126 | <div class="section"> |
49db0f3f | 1127 | <h1><a id="id11" name="id11">2.5.5.1</a></h1> |
c66cd08a RD |
1128 | <ul class="simple"> |
1129 | <li>8-Apr-2005</li> | |
1130 | </ul> | |
cae92223 RD |
1131 | <p>wxMSW: Fixed bug #1022383, 'several ComboBoxes appear selected'</p> |
1132 | <p>wx.grid.Grid: Fixed bug #1163384. Moved the code that handles | |
1133 | activating the cell editors to a EVT_CHAR event handler. This is done | |
1134 | so the character inserted into the editor will be the "cooked" char | |
1135 | value (including accented or composed keys) rather than the raw code | |
1136 | provided by the EVT_KEY_DOWN event.</p> | |
1137 | <p>Added orient parameter to wx.MDIParentFrame.Tile()</p> | |
1138 | <p>wxMSW: wxTextCtrl with wx.TE_RICH2 style now uses RichEdit 4.1 if | |
1139 | available.</p> | |
1140 | <p>Added GetCount, GetCountRGB, and GetCountColour methods to | |
1141 | wx.ImageHistogram.</p> | |
1142 | <p>wxMSW: wx.Window.Refresh changed to explicitly refresh all children as | |
1143 | well as the parent. Previously it was implicitly done because parents | |
1144 | did not clip their children by default. Now that they always clip | |
1145 | children then Refresh needed to be fixed to do a recursive refresh. | |
1146 | This also fixes the Freeze/Thaw problems that some people had with | |
1147 | 2.5.4.1.</p> | |
1148 | <p>wx.SplitterWindow: Send EVT_SPLITTER_SASH_POS_CHANGED only once after | |
1149 | end of dragging and not after each CHANGING event (modified patch | |
1150 | #1076226)</p> | |
1151 | <p>wx.glcanvas.GLCanvas: applied patch fixing problems with X server | |
1152 | crash when using nVidia cards (patch 1155132)</p> | |
c66cd08a | 1153 | <dl class="docutils"> |
cae92223 RD |
1154 | <dt>wx.lib.mixins.listctrl: Patches from Toni Brkic:</dt> |
1155 | <dd><ul class="first last simple"> | |
1156 | <li>Bugfix for TextEditMixin when the view can't be scrolled</li> | |
05d6c206 | 1157 | <li>Enhancement for ListCtrlAutoWidthMixin, allowing it to manage |
cae92223 RD |
1158 | the width of any column.</li> |
1159 | </ul> | |
1160 | </dd> | |
1161 | </dl> | |
1162 | <p>wxMac: removal and reusing toolbar tools like the other platforms is | |
1163 | now possible.</p> | |
1164 | <p>wxMac: Correct radio tool selection after calling Realize a 2nd time.</p> | |
1165 | <p>wxMSW: Applied patch #1166587, removes all flicker from wx.StaticBox</p> | |
1166 | <p>Added wx.lib.foldpanelbar, Andrea Gavana's port of Jorgen Bodde's C++ | |
1167 | wxFoldPanelBar classes to Python.</p> | |
1168 | <p>wxGTK: Applied patch #1173802, reimplementation of GtkFileChooser | |
1169 | wxFileDialog by Mart Raudsepp. Note that this new file dialog is only | |
1170 | used on GTK2 >= 2.4. For earlier GTK2 versions and GTK1 then the | |
1171 | older generic file dialog is used.</p> | |
1172 | <p>wxMSW: fixes to static box borders calculations (finalizes patch | |
1173 | #1166587)</p> | |
1174 | <p>wx.Image: Use Python's buffer interface API for all image data and | |
1175 | alpha Set/Get methods and the ImageFromData* constructors. They all | |
1176 | still copy the buffer except for SetDataBuffer and SetAlphaBuffer, but | |
1177 | this gives more flexibility on where the data can come from.</p> | |
1178 | <p>Added MDI support to XRC</p> | |
1179 | <p>Added wx.animate module and a demo. The wx.animate module provides a | |
1180 | control that is able to display an animated GIF file.</p> | |
1181 | <p>wx.lib.plot.py: Applied patch from Werner F. Bruhin that allows either | |
1182 | vertical and/or horizontal gridlines.</p> | |
1183 | <p>wxMSW: Extra space given for top border of wx.StaticBoxSizer so the | |
1184 | upper line is not cliped when there is no label.</p> | |
1185 | <p>wxMSW: Restored old behaviour of wx.StaticBox.SetBackgroundColour only | |
1186 | affecting the label.</p> | |
1187 | <p>wxMSW: Fixed missing EVT_RIGHT_DOWN and EVT_TREE_ITEM_RIGHT_CLICK | |
1188 | events in a wx.TreeCtrl.</p> | |
1189 | <p>Added wx.GetTopLevelWindows() function which returns a copy of the | |
1190 | list of top-level windows that currently exist in the application.</p> | |
1191 | <p>Updated docview library modules and sample apps from the ActiveGrid | |
1192 | folks.</p> | |
1193 | <p>Added the ActiveGrid IDE as a sample application.</p> | |
1194 | </div> | |
974a50f1 | 1195 | <div class="section"> |
49db0f3f | 1196 | <h1><a id="id12" name="id12">2.5.4.1</a></h1> |
c66cd08a RD |
1197 | <ul class="simple"> |
1198 | <li>16-Mar-2005</li> | |
1199 | </ul> | |
287cb697 RD |
1200 | <p>wx.Sizer Add, Insert, and Prepend functions now return a reference to the |
1201 | wx.SizerItem that was added to the sizer, and the wx.SizerItem has a | |
1202 | GetRect accessor to give the position of the item on the parent window.</p> | |
1203 | <p>Added wx.Sizer.GetItem method which returns the wx.SizerItem for the given | |
1204 | wx.Window, wx.Sizer or position index.</p> | |
1205 | <p>wxMSW: wx.RadioButtons in the same group no longer have to be | |
1206 | consecutive (there may be intervening controls). Without this fix, an | |
1207 | out-of-sync assert is generated when clicking on a radio button and | |
1208 | then calling GetValue().</p> | |
c66cd08a | 1209 | <dl class="docutils"> |
05d6c206 | 1210 | <dt>Some XRC changes:</dt> |
287cb697 RD |
1211 | <dd><ul class="first last simple"> |
1212 | <li>Added 'icon' property to wxFrame and wxDialog</li> | |
1213 | <li>No longer ignores menu bitmaps on non-MSW platforms</li> | |
1214 | <li>Notebook page bitmaps are now supported</li> | |
1215 | <li>added system colours and fonts support (based on patch #1038207)</li> | |
1216 | </ul> | |
1217 | </dd> | |
1218 | </dl> | |
1219 | <p>wxMSW: fix for [ 1052989 ] TextCtrl.SetBackgroundColour(wx.NullColour) | |
1220 | bug.</p> | |
1221 | <p>Added wx.PasswordEntryDialog analagous to wx.TextEntryDialog, allows | |
1222 | detecting entering an empty string vs. cancel unlike the | |
1223 | wx.GetPasswordFromUser dialog function.</p> | |
1224 | <p>OGL patch from Shane Holloway:</p> | |
1225 | <blockquote> | |
1226 | <p>Two simple problems found in the new python ogl code. First is | |
1227 | the patch for _canvas.py. Essentially:</p> | |
1228 | <pre class="literal-block"> | |
1229 | dx = abs(dc.LogicalToDeviceX(x - self._firstDragX)) | |
1230 | dy = abs(dc.LogicalToDeviceY(y - self._firstDragY)) | |
1231 | </pre> | |
1232 | <p>was incorrect because (x,y) and (self._firstDragX, | |
1233 | self._firstDragY) are both already in Logical coordinates. | |
1234 | Therefore the difference between the two is also in logical | |
1235 | coordinates, and the conversion call is an error. This bug | |
1236 | surfaces when you have OGL on a scrollwin, and you are far from | |
1237 | the origin of the canvas.</p> | |
1238 | <p>The second change in _composit.py basically removes the assumption | |
1239 | that the child is in both self._children and self._divisions. | |
1240 | Causes many problems when it's not. ;)</p> | |
1241 | </blockquote> | |
1242 | <p>Fixed GetSaveData and SetSaveData in wx.lib.multisash to not depend on | |
1243 | the default way that class objectss are converted to strings.</p> | |
1244 | <p>Fixed problem in StyledTextCtrl.Set[HV]ScrollBar that could leave the | |
1245 | internal scrollbar visible.</p> | |
1246 | <p>Added wx.StandardPaths which provides methods for determining standard | |
1247 | system paths for each platform.</p> | |
1248 | <p>wxMSW: The window background is now only erased by default if the | |
1249 | background colour or background mode has been changed. This better | |
1250 | allows the default system themed behaviour to show through for | |
1251 | uncustomized windows. Explicit support added for using the correct | |
1252 | theme texture for wx.Notebook pages and their children.</p> | |
1253 | <p>wx.Image: Added support for alpha channels in interpolated and | |
1254 | non-interpolated image rotation. Added ConvertAlphaToMask helper | |
1255 | method for turning shades of grey into shades of alpha and a colour.</p> | |
1256 | <p>wxGTK2: Reimplemented DoDrawRotatedText() by way of a rotation of an | |
1257 | alpha blended text bitmap. It would be better if Pango could draw | |
1258 | directly into an wxImage (as FreeType can,) but that is for later...</p> | |
1259 | <p>Added wrappers and a demo for the wx.MediaCtrl class, which can play | |
1260 | various forms of audio/video media using native codecs install on the | |
1261 | system. So far it is only implemented for Windows and OSX.</p> | |
1262 | <p>wxGTK: Patch applied for Freeze()/Thaw() for wxTextCtrtl.</p> | |
1263 | <p>Added "gravity" for splitter window (patch 1046105). Gravity is a | |
1264 | floating-point factor between 0.0 and 1.0 which controls position of | |
1265 | sash while resizing the wx.SplitterWindow. The gravity specifies | |
1266 | how much the left/top window will grow while resizing.</p> | |
1267 | <p>wxMSW: wx.Slider's C++ implementation rewritten to be more | |
1268 | maintainable and hopefully less buggy. The position of the labels has | |
1269 | also been changed in order to better comply with Microsoft's examples | |
1270 | of how to use the control.</p> | |
1271 | <p>wxMSW: Fix wx.TreeCtrl to end label editing if the control loses | |
1272 | focus (a slightly modified patch 1084592.)</p> | |
1273 | <p>Added wx.EXEC_NODISABLE flag for wx.Execute, which will prevent all | |
1274 | the app's windows being disabled while a synchronous child process is | |
1275 | running.</p> | |
1276 | <p>wxMSW: Much work to correct painting (or leaving transparent) of | |
1277 | control backgrounds, properly using background themes on XP, etc.</p> | |
1278 | <p>Fixed a circular reference problem with wx.Timer. It will now | |
1279 | completely cleanup after itself when the last reference to the timer | |
1280 | is removed. If you were previously using timer.Destroy() to cleanup | |
1281 | your timers it will no longer work. Instead you should hold a | |
1282 | reference to the timer and then del the reference when you are | |
1283 | finished with the timer.</p> | |
1284 | <p>Updated to 1.3.24 of SWIG. All of my big patches have been applied to | |
1285 | the main SWIG source tree, but unfortunatly there were also some bugs | |
1286 | added that affected the wxPython build and a few details in my | |
1287 | original patch were changed/removed, so we are still not free of | |
1288 | patches. A new patch for SWIG is located in the wxPython/SWIG | |
1289 | directory of the wxPython source tree. SWIG 1.3.24 plus this patch | |
1290 | should be used by anyone who is making custom modifications to | |
1291 | wxPython's .i files, or building their own extension modules or | |
1292 | etc. that need to interact with the wxPython swigged types. For the | |
1293 | morbidly curious, here are a few more details:</p> | |
1294 | <blockquote> | |
1295 | <ul class="simple"> | |
1296 | <li>Since it is now possible easily and simply share the SWIG type | |
1297 | tables across modules I reverted to always using the stock SWIG | |
1298 | runtime instead of my slightly hacked up version of it exported | |
1299 | via the wxPython C API.</li> | |
1300 | <li>The %name directive is now deprecated so I replaced most uses of | |
1301 | it with a custom %Rename macro that uses %rename internally. | |
1302 | These will evetually need to be replaced with a DocDecl macro | |
1303 | when docstrings are added for those items.</li> | |
1304 | <li>The "this" attribute of all SWIGged classes is no longer a | |
1305 | string containing a "swigified pointer", but rather a custom | |
1306 | built-in type that holds the real C pointer to the object and | |
1307 | the type info. It can be converted to a string like the old | |
1308 | value using str() or to the long integer value of the pointer | |
1309 | using long().</li> | |
1310 | </ul> | |
1311 | </blockquote> | |
1312 | <p>Added SetDefaultPyEncoding and GetDefaultPyEncoding functions which | |
1313 | will set/get the encoding used by wxPython to convert string or | |
1314 | unicode objects to/from wxString objects. Previously the default | |
1315 | Python encoding was always used, but unless the user had tweaked their | |
1316 | sitecustomize.py file it is always "ascii", which would result in | |
1317 | errors if the strings contained character codes >= 128. | |
1318 | SetDefaultPyEncoding will now allow you to control which encoding will | |
1319 | be used to do those conversions. The default encoding is set to the | |
1320 | value of <cite>locale.getdefaultlocale()[1]</cite> when wxPython is first | |
1321 | imported. Please see <a class="reference" href="http://www.alanwood.net/demos/charsetdiffs.html">http://www.alanwood.net/demos/charsetdiffs.html</a> | |
1322 | for information on the differences between the common latin/roman | |
1323 | encodings.</p> | |
1324 | <p>Added wxStdDialogButtonSizer, which is a a special sizer that knows | |
1325 | how to order and position standard buttons in order to conform to the | |
1326 | current platform's standards. You simply need to add each <cite>wx.Button</cite> | |
1327 | to the sizer, and be sure to create the buttons using the standard | |
1328 | ID's. Then call <cite>Realize</cite> and the sizer will take care of the rest.</p> | |
1329 | <p>wxMSW Toolbar: pass correct tool id (and not always -1) to the | |
1330 | EVT_TOOL_RCLICKED handler</p> | |
1331 | <p>wxGTK: Applied patch for combo box SELECTED events (no longer get | |
1332 | lots of surplus events)</p> | |
1333 | <p>wxGTK: Applied patch for proper menu highlight colour detection in | |
1334 | wx.SystemSettings.</p> | |
1335 | <p>wxGTK: Commited scrollbar patch #1093339 which sends lineup, linedown | |
1336 | events based on intercepting the mouse down events.</p> | |
1337 | <p>wxGTK: Applied patch #1102789 which solved conflicts between wxWidgets | |
1338 | and GTK+'s context menu code.</p> | |
1339 | <p>wxGTK: Applied patch #1100327 for correct feedback from DND actions | |
1340 | (not all actions are allowed).</p> | |
1341 | <p>Fixed memory leak in wxGrid::UpdateAttr[Rows][Or][Cols] (patch 1104355)</p> | |
1342 | <p>For efficiency reasons, text controls no longer set the string for | |
1343 | each text updated event, but rather query for the string value only | |
1344 | when GetString is called from an event handler.</p> | |
1345 | <p>Added wx.SL_INVERSE style which will cause wx.Slider to invert the min | |
1346 | and max ends of the slider.</p> | |
1347 | <p>Several patches applied, such as #1111174, #1110252 and others, that | |
1348 | make the generic wx.TreeCtrl (used on wxGTK and wxMac) be more | |
1349 | conistent with the wxMSW native wx.TreeCtrl.</p> | |
c66cd08a | 1350 | <dl class="docutils"> |
287cb697 RD |
1351 | <dt>XRCed:</dt> |
1352 | <dd><ul class="first last simple"> | |
1353 | <li>Edit->Locate command (Ctrl-L) for quick selection of items. | |
1354 | Works with event-handling controls (buttons, text fields) but | |
1355 | not with labels/sizers.</li> | |
1356 | <li>Some improvements: relative paths for files supplied as command- | |
1357 | line argument work correctly, notebook panels are highlighted | |
1358 | better.</li> | |
1359 | </ul> | |
1360 | </dd> | |
1361 | </dl> | |
1362 | <p>wxMac: Fixed a long-standing issue where wxSlider controls with a | |
1363 | hardcoded size would misplace their labels behind the slider control.</p> | |
1364 | <p>wx.HtmlListBox fixed so calling RefreshLine(s) will cause the data for | |
1365 | that line to be refetched from the overridden methods in the derived | |
1366 | class.</p> | |
1367 | <p>The default DoGetBestSize now includes the difference (if any) between | |
1368 | the client size and total size of the window, (such as the size of | |
1369 | borders.) Code that sets the client size using the best size, or that | |
1370 | added extra space to sizers to compensate for this bug may need to be | |
1371 | changed.</p> | |
1372 | <p>Can suppress themed notebook pages with the wxNB_NOPAGETHEME style or | |
1373 | setting system option msw.notebook.themed-background to 0.</p> | |
1374 | <p>wxSyledTextCtrl updated to use Scintilla 1.62.</p> | |
1375 | <p>Can now set the msw.window.no-clip-children system option to 1 to | |
1376 | eliminate weird refresh behaviour (delays between a window being | |
1377 | erased and repainted, giving a ghostly gradual-redraw effect). May be | |
1378 | a temporary 'fix' until properly fixed before 2.6.</p> | |
1379 | <p>wxMac: Toolbar is now more native looking with borderless toolbar | |
1380 | buttons.</p> | |
1381 | <p>wxMac: Switched wx.Bitmap to use newer Quartz object types and APIs | |
1382 | internally. This results in faster display and better alpha support.</p> | |
1383 | <p>Added wx.DatePickerCtrl.</p> | |
1384 | <p>wx.html.HtmlWindow now supports background images.</p> | |
1385 | <p>Added wx.lib.gestures module from Daniel Pozmanter which supports | |
1386 | using Mouse Gestures in an application.</p> | |
1387 | <p>wxGTK2: ENTER and LEAVE mouse events are now sent for multi-line text | |
1388 | controls.</p> | |
1389 | <p>wxMSW: "Alt" key (VK_MENU) now results in WXK_ALT keyboard event, not | |
1390 | WXK_MENU</p> | |
1391 | <p>Added modules from Peter Yared and Morgan Hua that implement the wx | |
1392 | Doc/View framework in pure Python code. See wx.lib.docview for the | |
1393 | base implementation and wx.lib.pydocview for Python-specific | |
1394 | extensions. There are also a couple sample applications located in | |
1395 | samples/docview.</p> | |
1396 | <p>Added GetBitmap, GetIcon to wx.ImageList.</p> | |
1397 | <p>wxGTK wx.Button.SetLabel no longer invalidates/resets the font.</p> | |
1398 | <p>wx.Sizer.AddWindow, AddSizer, AddSpacer and etc. have now been | |
1399 | undeprecated at the request of Riaan Booysen, the Boa Constructor team | |
1400 | lead. Boa needs them to help keep track of what kind of item is being | |
1401 | managed by the sizer. They are now just simple compatibility aliases | |
1402 | for Add, and etc.</p> | |
1403 | <p>The old C++ version of the OGL lib is no longer built by default. Use | |
1404 | the Python version in the wx.lib.ogl package instead.</p> | |
1405 | <p>The wx.iewin module is no longer built by default. You can use the | |
1406 | wx.lib.iewin version instead.</p> | |
1407 | <p>Fixed wx.BufferedPaintDC for scrolled windows to work whether the | |
1408 | buffer is covering only the client area or the full virtual area of | |
1409 | the scrolled window. By default it will assume that only the client | |
1410 | area is covered. This is different than the old behavior so to | |
1411 | indicate that the entire virtual area is covered simply add a | |
1412 | style=wx.BUFFER_VIRTUAL_AREA parameter.</p> | |
1413 | <p>wx.gizmos.TreeListCtrl: Add support for the EVT_TREE_ITEM_GETTOOLTIP | |
1414 | event.</p> | |
1415 | <p>Added Resize, SetRGBRect, Size, and GetOrFindMaskColour methods to | |
1416 | wx.Image.</p> | |
1417 | <p>Added wx.Rect.IsEmpty</p> | |
c66cd08a | 1418 | <dl class="docutils"> |
287cb697 RD |
1419 | <dt>wxGTK:</dt> |
1420 | <dd><ul class="first last simple"> | |
1421 | <li>Corrected wx.ListBox selection handling</li> | |
1422 | <li>Corrected default button size handling for different themes</li> | |
1423 | <li>Corrected splitter sash size and look for different themes</li> | |
1424 | <li>Fixed keyboard input for dead-keys</li> | |
1425 | </ul> | |
1426 | </dd> | |
1427 | </dl> | |
1428 | </div> | |
974a50f1 | 1429 | <div class="section"> |
49db0f3f | 1430 | <h1><a id="id13" name="id13">2.5.3.1</a></h1> |
c66cd08a RD |
1431 | <ul class="simple"> |
1432 | <li>9-Nov-2004</li> | |
1433 | </ul> | |
60b517c1 RD |
1434 | <p>wxMac focus and border refreshes corrected.</p> |
1435 | <p>Updated internal PNG library.</p> | |
1436 | <p>wxMac fix for metal appearance on wx.ToolBar.</p> | |
1437 | <p>wx.grid.Grid fix allowing DoGetBestSize to be called before CreateGrid | |
1438 | (which means that a min size doesn't need to be specified.)</p> | |
1439 | <p>wxMac fix for not sending a native click to a control if it is not | |
1440 | enabled (does an enable itself)</p> | |
1441 | <p>Added wx.lib.ogl.DrawnShape, and fixed various little bugs in the new | |
1442 | OGL.</p> | |
1443 | <p>Added support to XRC and XRCed for the 3-state checkbox flags and also | |
1444 | for wx.ToggleButton. Updated the generic window styles supported by | |
1445 | XRCed.</p> | |
1446 | <p>It is now possible to create "stock" buttons. Basically this means | |
1447 | that you only have to provide one of the stock IDs (and either an | |
1448 | empty label or a label that matches the stock label) when creating the | |
1449 | button and wxWidgets will choose the stock label to go with it | |
1450 | automatically. Additionally on the platforms that have a native | |
1451 | concept of a stock button (currently only GTK2) then the native stock | |
1452 | button will be used. For example, the following will result in a | |
287cb697 RD |
1453 | button with "Cancel" as the label and if run on wxGTK2 then there will |
1454 | also be an image of a red X:</p> | |
60b517c1 | 1455 | <pre class="literal-block"> |
05d6c206 | 1456 | b = wx.Button(parent, wx.ID_CANCEL) |
60b517c1 RD |
1457 | </pre> |
1458 | <p>Added wx.lib.ticker.Ticker class from Chris Mellon.</p> | |
1459 | <p>Fix some incorrect clipping regions in wxSTC on wxGTK.</p> | |
1460 | <p>Added wrapper for wx.grid.Grid.GetOrCreateCellAttr.</p> | |
1461 | <p>Removed my copy of distutils from the wxPython source tree. Now that | |
1462 | I am no longer doing builds on Python 2.1 the newest distutils is no | |
1463 | longer needed. (There is still one small bug in Python 2.2 distutils | |
1464 | on win32, but it is easily worked around.) This sovles the problem of | |
1465 | incorrect builds on some systems where the system installed distutils | |
1466 | has been patched to behave slightly differently, for example SuSE on | |
1467 | x86_64 or Chandler's build.</p> | |
1468 | <p>Updated to SWIG 1.3.22 (plus my patch.) See wxPython/SWIG/README.txt | |
1469 | in the source tree if you need to use SWIG when building your own copy | |
1470 | of wxPython, or other extension modules that need to integrate with | |
1471 | the wxPython modules.</p> | |
1472 | <p>Added wx.Frame.RequestUserAttention which, if the platform suports it, | |
1473 | will do something (such as flash the task bar item) to suggest to the | |
1474 | user that they should look at that window.</p> | |
1475 | <p>"Fixed" wx.grid.Grid.SetDefaultEditor and SetDefaultRenderer by making | |
1476 | them register the editor or renderer for the "string" data type.</p> | |
1477 | <p>Added depth param to wx.Image.ConvertToBitmap.</p> | |
1478 | <p>Extended the wx.calendar.CalendarCtrl class with methods that get/set | |
1479 | a Python datetime or date object. (These will only work with Python | |
1480 | 2.3+) The methods are PySetDate, PyGetDate, PySetLowerDateLimit, | |
1481 | PySetUpperDateLimit, PySetDateRange, PyGetLowerDateLimit, and | |
1482 | PyGetUpperDateLimit. Also, CalendarEvent was extended with PySetDate | |
1483 | and PyGetDate methods.</p> | |
1484 | <p>wxMSW: SetBackgroundColour on a wx.Choice or a wx.ComboBox will now | |
1485 | also set the colour of the dropdown.</p> | |
1486 | <p>wxMac: MessageDialog now supports wx.NO_DEFAULT style</p> | |
1487 | <p>wxMSW: added AssociateHandle and DissociateHandle to wx.Window</p> | |
1488 | <p>wxMac: fix for toolbar tooltips</p> | |
1489 | <p>wx.Sizer.Show (and Hide) now take an optional parameter specifying if | |
1490 | the item to be shown should be searched for recursivly in subsizers, | |
1491 | and return a boolean value indicating if the item was found.</p> | |
1492 | <p>wxMSW: fixed MaximizeEvent generation in wx.Frame</p> | |
1493 | <p>wxMSW: fixed sending duplicate EVT_COMBOBOX events</p> | |
1494 | <p>Smoother time estimation updates in wx.ProgressDialog (patch 992813)</p> | |
1495 | <p>Made wx.Listbook events more consistent with wx.Notebook ones (patch | |
1496 | 1001271)</p> | |
1497 | <p>Fixed rounding errors in variable status bar panes widths computation | |
1498 | (patch 1030021)</p> | |
1499 | <p>Added possibility to specify printer bin (patch 910272)</p> | |
1500 | <p>wxMSW: fixed wx.ListCtrl's SetWindowStyleFlag() to not remove | |
1501 | WS_VISIBLE; also refresh the control automatically (closes bug | |
1502 | 1019440)</p> | |
1503 | <p>Added wx.Choicebook, yet another notebook-like control.</p> | |
1504 | <p>wxMSW: Make radiobutton tab behaviour the same on MSW as in standard | |
1505 | MSW app, i.e. tab into the activated, not necessarily the first radio | |
1506 | button.</p> | |
1507 | <p>Added limited support for wxEventLoop (you can't derive from a | |
1508 | wx.PyEventLoop version yet...) Updated and moved the sample showing | |
1509 | how to replace the MainLoop to samples/mainloop/mainloop.py.</p> | |
1510 | <p>The C++ xrc lib has been moved out of contrib and into the core, so it | |
1511 | is always built by default. wxPython's build has also changed | |
1512 | accordingly and will build the xrc module as part of the core set of | |
1513 | modules built by default. If you were axplicitly using BUILD_XRC then | |
1514 | it will no longer be recognized as a build option, otherwise you | |
1515 | should notice no difference.</p> | |
1516 | <p>wxMac: Fixed radio toolbar buttons to correctly untoggle the others | |
1517 | when a new one is selected.</p> | |
1518 | <p>wxMac: Fixed GetLineLength and GetLineText for MLTE text controls</p> | |
1519 | <p>wxMac: wx.TaskBarIcon is implemented by allowing you to change the | |
1520 | app's icon on the Dock and also specifying a menu that should be | |
1521 | merged with the normal dock popup menu. See the MigrationGuide for | |
1522 | more details and a warning.</p> | |
1523 | <p>Added wx.TopLevelWindow.IsActive() which tells you if the frame or | |
1524 | dialog is or containts the active window with the keyboard focus.</p> | |
1525 | <p>Added ability to create a font based on pixel size rather than point | |
1526 | size via the FontFromPixelSize constructor.</p> | |
1527 | <p>Updated the Scintilla used by StyledTextCtrl to version 1.61</p> | |
1528 | <p>Improved image HitTest for TreeListCtrl.</p> | |
1529 | <p>Added wx.App.IsMainLoopRunning.</p> | |
1530 | <p>wxGTK: Make wxComboBox spit out a bit fewer surplus events when | |
1531 | holding down the mouse button.</p> | |
1532 | <p>wxGTK: Enable key based navigation through notebook tabs as in the | |
1533 | native control with Left and right keys. Support for vetoing.</p> | |
1534 | <p>FloatCanvas updates from Chris Barker</p> | |
c66cd08a | 1535 | <dl class="docutils"> |
60b517c1 RD |
1536 | <dt>PyPlot updates from Gordon Williams:</dt> |
1537 | <dd><ul class="first last simple"> | |
1538 | <li>Added bar graph demo</li> | |
1539 | <li>Modified line end shape from round to square.</li> | |
1540 | <li>Removed FloatDCWrapper for conversion to ints and ints in | |
1541 | arguments</li> | |
1542 | <li>Imported modules given leading underscore to name.</li> | |
1543 | <li>Added Cursor Line Tracking and User Point Labels.</li> | |
1544 | <li>Demo for Cursor Line Tracking and Point Labels.</li> | |
1545 | <li>Size of plot preview frame adjusted to show page better.</li> | |
1546 | <li>Added helper functions PositionUserToScreen and | |
1547 | PositionScreenToUser in PlotCanvas.</li> | |
1548 | <li>Added functions GetClosestPoints (all curves) and GetClosestPoint | |
1549 | (only closest curve) can be in either user coords or screen | |
1550 | coords.</li> | |
1551 | </ul> | |
1552 | </dd> | |
1553 | <dt>MaskedEdit updates from Will Sadkin:</dt> | |
1554 | <dd><ul class="first last simple"> | |
1555 | <li>Added '*' mask char that means "all ansii chars" (ords 32-255)</li> | |
1556 | <li>Added proper unicode support to masked controls and wx.tools.dbg</li> | |
1557 | <li>Fixed two reported missing import bugs introduced by package | |
1558 | creation</li> | |
1559 | <li>Converted masked package doc strings to reST format for better | |
1560 | epydoc support</li> | |
1561 | <li>lots of doc string improvements and function hiding to better | |
1562 | reflect package's public contents.</li> | |
1563 | </ul> | |
1564 | </dd> | |
1565 | </dl> | |
1566 | <p>Restructured the installer packages slightly to help facilitate having | |
1567 | multiple versions of wxPython installed at the same time. See the | |
1568 | Migrarion Guide for more information.</p> | |
c66cd08a | 1569 | <dl class="docutils"> |
60b517c1 RD |
1570 | <dt>Applied patch from Pim Van Heuven that modifies 4 files:</dt> |
1571 | <dd><ul class="first last simple"> | |
1572 | <li>wxPython/demo/ListCtrl_edit.py (new demo)</li> | |
1573 | <li>wxPython/demo/Main.py (include new demo in demo app)</li> | |
05d6c206 | 1574 | <li>wxPython/wx/lib/mixins/listctrl.py (several improvements to |
60b517c1 RD |
1575 | TextEditMixin)</li> |
1576 | <li>wxPython/wx/lib/wxpTag.py (some small fixes)</li> | |
1577 | </ul> | |
1578 | </dd> | |
1579 | </dl> | |
1580 | <p>Added (thanks to Kevin Ollivier!) wrappers for wx.WebKitCtrl for the | |
1581 | OSX build. Other platforms will raise an exception if you try to use | |
1582 | it.</p> | |
1583 | <p>wxPython on OSX can now be built in Unicode mode, can support multiple | |
1584 | version installs, and comes with an uninstaller script.</p> | |
1585 | </div> | |
974a50f1 | 1586 | <div class="section"> |
49db0f3f | 1587 | <h1><a id="id14" name="id14">2.5.2.8</a></h1> |
c66cd08a RD |
1588 | <ul class="simple"> |
1589 | <li>27-Aug-2004</li> | |
1590 | </ul> | |
df1a2934 RD |
1591 | <p>Predominantly a bug-fix release.</p> |
1592 | <blockquote> | |
1593 | <ul class="simple"> | |
1594 | <li>Fixed fatal error due to improper wrapping of wx.FSFile.</li> | |
1595 | <li>Fixed return type of EditableListBox.GetListCtrl</li> | |
1596 | <li>Give generic tree and list controls a DoGetBestSize so they play | |
1597 | nicer with sizers when there is no minimal size.</li> | |
1598 | <li>Some tweaks in the demo and samples to correct layout, some | |
1599 | flicker problems, and namespace use.</li> | |
1600 | <li>Add wx.Image.ConvertAlphaToMask</li> | |
1601 | <li>Minor corrections in wx.lib.dialogs</li> | |
1602 | <li>wx.FileHistory constructor now accepts the documented 2nd | |
1603 | parameter.</li> | |
1604 | <li>Corrections for exceptions in the new ogl</li> | |
1605 | <li>Fixed XRCed to not use reparenting of windows to implement caching | |
1606 | of property panels, since Reparent on wxMac is not implemented.</li> | |
1607 | <li>Add support for wxTAB_TRAVERSAL to the XRC handler for | |
1608 | wxScrolledWindow.</li> | |
1609 | <li>Add support for all wxListBox styles to the XRC handler for | |
1610 | wxCheckListBox.</li> | |
1611 | <li>Fix for wx.Listbook.DeleteAllPages to really delete everything.</li> | |
1612 | <li>wxGTK2 now supports alpha blended bitmap drawing</li> | |
1613 | <li>Made wx.grid.Grid play nicer with sizers.</li> | |
1614 | <li>etc.</li> | |
1615 | </ul> | |
1616 | </blockquote> | |
1617 | </div> | |
974a50f1 | 1618 | <div class="section"> |
49db0f3f | 1619 | <h1><a id="id15" name="id15">2.5.2.7</a></h1> |
c66cd08a RD |
1620 | <ul class="simple"> |
1621 | <li>14-Aug-2004</li> | |
1622 | </ul> | |
40efbdda RD |
1623 | <p>wx.ADJUST_MINSIZE is now the default behaviour for window items in |
1624 | sizers. This means that the item's GetMinSize and/or GetBestSize will | |
1625 | be called when calculating layout and the return value from that will | |
1626 | be used for the minimum size used by the sizer. The wx.FIXED_MINSIZE | |
1627 | flag was added that will cause the sizer to use the old behaviour in | |
1628 | that it will <em>not</em> call the window's methods to determine the new best | |
1629 | size, instead the minsize that the window had when added to the sizer | |
da2c7672 RD |
1630 | (or the size the window was created with) will always be used. Please |
1631 | see the Sizers section in the Migration Guide for more details.</p> | |
40efbdda RD |
1632 | <p>Added new MaskedEditControl code from Will Sadkin. The modules are |
1633 | now locaed in their own sub-package, wx.lib.masked. Demos updated.</p> | |
1634 | <p>The changes that implemented the incompatible wx.DC methods in 2.5.1.5 | |
1635 | have been reverted. The wx.DC methods are now compatible with the 2.4 | |
1636 | implemetation. In addition a set of renamed methods have been added | |
1637 | that take wx.Point and/or wx.Size objects instead of individual | |
1638 | parameters.</p> | |
1639 | <p>Added wx.lib.mixins.listctrl.TextEditMixin, a mixin class that allows | |
1640 | all columns of a wx.ListCtrl in report mode to be edited.</p> | |
1641 | <p>Deprecated the wx.iewin module.</p> | |
1642 | <p>Deprecated the wx.Sizer.AddWindow, AddSizer, AddSpacer methods as well | |
1643 | as their Insert* and Prepend* counterparts.</p> | |
1644 | <p>Added a generic StaticBitmap class in wx.lib.statbmp for the same | |
1645 | reasons that stattext was created, so it could be mouse sensitive on | |
1646 | all platforms like normal windows. Also updated stattext.py and | |
1647 | buttons.py to handle attribute (font & colour) defaults and | |
1648 | inheritance the new way. If you have custom controls of your own you | |
1649 | should review stattxt.py or one of the others to see how it is to be | |
1650 | done.</p> | |
1651 | <p>wx.InitAllImageHandlers is now an empty function that does nothing but | |
1652 | exist for backwards compatibility. The C++ version is now called | |
1653 | automatically when wxPython is initialized. Since all the handlers | |
1654 | are included in the wxWidgets shared library anyway, this imposes only | |
1655 | a very small amount of overhead and removes several unneccessary | |
1656 | problems.</p> | |
1657 | <p>Replaced wx/lib/pubsub.py with a version that uses weak references to | |
1658 | track the subscribers, plus other fixes/additions. Thanks go to | |
1659 | Oliver Schoenborn and Robb Shecter.</p> | |
1660 | <p>wxGTK now uses gtk_init_check so wxPython can raise an exception if | |
1661 | there is no DISPLAY available or other initializaion problem.</p> | |
1662 | <p>wx.GetKeyState now has an implementation for wxGTK and is able to | |
1663 | detect the up/down or toggle state of modifier and toggle keys.</p> | |
1664 | <p>The LC_NUMERIC locale is now reset back to "C" (compatibility) when | |
1665 | running on wxGTK to work around the fact that GTK requires the locale | |
1666 | to be set to the system settings but Python depends on LC_NUMERIC | |
1667 | remaining compatible with "C".</p> | |
1668 | <p>Switched gizmos.TreeListCtrl to the newer version of the code from the | |
1669 | wxCode project.</p> | |
1670 | <p>OGL is dead! LONG LIVE OGL! (Oops, sorry. A bit of my dramatic side | |
1671 | leaked out there...) The wx.ogl module has been deprecated in favor | |
1672 | of the new Python port of the OGL library located at wx.lib.ogl | |
1673 |