]>
Commit | Line | Data |
---|---|---|
73adcb01 | 1 | Recent Changes for wxPython |
8eda5e35 | 2 | ===================================================================== |
6d75ea8f | 3 | |
53a4b457 RD |
4 | 2.7.0.0 |
5 | ------- | |
6 | ||
7 | The following deprecated items have been removed: | |
8 | ||
9 | * wx.Bitmap SetQuality and GetQuality methods | |
10 | ||
11 | * The wx.GetNumberFromUser function | |
12 | ||
13 | * wx.EVT_LIST_GET_INFO and wx.EVT_LIST_SET_INFO | |
14 | ||
15 | * wx.BookCtrlSizer and wx.NotebookSizer | |
16 | ||
17 | * The PostScript-specific methods of wx.PrintData | |
18 | ||
19 | * wx.PrintDialogData SetSetupDialog and GetSetupDialog methods | |
20 | ||
02b800ce | 21 | * wx.FontMapper SetConfig method |
53a4b457 | 22 | |
51941b48 RD |
23 | * wx.html.HtmlSearchStatus.GetContentsItem method |
24 | ||
25 | * wx.html.HtmlHelpData.GetContents, GetContentsCnt, GetIndex, and | |
26 | GetIndexCnt methods | |
27 | ||
28 | ||
dfdaab04 | 29 | wx.EventLoop is now implemented for wxMac. |
53a4b457 | 30 | |
6aabc8da RD |
31 | Added wxPython wrappers for the new wx.Treebook and wx.Toolbook |
32 | classes. | |
33 | ||
22e71758 RD |
34 | wx.DC.BeginDrawing and EndDrawing have been deprecated in the C++ |
35 | code, so since they never really did anything before they are now just | |
36 | empty stubs in wxPython. | |
37 | ||
a7a01418 RD |
38 | Solved a problem that has been around for a very long time in how C++ |
39 | methods are virtualized for overriding in derived Python classes. | |
14b37d97 RD |
40 | Previously we couldn't do it for methods that needed to also exist in |
41 | the base class wrappers such that they could be called normally. (The | |
a7a01418 RD |
42 | reasons are long and complex, but suffice it to say that it was due to |
43 | mixing C++'s dynamic dispatch, and Python's runtime lookup of the | |
44 | method attributes resulting in endless recursion of function calls.) | |
45 | Because of this problem I used a hack that I have always hated, and | |
46 | that is renaming the base class methods with a "base_" prefix, for | |
47 | example wx.Printout.base_OnBeginDocument. Now that the problem has | |
48 | finally been solved I have replaced all the base_Whatever() methods | |
49 | with the real Whatever() method as well as a simple wrapper named | |
50 | base_Whatever that is marked as deprecated. So now instead of writing | |
14b37d97 | 51 | your overridden methods like this:: |
a7a01418 RD |
52 | |
53 | def OnBeginDocument(self, start, end): | |
54 | # do something here | |
55 | return self.base_OnBeginDocument(start, end) | |
56 | ||
14b37d97 RD |
57 | You can now call the base class method the normal way, like this:: |
58 | ||
59 | def OnBeginDocument(self, start, end): | |
60 | # do something here | |
61 | return Printout.OnBeginDocument(self, start, end) | |
62 | ||
63 | Or like this with super():: | |
a7a01418 RD |
64 | |
65 | def OnBeginDocument(self, start, end): | |
66 | # do something here | |
67 | return super(MyPrintout, self).OnBeginDocument(start, end) | |
68 | ||
14b37d97 RD |
69 | |
70 | Note that the old way with the "base_" function still works, but you | |
71 | will get a DeprecationWarning from calling base_OnBeginDocument. The | |
72 | classes affected by this are: | |
a7a01418 RD |
73 | |
74 | * wx.DropSource | |
75 | * wx.DropTarget | |
76 | * wx.TextDropTarget | |
77 | * wx.FileDropTarget | |
78 | * wx.PyLog (also added the ability to override Flush) | |
79 | * wx.PyApp (also added the ability to override ExitMainLoop) | |
80 | * wx.Printout | |
81 | * wx.PyPrintPreview | |
82 | * wx.PyPreviewFrame | |
83 | * wx.PreviewControlBar | |
84 | * wx.Process | |
85 | * wx.PyControl | |
86 | * wx.PyPanel | |
87 | * wx.PyScrolledWindow | |
88 | * wx.PyWindow | |
89 | * wx.Timer | |
90 | * wx.grid.PyGridCellRenderer | |
91 | * wx.grid.PyGridCellEditor | |
92 | * wx.grid.PyGridCellAttrProvider | |
93 | * wx.grid.PyGridTableBase | |
94 | * wx.html.HtmlWindow | |
95 | * wx.wizard.PyWizardPage | |
96 | ||
97 | ||
ddbb966d RD |
98 | Added the wx.DC.GradientFillConcentric and wx.DC.GradientFillLinear |
99 | methods. | |
100 | ||
4424b2a1 RD |
101 | Added the wx.HVScrolledWindow class. |
102 | ||
ddbb966d | 103 | |
53a4b457 RD |
104 | |
105 | ||
e280c9ca | 106 | 2.6.3.0 |
4617be08 RD |
107 | ------- |
108 | ||
109 | Change the wx.ListCtrl InsertStringItem wrapper to use the form that | |
110 | takes an imageIndex, and set the default to -1. This ensures that on | |
111 | wxMSW that if there is an image list but they don't specify an image, | |
112 | the native control doesn't use one anyway. | |
113 | ||
114 | wxMSW: wx.ListCtrl in report mode is now able to support images in | |
115 | other columns besides the first one. Simply pass an image index to | |
e280c9ca RD |
116 | SetStringItem. For virtual list controls you can specify the image to |
117 | use on the extra columns by overriding OnGetItemColumnImage in your | |
118 | derived class. It is passed the item number and the column number as | |
119 | parameters, and the default version simply calls OnGetItemImage for | |
120 | column zero, or returns -1 for other columns. | |
4617be08 | 121 | |
4251af7e RD |
122 | Switched to using SWIG 1.3.27 for generating the wrapper code. There |
123 | are some small changes needed to SWIG to work around some bugs that | |
124 | wxPython exposes, and to be able to generate code that matches that | |
125 | which wxPython is using. If you are building wxPython yourself and | |
126 | need to modify any of the \*.i files or to add your own, then you will | |
127 | want to be sure to use a matching SWIG. See wxPython/SWIG/README.txt | |
128 | in the source tarbal for details. | |
129 | ||
130 | wx.Image.Copy now also copies the alpha channel. | |
131 | ||
132 | wxMSW: Fixed problem in wx.TextCtrl where using SetValue and | |
133 | wx.TE_RICH2 would cause the control to be shown if it was hidden. | |
134 | ||
135 | wxMSW: Numpad special keys are now distinguished from normal keys in | |
136 | key events. | |
137 | ||
138 | wxMSW: Multiline notebook tab label change now resizes the control | |
139 | correctly if an extra row is removed or added. | |
140 | ||
141 | wxMSW: On XP fall back to unthemed wxNotebook if specified orientation | |
142 | not available in the themed version. | |
143 | ||
144 | Added wx.Toolbar.GetToolsCount. | |
145 | ||
146 | Added wx.GridSizer.CalcRowsCols. | |
147 | ||
148 | Added wx.OutputStream.LastWrite. | |
149 | ||
4617be08 RD |
150 | |
151 | ||
152 | ||
02b800ce | 153 | 2.6.2.1 |
c95499b9 | 154 | ------- |
17991ec0 | 155 | * 10-Jan-2006 |
c95499b9 RD |
156 | |
157 | wxMSW: Fix for bug #1211907, popup menu indenting inconsistent with | |
02b800ce | 158 | bitmaps. |
c95499b9 RD |
159 | |
160 | wxMac: Don't send an event for wx.RadioButton deselections, just the | |
161 | selections. This was done to make it consistent with the other | |
02b800ce | 162 | platforms. |
c95499b9 | 163 | |
0263d0bb RD |
164 | wxMSW: Always set flat toolbar style, even under XP with themes: this |
165 | is necessary or separators aren't shown at all. | |
166 | ||
02b800ce | 167 | Fixes for bug #1217872, pydocview.DocService not correctly initialized. |
0263d0bb | 168 | |
02b800ce | 169 | Fix for bug #1217874, Error in parameter name in DocManager.CreateView. |
0263d0bb | 170 | |
2eeaec19 RD |
171 | Added wrappers for the wx.RendererNative class. |
172 | ||
0263d0bb RD |
173 | Added the wx.lib.splitter module, which contains the |
174 | MultiSplitterWindow class. This class is much like the standard | |
175 | wx.SplitterWindow class, except it allows more than one split, so it | |
176 | can manage more than two child windows. | |
c95499b9 | 177 | |
02b800ce | 178 | Docview and IDE patch from Morgan Hua with fix for bug #1217890 |
4251af7e | 179 | "Closing view crashes Python" plus some new features: |
2eeaec19 RD |
180 | |
181 | New feature added to the IDE is 'Extensions'. Under | |
182 | Tools|Options|Extensions, you can add calls to external programs. | |
183 | For example you can add a "Notepad" extension (under windows) that | |
184 | will exec Notepad on the currently open file. A new "Notepad" | |
185 | menu item will appear under the Tools menu. | |
186 | ||
3a2f2e31 | 187 | Some fixes to XRCed to make encoding errors a bit more user friendly. |
2eeaec19 | 188 | |
02b800ce RD |
189 | XRCed changes from Roman Rolinsky: |
190 | ||
191 | * Added new controls (Choicebook, Listbook, StatusBar, | |
192 | DatePicker), and completed style flags. Test window is opened | |
193 | for an available parent control if no specific view | |
194 | defined. Better handling of exceptions (highlighting does not | |
195 | 'stick' anymore). | |
196 | ||
197 | * Use system clipboard for Copy/Paste. | |
198 | ||
199 | * Improved some dialogs (window styles, growable cols). Changed | |
200 | the range for wxSpinCtrl min/max to all integers (default 0/100 | |
201 | is not always good). | |
202 | ||
203 | Updates for wx.lib.foldpanelbar and wx.lib.hyperlink from Andrea | |
204 | Gavana. | |
205 | ||
206 | Fix for Bug #1283496: wxPython TheClipboard class causes problems for | |
207 | pychecker. Ensure the app has been created before initializing | |
208 | wx.TheClipboard. | |
209 | ||
210 | Fix for Bug #1352602: FileBrowseButtonWithHistory can't type in Value. | |
211 | ||
212 | wxHTML: Added space after list item number. | |
213 | ||
214 | wx.lib.printout: Applied patch #1384440. | |
215 | ||
216 | wxMSW: Fix for Bug #1293225 Window_FromHWND crashes if parent is | |
217 | None. | |
218 | ||
219 | Fix for Bug #1261669, use a wx.TE_RICH2 style for the Process demo so | |
220 | it doesn't fill up too soon. | |
221 | ||
222 | Applied Patch #1354389: wxPython MenuItem SetBitmaps fix. | |
223 | ||
224 | Applied Patch #1239456: wxPython wx.DataObject.GetAllFormats fix. | |
225 | ||
226 | Applied Patch # #1230107 which allows image handlers to be written in | |
227 | Python by deriving from wx.PyImageHandler. | |
228 | ||
229 | Applied patch #1072210: generalize printout.py to allow text printing. | |
230 | ||
231 | Applied patch #1243907: Give Throbber much more flexibility by | |
232 | allowing the user to set the rest image, the direction, the current | |
233 | index, custom sequence. Allows user to manually step through the | |
234 | sequence with Next(), Previous(), Increment(), Decrement() & | |
235 | SetCurrent(). Very handy if you have multiple throbbers that you want | |
236 | to synchronize with a single timer. | |
237 | ||
238 | Fix for bug #1336711: wx.lib.calendar.CalenDlg can yield incorrect | |
239 | result. | |
240 | ||
241 | Applied patch from Morgan Hua for updates to ActiveGrid code | |
242 | (pydocview, ActiveGrid IDE, etc.) | |
243 | ||
244 | Applied patch #1326241: Supporting "setup.py install --install-headers=path" | |
245 | ||
246 | Applied patch from Morgan Hua to fix bug #1219423: CommandManager | |
247 | should not repeat old commands after a branch. | |
248 | ||
249 | Applied patch #1238825 adding search backward capabilities to the | |
250 | demo. Modified to use the up/down options in the wx.FindReplaceDialog | |
251 | instead of a separate menu item. | |
252 | ||
253 | Fix for bug #1266745 and #1387725 in the wx.FindReplaceDialog on MSW. | |
254 | Actually check we are using MSLU before doing the hack designed to | |
255 | workaround a bug in MSLU! | |
256 | ||
257 | wxMSW: wx.lib.iewin.IEHtmlWindow now properly handles tabbing, return | |
258 | and other special keys properly. | |
259 | ||
260 | Lots of PyCrust enhancments started by Franz Steinaeusler, Adi Sieker, | |
261 | and Sebastian Haase, and which in turn were further enhanced, fixed | |
262 | tweaked and finished up by me. The changes include the following: | |
263 | ||
264 | * The Autocomplete and Calltip windows can now be opened manually | |
265 | with Ctrl-Space and Ctrl-Shift-Space. | |
266 | ||
267 | * In the stand alone PyCrust app the various option settings, | |
268 | window size and position, and etc. are saved and restored at the | |
269 | next run. | |
270 | ||
271 | * Added a help dialog bound to the F1 key that shows the key | |
272 | bindings. | |
273 | ||
274 | * Added a new text completion function that suggests words from | |
275 | the history. Bound to Shift-Return. | |
276 | ||
277 | * F11 will toggle the maximized state of the frame. | |
278 | ||
279 | * switched to Bind() from wx.EVT_*(). | |
280 | ||
281 | * Display of line numbers can be toggled. | |
282 | ||
283 | * F12 toggles a "free edit" mode of the shell buffer. This mode | |
284 | is useful, for example, if you would like to remove some output | |
285 | or errors or etc. from the buffer before doing a copy/paste. | |
286 | The free edit mode is designated by the use of a red, | |
287 | non-flashing caret. | |
288 | ||
486afba9 | 289 | * Ctrl-Shift-F will fold/unfold (hide/show) the selected lines. |
02b800ce RD |
290 | |
291 | * General code cleanup and fixes. | |
292 | ||
293 | * Use wx.StandardPaths to determine the location of the config | |
294 | files. | |
295 | ||
296 | * Use wx.SP_LIVE_UPDATE on crust and filling windows. | |
297 | ||
298 | * Extended the saving of the config info and other new features to | |
299 | the PyShell app too. Additionally, other apps that embed a | |
300 | PyCrust or a PyShell can pass their own wx.Config object and | |
301 | have the Py code save/restore its settings to/from there. | |
302 | ||
303 | * All of the classes with config info get an opportunity to | |
304 | save/load their own settings instead of putting all the | |
305 | save/load code in one place that then has to reach all over the | |
306 | place to do anything. | |
307 | ||
308 | * Enable editing of the startup python code, which will either be | |
309 | the file pointed to by PYTHONSTARTUP or a file in the config dir | |
310 | if PYTHONSTARTUP is not set in the environment. | |
311 | ||
312 | * Added an option to skip the running of the startup code when | |
313 | PyShell or PyCrust starts. | |
314 | ||
315 | * PyCrust adds a pp(item) function to the shell's namespace that | |
316 | pretty prints the item in the Display tab of the notebook. | |
317 | Added code to raise that tab when pp() is called. | |
318 | ||
319 | * Added an option for whether to insert text for function | |
320 | parameters when popping up the call tip. | |
321 | ||
322 | * Added Find and Find-Next functions that use the | |
323 | wx.FindReplaceDialog. | |
324 | ||
325 | ||
326 | Applied patches from Will Sadkin for wx.lib.masked modules: | |
327 | ||
328 | * Now ignores kill focus events when being destroyed. | |
329 | ||
330 | * Added missing call to set insertion point on changing fields. | |
331 | ||
332 | * Modified SetKeyHandler() to accept None as means of removing | |
333 | one. | |
334 | ||
335 | * Fixed keyhandler processing for group and decimal character | |
336 | changes. | |
337 | ||
338 | * Fixed a problem that prevented input into the integer digit of a | |
339 | integerwidth=1 numctrl, if the current value was 0. | |
340 | ||
341 | * Fixed logic involving processing of "_signOk" flag, to remove | |
342 | default sign key handlers if false, so that | |
343 | SetAllowNegative(False) in the NumCtrl works properly. | |
344 | ||
345 | * Fixed selection logic for numeric controls so that if | |
346 | selectOnFieldEntry is true, and the integer portion of an | |
347 | integer format control is selected and the sign position is | |
348 | selected, the sign keys will always result in a negative value, | |
349 | rather than toggling the previous sign. | |
350 | ||
351 | wx.FontMapper.SetConfig is deprecated. You should instead just set an | |
352 | application-wide config object with wx.Config.Set, which wx.FontMapper | |
353 | will use by default. | |
354 | ||
095315e2 RD |
355 | Added wx.GetMouseState which returns the current state of the mouse. |
356 | It returns an instance of a wx.MouseState object that contains the | |
357 | current position of the mouse pointer in screen coordinants, as well | |
358 | as boolean values indicating the up/down status of the mouse buttons | |
359 | and the modifier keys. | |
360 | ||
361 | Added wx.SizerItem.SetUserData | |
362 | ||
363 | A variety of updates to wx.lib.floatcanvas, including Added | |
364 | DrawObjects, including a ScaledTextBox, with auto-wrapping, etc, and | |
365 | Scaled and Unscaled Bitmap Objects. | |
366 | ||
367 | WARNING: Changed all DrawObjects to take an (x,y) pair rather | |
368 | than individual x,y parameters. Also changed rectangles and | |
369 | ellipses to take (w,h) pair. This is an API change, but should | |
370 | be easy to accommodate, all you need to do is add a parenthesis | |
371 | pair: (...x, y, ...) ---> (...(x,y), ...) | |
02b800ce | 372 | |
c95499b9 RD |
373 | |
374 | ||
375 | ||
271b6b64 RD |
376 | 2.6.1.0 |
377 | ------- | |
a432a02b | 378 | * 4-June-2005 |
271b6b64 RD |
379 | |
380 | wx.ListCtrl: patch #1210352, fixes editing in generic wx.ListCtrl with | |
381 | wx.LC_EDIT_LABELS. | |
382 | ||
383 | Applied patch #208286, MediaCtrl DirectShow rewrite. | |
384 | ||
385 | DocView patches from Morgan Hua: bug fixes, and additional SVN | |
386 | commands, also added a default template that uses the text editor for | |
387 | any unknown file type. | |
388 | ||
389 | wxMSW: Use the system IDC_HAND cursor for wx.CURSOR_HAND and only fallback | |
390 | to the strange wxWidgets version if the system one is not available. | |
391 | ||
392 | wx.grid.Grid: Merge the cell size attribute the same way that other | |
393 | attributes are merged, e.g., if it is already set to a non-default | |
394 | value in the current GridCellAttr object then don't merge from the | |
395 | other. | |
396 | ||
271b6b64 RD |
397 | wx.lib.evtmgr: Fixed to use wx._core._wxPyDeadObject |
398 | ||
399 | wx.lib.gridmovers: Don't scroll when the mouse is dragged outside of | |
400 | the grid, unless the mouse is kept in motion. | |
401 | ||
d654745d RD |
402 | wxMSW: Applied patch #1213290 incorrect logic in |
403 | wx.TopLevelWindow.ShowFullScreen. | |
404 | ||
405 | Applied patch #1213066 correct device names for Joystick in Linux. | |
406 | ||
407 | wxGTK: Applied patch #1207162 wx.TextCtrl.SetStyle fix for overlapping | |
02b800ce | 408 | calls. |
d654745d | 409 | |
a432a02b RD |
410 | wx.FileConfig: fixed DeleteEntry to set the dirty flag properly so the |
411 | change will get written at the next flush. | |
d654745d | 412 | |
271b6b64 RD |
413 | |
414 | ||
8224a808 | 415 | |
c95499b9 | 416 | |
8224a808 RD |
417 | 2.6.0.1 |
418 | ------- | |
09ad48d0 | 419 | * 30-May-2005 |
8224a808 RD |
420 | |
421 | Added wx.BrushFromBitmap to create a stippled brush in a single step. | |
422 | Also added missing brysh style flags: wx.STIPPLE_MASK | |
02b800ce | 423 | wx.STIPPLE_MASK_OPAQUE. |
8224a808 | 424 | |
c08df249 RD |
425 | wxMSW: Fix for default control colours when the system text fg colour |
426 | is not black. | |
9899bd5b RD |
427 | |
428 | wxGTK: Patch #1171754, It is now possible to have a menu item that | |
429 | both has an icon and is a submenu. | |
430 | ||
77cc110b | 431 | wxMSW: Patch #1197009, better refreshes when windows are moved and |
02b800ce | 432 | resized. |
9899bd5b RD |
433 | |
434 | wxMSW: Patch #1197468. Keeps track of pending size/position changes | |
435 | in case there is more than one adjustment for a window in a single | |
436 | DeferWindowPos set, then the pending values can be used for defaults | |
437 | instead of current values. | |
438 | ||
439 | Fixed the typemap that converts a Python list of strings to a | |
3ffa4b96 | 440 | wxArrayString so it uses the wxPython default encoding. |
8224a808 | 441 | |
77cc110b RD |
442 | Several docstrings added and updated. Lots more to go. |
443 | ||
3ffa4b96 RD |
444 | wxMac: Strings added to the clipboard or used in DnD no longer have an |
445 | extra null character at the end. | |
446 | ||
447 | Added wx.GetXDisplay that returns a raw swigified pointer for the X11 | |
448 | Display, or None for the non-X11 platforms. | |
449 | ||
450 | wxMenu: Don't send an event when selecting an already selected radio | |
451 | item. | |
452 | ||
453 | Added wx.LaunchDefaultBrowser. | |
454 | ||
455 | wxMSW: Fixed erroneous selection of content in wx.ComboBox when within | |
456 | a wx.StaticBox. | |
457 | ||
458 | wxMSW: Fixed alpha blitting to take into account source position. | |
459 | ||
460 | Ensure that Python is still in an initialized state before doing any | |
461 | locking or unlocking in wxPyBeginBlockThreads and wxPyEndBlockThreads | |
462 | as these can be triggered after Python has been finalized in embedding | |
463 | situations. | |
464 | ||
a6987674 RD |
465 | Added alternate constructors for wx.Font: wx.FontFromPixelSize, |
466 | wx.FFont, wx.FFontFromPixelSize. See the docstrings or new api docs | |
467 | for details. | |
468 | ||
469 | Added wx.lib.hyperlink from Andrea Gavana. It is a control like | |
470 | static text that acts like a hyper-link, launching the system's | |
471 | default browser in response to the clicks. | |
472 | ||
c08df249 RD |
473 | Added an optional parameter to wxversion.select that allows you to |
474 | specify that the extra components specified in the version string are | |
475 | required. For example, if you ask for "2.6-unicode" but only the ansi | |
476 | version is installed then by default the ansi version will be selected | |
477 | as it considered close enough since the version numbers match. If you | |
478 | want to force the options to be required then you can just add a True | |
479 | parameter, like this:: | |
480 | ||
481 | import wxversion | |
482 | wxversion.select("2.6-unicode", True) | |
483 | import wx | |
484 | ||
d167fc51 RD |
485 | Tweaked wx.lib.buttons such that flat buttons (e.g. have no bevel and |
486 | a wx.BORDER_NONE style flag) paint themed backgrounds if there are | |
487 | transparent areas and the parent is displaying a theme. | |
77cc110b | 488 | |
3de6964a RD |
489 | wxMSW: Fix for wrong sash colour of wx.SplitterWindow in the silver |
490 | theme on XP. | |
491 | ||
492 | Added a wx.xrc.XmlResourceHandler for the Ticker class. See | |
02b800ce | 493 | wx/lib/ticker_xrc.py |
3de6964a | 494 | |
b8f99341 RD |
495 | wxSTC: Fixed CmdKeyAssign key bindings for Ctrl-Backspace. |
496 | ||
497 | wxMSW: Fixed a bug in wx.TextCtrl where all the lines were being used | |
498 | to calculate the best size, instead of using a reasonable limit. | |
3de6964a | 499 | |
2c3e35c2 RD |
500 | XRCed: Use wx.GetDefaultPyEncoding/wx.SetDefaultPyEncoding for |
501 | changing active encoding. Fixed pasting siblings (Ctrl key pressed | |
502 | while pasting). | |
3de6964a | 503 | |
2c3e35c2 RD |
504 | wx.lib.filebrowsebutton: Bug fix from Chad Netzer for when |
505 | self.history is None. | |
8224a808 | 506 | |
4809f5df RD |
507 | wx.ogl: Patch from Davide Salomoni that adds an optional point |
508 | parameter to LineShape.InsertLineControlPoint allowing one to | |
509 | optionally specify where the new control point has to be drawn. | |
510 | ||
511 | wxMSW: setting foreground colour for wx.CheckBox now works when using | |
512 | XP themes. | |
513 | ||
6f1a3f9c RD |
514 | More updates to the docview library modules and sample apps from the |
515 | ActiveGrid folks. Their sample IDE is now able to integrate with | |
02b800ce | 516 | Subversion. |
6f1a3f9c | 517 | |
6c75a4cf RD |
518 | wx.grid.Grid: Ensure that the grid gets the focus when it is |
519 | left-clicked. Note that if you have custom widgets that handle the | |
520 | EVT_LEFT_DOWN event but do not call event.Skip() then you will | |
521 | probably want to add a call to self.SetFocus in the event handler. | |
522 | ||
523 | wxGTK: Add wxSTAY_ON_TOP support [Patch 1206023] | |
524 | ||
525 | wx.TreeCtrl: wx.EVT_TREE_ITEM_MENU event made consistent on all | |
526 | platforms. The location of the click or the item is included in the | |
527 | event as well. | |
528 | ||
529 | wxGTK: Setting background colour of a window now only affects the | |
530 | window itself, not the borders, scrollbars, etc. (Bug #1204069) | |
531 | ||
532 | Print framework: Add more paper sizes and code to fallback to an | |
533 | explicit paper size if a known paper size is not found for the | |
02b800ce | 534 | printer. |
6c75a4cf RD |
535 | |
536 | wxMac: Applied patch for bug #1206181 Option-key decodes are wrong, | |
537 | also applied patch for bug #1205691 Modified Fn keys don't work. | |
538 | ||
539 | wx.Image: Fixed to preserve alpha channel in Rotate90 method. | |
540 | ||
40cd6a37 RD |
541 | wxMSW: Fixed incorrect background colour on wx.CheckListBox. |
542 | ||
543 | wxMSW: Fixed drawing of owner drawn buttons with multiline labels | |
544 | ||
545 | Removed a bunch of unnecessary files, and removed or replaced images | |
546 | that we're not sure of their origin or license. | |
547 | ||
548 | The default DoGetBestSize is updated to not always return the current | |
549 | size if the window has no sizer, children, or minsize set. Instead | |
550 | the current size is set as the minsize. This solves the occasional | |
551 | problem where a sizer may cause a childless panel to grow but never | |
02b800ce | 552 | shrink. |
40cd6a37 RD |
553 | |
554 | wxMSW: When converting a wx.Icon to a bitmap check if the icon has an | |
555 | alpha channel and set the bitmap to use it. | |
6c75a4cf | 556 | |
cccb455e RD |
557 | Fixed the wrong class name used in wx.PyScrolledWindow's call to |
558 | _setCallbackInfo. | |
6c75a4cf | 559 | |
09ad48d0 RD |
560 | wxMSW: patch #1207202, Fixes GDI leak when using stock cursors. |
561 | ||
562 | wx.calendar.CalendarCtrl: Patch #1207531, Keeps the CalendarCtrl wide | |
563 | enough even when the weekday names for the locale are shorter than | |
564 | usual. | |
565 | ||
566 | Made GridCellNumberEditor.StartingKey also insert the typed char when | |
567 | there is a range of allowed values (so a wx.SpinCtrl is used instead | |
568 | of a wx.TextCtrl.) | |
569 | ||
570 | ||
4809f5df | 571 | |
8224a808 RD |
572 | |
573 | ||
8839b5ee RD |
574 | 2.6.0.0 |
575 | ------- | |
d2743bc0 | 576 | * 26-Apr-2005 |
8839b5ee | 577 | |
1ce1bd84 RD |
578 | wxMSW: Fixed wx.TransientPopupWindow (and therefore wx.TipWindow) to |
579 | auto-dismiss when the mouse is clicked outside of the popup like it is | |
580 | supposed to. | |
8839b5ee | 581 | |
1ce1bd84 RD |
582 | wxMSW: Fixed bug #1167891 wx.Notebook display problem with wx.NB_MULTILINE. |
583 | ||
584 | wxMSW: Fixed bad cliping of hidden windows inside of wx.StaticBox. | |
585 | ||
586 | wxGTK: The configure flags for selecting GTK+ 1.2.x or 2.x has | |
587 | changed slightly. It is now --with-gtk[=VERSION] where VERSION is | |
588 | either '1', '2' or 'any'. The default is '2'. | |
589 | ||
5091b1e8 | 590 | wx.stc.StyledTextCtrl: Added the following methods for alternate ways |
1ce1bd84 RD |
591 | to set and fetch text from the document buffer. They work similarly |
592 | to the existing methods of the same name, except that they don't go | |
593 | through the same string/unicode <--> wxString conversions. The "Raw" | |
5091b1e8 RD |
594 | methods will do no conversions at all and in a unicode build of |
595 | wxPython the strings will be in the utf-8 encoding and in an ansi | |
596 | build no assumption is made about the encoding. The "UTF8" functions | |
597 | will attempt to always get/set utf-8 text, which it will always be | |
598 | able to do in a unicode build, and in an ansi build it will depend on | |
599 | the content of the utf-8 used being compatible with the current | |
600 | encoding, (you'll get an exception otherwise.) | |
1ce1bd84 | 601 | |
33b0e2df RD |
602 | =================== ==================== |
603 | AddTextRaw AddTextUTF8 | |
604 | InsertTextRaw InsertTextUTF8 | |
605 | GetCurLineRaw GetCurLineUTF8 | |
606 | GetLineRaw GetLineUTF8 | |
607 | GetSelectedTextRaw GetSelectedTextUTF8 | |
608 | GetTextRangeRaw GetTextRangeUTF8 | |
609 | SetTextRaw SetTextUTF8 | |
610 | GetTextRaw GetTextUTF8 | |
611 | AppendTextRaw AppendTextUTF8 | |
612 | =================== ==================== | |
8839b5ee RD |
613 | |
614 | ||
583d32f6 RD |
615 | wx.stc.StyledTextCtrl: Added the StyleSetFontEncoding(style, enc) |
616 | method that allows you to set the encoding to be used by the font for | |
617 | a particular style. | |
618 | ||
e0304640 RD |
619 | wxMac: Fixed wx.ComboBox to forward the EVT_CHAR, EVT_KEY_DOWN, |
620 | EVT_KEY_UP and EVT_TEXT events from its embedded text control. | |
621 | ||
33b0e2df RD |
622 | wxMac: Corrected refresh bugs in wxGrid. |
623 | ||
a8e120ce | 624 | XRCed: Updated to version 0.1.5. |
02b800ce | 625 | * Added wxWizard, wxWizardPageSimple (only from pull-down menu). |
a8e120ce RD |
626 | * Hide command for test window. |
627 | * Replacing classes works better. | |
628 | * Added Locate tool. | |
33b0e2df | 629 | |
8839b5ee RD |
630 | |
631 | ||
632 | ||
02b800ce | 633 | 2.5.5.1 |
41c48dbb | 634 | ------- |
d2743bc0 | 635 | * 8-Apr-2005 |
41c48dbb RD |
636 | |
637 | wxMSW: Fixed bug #1022383, 'several ComboBoxes appear selected' | |
638 | ||
639 | wx.grid.Grid: Fixed bug #1163384. Moved the code that handles | |
640 | activating the cell editors to a EVT_CHAR event handler. This is done | |
641 | so the character inserted into the editor will be the "cooked" char | |
642 | value (including accented or composed keys) rather than the raw code | |
1ce1bd84 | 643 | provided by the EVT_KEY_DOWN event. |
41c48dbb RD |
644 | |
645 | Added orient parameter to wx.MDIParentFrame.Tile() | |
646 | ||
647 | wxMSW: wxTextCtrl with wx.TE_RICH2 style now uses RichEdit 4.1 if | |
1ce1bd84 | 648 | available. |
41c48dbb RD |
649 | |
650 | Added GetCount, GetCountRGB, and GetCountColour methods to | |
1ce1bd84 | 651 | wx.ImageHistogram. |
41c48dbb | 652 | |
27ed367c RD |
653 | wxMSW: wx.Window.Refresh changed to explicitly refresh all children as |
654 | well as the parent. Previously it was implicitly done because parents | |
655 | did not clip their children by default. Now that they always clip | |
656 | children then Refresh needed to be fixed to do a recursive refresh. | |
657 | This also fixes the Freeze/Thaw problems that some people had with | |
658 | 2.5.4.1. | |
659 | ||
660 | wx.SplitterWindow: Send EVT_SPLITTER_SASH_POS_CHANGED only once after | |
661 | end of dragging and not after each CHANGING event (modified patch | |
662 | #1076226) | |
663 | ||
664 | wx.glcanvas.GLCanvas: applied patch fixing problems with X server | |
665 | crash when using nVidia cards (patch 1155132) | |
666 | ||
42f5333f RD |
667 | wx.lib.mixins.listctrl: Patches from Toni Brkic: |
668 | * Bugfix for TextEditMixin when the view can't be scrolled | |
1ce1bd84 | 669 | * Enhancement for ListCtrlAutoWidthMixin, allowing it to manage |
42f5333f RD |
670 | the width of any column. |
671 | ||
672 | wxMac: removal and reusing toolbar tools like the other platforms is | |
673 | now possible. | |
674 | ||
675 | wxMac: Correct radio tool selection after calling Realize a 2nd time. | |
676 | ||
677 | wxMSW: Applied patch #1166587, removes all flicker from wx.StaticBox | |
678 | ||
679 | Added wx.lib.foldpanelbar, Andrea Gavana's port of Jorgen Bodde's C++ | |
680 | wxFoldPanelBar classes to Python. | |
681 | ||
a2e26438 RD |
682 | wxGTK: Applied patch #1173802, reimplementation of GtkFileChooser |
683 | wxFileDialog by Mart Raudsepp. Note that this new file dialog is only | |
684 | used on GTK2 >= 2.4. For earlier GTK2 versions and GTK1 then the | |
685 | older generic file dialog is used. | |
686 | ||
687 | wxMSW: fixes to static box borders calculations (finalizes patch | |
688 | #1166587) | |
689 | ||
690 | wx.Image: Use Python's buffer interface API for all image data and | |
691 | alpha Set/Get methods and the ImageFromData* constructors. They all | |
692 | still copy the buffer except for SetDataBuffer and SetAlphaBuffer, but | |
693 | this gives more flexibility on where the data can come from. | |
694 | ||
2a13beb3 | 695 | Added MDI support to XRC |
b1baed85 | 696 | |
2e5aa9c4 RD |
697 | Added wx.animate module and a demo. The wx.animate module provides a |
698 | control that is able to display an animated GIF file. | |
699 | ||
700 | wx.lib.plot.py: Applied patch from Werner F. Bruhin that allows either | |
701 | vertical and/or horizontal gridlines. | |
702 | ||
b508ae3a RD |
703 | wxMSW: Extra space given for top border of wx.StaticBoxSizer so the |
704 | upper line is not cliped when there is no label. | |
705 | ||
706 | wxMSW: Restored old behaviour of wx.StaticBox.SetBackgroundColour only | |
707 | affecting the label. | |
708 | ||
709 | wxMSW: Fixed missing EVT_RIGHT_DOWN and EVT_TREE_ITEM_RIGHT_CLICK | |
710 | events in a wx.TreeCtrl. | |
711 | ||
791fbf34 RD |
712 | Added wx.GetTopLevelWindows() function which returns a copy of the |
713 | list of top-level windows that currently exist in the application. | |
2e5aa9c4 | 714 | |
3fa8f722 | 715 | Updated docview library modules and sample apps from the ActiveGrid |
1ce1bd84 | 716 | folks. |
3fa8f722 | 717 | |
1f780e48 | 718 | Added the ActiveGrid IDE as a sample application. |
b1baed85 | 719 | |
41c48dbb | 720 | |
ca8071ca | 721 | |
8839b5ee | 722 | |
2da0c077 | 723 | 2.5.4.1 |
ca8071ca | 724 | ------- |
d2743bc0 | 725 | * 16-Mar-2005 |
ca8071ca | 726 | |
3c1705d9 | 727 | wx.Sizer Add, Insert, and Prepend functions now return a reference to the |
6b9f434e RD |
728 | wx.SizerItem that was added to the sizer, and the wx.SizerItem has a |
729 | GetRect accessor to give the position of the item on the parent window. | |
7aada1e0 RD |
730 | |
731 | Added wx.Sizer.GetItem method which returns the wx.SizerItem for the given | |
732 | wx.Window, wx.Sizer or position index. | |
733 | ||
734 | wxMSW: wx.RadioButtons in the same group no longer have to be | |
735 | consecutive (there may be intervening controls). Without this fix, an | |
736 | out-of-sync assert is generated when clicking on a radio button and | |
737 | then calling GetValue(). | |
738 | ||
1ce1bd84 | 739 | Some XRC changes: |
66b50a8f RD |
740 | - Added 'icon' property to wxFrame and wxDialog |
741 | - No longer ignores menu bitmaps on non-MSW platforms | |
742 | - Notebook page bitmaps are now supported | |
9828eeb4 | 743 | - added system colours and fonts support (based on patch #1038207) |
7aada1e0 RD |
744 | |
745 | wxMSW: fix for [ 1052989 ] TextCtrl.SetBackgroundColour(wx.NullColour) | |
746 | bug. | |
747 | ||
748 | Added wx.PasswordEntryDialog analagous to wx.TextEntryDialog, allows | |
749 | detecting entering an empty string vs. cancel unlike the | |
750 | wx.GetPasswordFromUser dialog function. | |
751 | ||
ca8071ca RD |
752 | OGL patch from Shane Holloway: |
753 | ||
754 | Two simple problems found in the new python ogl code. First is | |
b3b61cda | 755 | the patch for _canvas.py. Essentially:: |
ca8071ca RD |
756 | |
757 | dx = abs(dc.LogicalToDeviceX(x - self._firstDragX)) | |
758 | dy = abs(dc.LogicalToDeviceY(y - self._firstDragY)) | |
759 | ||
760 | was incorrect because (x,y) and (self._firstDragX, | |
761 | self._firstDragY) are both already in Logical coordinates. | |
762 | Therefore the difference between the two is also in logical | |
763 | coordinates, and the conversion call is an error. This bug | |
764 | surfaces when you have OGL on a scrollwin, and you are far from | |
765 | the origin of the canvas. | |
766 | ||
767 | The second change in _composit.py basically removes the assumption | |
768 | that the child is in both self._children and self._divisions. | |
769 | Causes many problems when it's not. ;) | |
770 | ||
22685693 RD |
771 | Fixed GetSaveData and SetSaveData in wx.lib.multisash to not depend on |
772 | the default way that class objectss are converted to strings. | |
ca8071ca | 773 | |
3c1705d9 | 774 | Fixed problem in StyledTextCtrl.Set[HV]ScrollBar that could leave the |
7aada1e0 RD |
775 | internal scrollbar visible. |
776 | ||
777 | Added wx.StandardPaths which provides methods for determining standard | |
778 | system paths for each platform. | |
779 | ||
9828eeb4 RD |
780 | wxMSW: The window background is now only erased by default if the |
781 | background colour or background mode has been changed. This better | |
782 | allows the default system themed behaviour to show through for | |
783 | uncustomized windows. Explicit support added for using the correct | |
784 | theme texture for wx.Notebook pages and their children. | |
785 | ||
786 | wx.Image: Added support for alpha channels in interpolated and | |
787 | non-interpolated image rotation. Added ConvertAlphaToMask helper | |
788 | method for turning shades of grey into shades of alpha and a colour. | |
789 | ||
790 | wxGTK2: Reimplemented DoDrawRotatedText() by way of a rotation of an | |
791 | alpha blended text bitmap. It would be better if Pango could draw | |
792 | directly into an wxImage (as FreeType can,) but that is for later... | |
793 | ||
3c1705d9 RD |
794 | Added wrappers and a demo for the wx.MediaCtrl class, which can play |
795 | various forms of audio/video media using native codecs install on the | |
796 | system. So far it is only implemented for Windows and OSX. | |
850ab20b RD |
797 | |
798 | wxGTK: Patch applied for Freeze()/Thaw() for wxTextCtrtl. | |
799 | ||
800 | Added "gravity" for splitter window (patch 1046105). Gravity is a | |
801 | floating-point factor between 0.0 and 1.0 which controls position of | |
802 | sash while resizing the wx.SplitterWindow. The gravity specifies | |
803 | how much the left/top window will grow while resizing. | |
804 | ||
805 | wxMSW: wx.Slider's C++ implementation rewritten to be more | |
806 | maintainable and hopefully less buggy. The position of the labels has | |
807 | also been changed in order to better comply with Microsoft's examples | |
808 | of how to use the control. | |
9828eeb4 | 809 | |
94fd5e4d RD |
810 | wxMSW: Fix wx.TreeCtrl to end label editing if the control loses |
811 | focus (a slightly modified patch 1084592.) | |
812 | ||
813 | Added wx.EXEC_NODISABLE flag for wx.Execute, which will prevent all | |
814 | the app's windows being disabled while a synchronous child process is | |
1ce1bd84 | 815 | running. |
94fd5e4d RD |
816 | |
817 | wxMSW: Much work to correct painting (or leaving transparent) of | |
818 | control backgrounds, properly using background themes on XP, etc. | |
819 | ||
820 | Fixed a circular reference problem with wx.Timer. It will now | |
821 | completely cleanup after itself when the last reference to the timer | |
822 | is removed. If you were previously using timer.Destroy() to cleanup | |
823 | your timers it will no longer work. Instead you should hold a | |
824 | reference to the timer and then del the reference when you are | |
825 | finished with the timer. | |
7aada1e0 | 826 | |
3c1705d9 RD |
827 | Updated to 1.3.24 of SWIG. All of my big patches have been applied to |
828 | the main SWIG source tree, but unfortunatly there were also some bugs | |
829 | added that affected the wxPython build and a few details in my | |
830 | original patch were changed/removed, so we are still not free of | |
831 | patches. A new patch for SWIG is located in the wxPython/SWIG | |
832 | directory of the wxPython source tree. SWIG 1.3.24 plus this patch | |
833 | should be used by anyone who is making custom modifications to | |
b3b61cda | 834 | wxPython's .i files, or building their own extension modules or |
3c1705d9 RD |
835 | etc. that need to interact with the wxPython swigged types. For the |
836 | morbidly curious, here are a few more details: | |
837 | ||
838 | * Since it is now possible easily and simply share the SWIG type | |
839 | tables across modules I reverted to always using the stock SWIG | |
840 | runtime instead of my slightly hacked up version of it exported | |
841 | via the wxPython C API. | |
842 | ||
54e72b1a | 843 | * The %name directive is now deprecated so I replaced most uses of |
3c1705d9 RD |
844 | it with a custom %Rename macro that uses %rename internally. |
845 | These will evetually need to be replaced with a DocDecl macro | |
aeee37c3 | 846 | when docstrings are added for those items. |
3c1705d9 RD |
847 | |
848 | * The "this" attribute of all SWIGged classes is no longer a | |
849 | string containing a "swigified pointer", but rather a custom | |
850 | built-in type that holds the real C pointer to the object and | |
851 | the type info. It can be converted to a string like the old | |
852 | value using str() or to the long integer value of the pointer | |
853 | using long(). | |
854 | ||
669e06d7 RD |
855 | Added SetDefaultPyEncoding and GetDefaultPyEncoding functions which |
856 | will set/get the encoding used by wxPython to convert string or | |
857 | unicode objects to/from wxString objects. Previously the default | |
858 | Python encoding was always used, but unless the user had tweaked their | |
859 | sitecustomize.py file it is always "ascii", which would result in | |
860 | errors if the strings contained character codes >= 128. | |
861 | SetDefaultPyEncoding will now allow you to control which encoding will | |
862 | be used to do those conversions. The default encoding is set to the | |
863 | value of `locale.getdefaultlocale()[1]` when wxPython is first | |
864 | imported. Please see http://www.alanwood.net/demos/charsetdiffs.html | |
9283228f RD |
865 | for information on the differences between the common latin/roman |
866 | encodings. | |
867 | ||
868 | Added wxStdDialogButtonSizer, which is a a special sizer that knows | |
869 | how to order and position standard buttons in order to conform to the | |
870 | current platform's standards. You simply need to add each `wx.Button` | |
871 | to the sizer, and be sure to create the buttons using the standard | |
7257be76 | 872 | ID's. Then call `Realize` and the sizer will take care of the rest. |
669e06d7 | 873 | |
d31aa173 RD |
874 | wxMSW Toolbar: pass correct tool id (and not always -1) to the |
875 | EVT_TOOL_RCLICKED handler | |
876 | ||
b76160ef | 877 | wxGTK: Applied patch for combo box SELECTED events (no longer get |
d31aa173 RD |
878 | lots of surplus events) |
879 | ||
880 | wxGTK: Applied patch for proper menu highlight colour detection in | |
881 | wx.SystemSettings. | |
3c1705d9 | 882 | |
aeee37c3 RD |
883 | wxGTK: Commited scrollbar patch #1093339 which sends lineup, linedown |
884 | events based on intercepting the mouse down events. | |
885 | ||
886 | wxGTK: Applied patch #1102789 which solved conflicts between wxWidgets | |
887 | and GTK+'s context menu code. | |
888 | ||
889 | wxGTK: Applied patch #1100327 for correct feedback from DND actions | |
890 | (not all actions are allowed). | |
891 | ||
b3b61cda | 892 | Fixed memory leak in wxGrid::UpdateAttr[Rows][Or][Cols] (patch 1104355) |
aeee37c3 RD |
893 | |
894 | For efficiency reasons, text controls no longer set the string for | |
895 | each text updated event, but rather query for the string value only | |
896 | when GetString is called from an event handler. | |
897 | ||
898 | Added wx.SL_INVERSE style which will cause wx.Slider to invert the min | |
c6b65b76 | 899 | and max ends of the slider. |
aeee37c3 | 900 | |
e6bd0b8b RD |
901 | Several patches applied, such as #1111174, #1110252 and others, that |
902 | make the generic wx.TreeCtrl (used on wxGTK and wxMac) be more | |
903 | conistent with the wxMSW native wx.TreeCtrl. | |
904 | ||
e6bd0b8b RD |
905 | XRCed: |
906 | * Edit->Locate command (Ctrl-L) for quick selection of items. | |
907 | Works with event-handling controls (buttons, text fields) but | |
908 | not with labels/sizers. | |
909 | * Some improvements: relative paths for files supplied as command- | |
910 | line argument work correctly, notebook panels are highlighted | |
911 | better. | |
912 | ||
913 | wxMac: Fixed a long-standing issue where wxSlider controls with a | |
914 | hardcoded size would misplace their labels behind the slider control. | |
915 | ||
916 | wx.HtmlListBox fixed so calling RefreshLine(s) will cause the data for | |
b3b61cda RD |
917 | that line to be refetched from the overridden methods in the derived |
918 | class. | |
e6bd0b8b RD |
919 | |
920 | The default DoGetBestSize now includes the difference (if any) between | |
b3b61cda RD |
921 | the client size and total size of the window, (such as the size of |
922 | borders.) Code that sets the client size using the best size, or that | |
923 | added extra space to sizers to compensate for this bug may need to be | |
924 | changed. | |
925 | ||
926 | Can suppress themed notebook pages with the wxNB_NOPAGETHEME style or | |
927 | setting system option msw.notebook.themed-background to 0. | |
928 | ||
929 | wxSyledTextCtrl updated to use Scintilla 1.62. | |
930 | ||
931 | Can now set the msw.window.no-clip-children system option to 1 to | |
932 | eliminate weird refresh behaviour (delays between a window being | |
933 | erased and repainted, giving a ghostly gradual-redraw effect). May be | |
934 | a temporary 'fix' until properly fixed before 2.6. | |
e6bd0b8b | 935 | |
b3b61cda | 936 | wxMac: Toolbar is now more native looking with borderless toolbar |
1ce1bd84 | 937 | buttons. |
e6bd0b8b | 938 | |
67a5217c RD |
939 | wxMac: Switched wx.Bitmap to use newer Quartz object types and APIs |
940 | internally. This results in faster display and better alpha support. | |
941 | ||
b3b61cda | 942 | Added wx.DatePickerCtrl. |
aeee37c3 | 943 | |
51c5e1f2 RD |
944 | wx.html.HtmlWindow now supports background images. |
945 | ||
946 | Added wx.lib.gestures module from Daniel Pozmanter which supports | |
947 | using Mouse Gestures in an application. | |
948 | ||
2da0c077 RD |
949 | wxGTK2: ENTER and LEAVE mouse events are now sent for multi-line text |
950 | controls. | |
951 | ||
952 | wxMSW: "Alt" key (VK_MENU) now results in WXK_ALT keyboard event, not | |
953 | WXK_MENU | |
954 | ||
d1dc2b32 RD |
955 | Added modules from Peter Yared and Morgan Hua that implement the wx |
956 | Doc/View framework in pure Python code. See wx.lib.docview for the | |
957 | base implementation and wx.lib.pydocview for Python-specific | |
958 | extensions. There are also a couple sample applications located in | |
1ce1bd84 | 959 | samples/docview. |
2da0c077 | 960 | |
e63d6c30 RD |
961 | Added GetBitmap, GetIcon to wx.ImageList. |
962 | ||
963 | wxGTK wx.Button.SetLabel no longer invalidates/resets the font. | |
964 | ||
965 | wx.Sizer.AddWindow, AddSizer, AddSpacer and etc. have now been | |
966 | undeprecated at the request of Riaan Booysen, the Boa Constructor team | |
967 | lead. Boa needs them to help keep track of what kind of item is being | |
968 | managed by the sizer. They are now just simple compatibility aliases | |
969 | for Add, and etc. | |
970 | ||
a0c70b76 RD |
971 | The old C++ version of the OGL lib is no longer built by default. Use |
972 | the Python version in the wx.lib.ogl package instead. | |
973 | ||
974 | The wx.iewin module is no longer built by default. You can use the | |
975 | wx.lib.iewin version instead. | |
976 | ||
67a5217c RD |
977 | Fixed wx.BufferedPaintDC for scrolled windows to work whether the |
978 | buffer is covering only the client area or the full virtual area of | |
979 | the scrolled window. By default it will assume that only the client | |
3ad32bab RD |
980 | area is covered. This is different than the old behavior so to |
981 | indicate that the entire virtual area is covered simply add a | |
982 | style=wx.BUFFER_VIRTUAL_AREA parameter. | |
67a5217c RD |
983 | |
984 | wx.gizmos.TreeListCtrl: Add support for the EVT_TREE_ITEM_GETTOOLTIP | |
1ce1bd84 | 985 | event. |
2da0c077 | 986 | |
2314e5ec | 987 | Added Resize, SetRGBRect, Size, and GetOrFindMaskColour methods to |
1ce1bd84 | 988 | wx.Image. |
2314e5ec RD |
989 | |
990 | Added wx.Rect.IsEmpty | |
991 | ||
7b625c31 RD |
992 | wxGTK: |
993 | - Corrected wx.ListBox selection handling | |
994 | - Corrected default button size handling for different themes | |
995 | - Corrected splitter sash size and look for different themes | |
996 | - Fixed keyboard input for dead-keys | |
2314e5ec | 997 | |
7aada1e0 | 998 | |
ca8071ca RD |
999 | |
1000 | ||
0dece789 | 1001 | 2.5.3.1 |
4f5ff1b2 | 1002 | ------- |
d2743bc0 | 1003 | * 9-Nov-2004 |
4f5ff1b2 RD |
1004 | |
1005 | wxMac focus and border refreshes corrected. | |
1006 | ||
1007 | Updated internal PNG library. | |
1008 | ||
1009 | wxMac fix for metal appearance on wx.ToolBar. | |
1010 | ||
1011 | wx.grid.Grid fix allowing DoGetBestSize to be called before CreateGrid | |
1012 | (which means that a min size doesn't need to be specified.) | |
1013 | ||
1014 | wxMac fix for not sending a native click to a control if it is not | |
1015 | enabled (does an enable itself) | |
1016 | ||
31b46829 | 1017 | Added wx.lib.ogl.DrawnShape, and fixed various little bugs in the new |
1ce1bd84 | 1018 | OGL. |
4f5ff1b2 RD |
1019 | |
1020 | Added support to XRC and XRCed for the 3-state checkbox flags and also | |
1021 | for wx.ToggleButton. Updated the generic window styles supported by | |
1ce1bd84 | 1022 | XRCed. |
4f5ff1b2 RD |
1023 | |
1024 | It is now possible to create "stock" buttons. Basically this means | |
71e60f70 RD |
1025 | that you only have to provide one of the stock IDs (and either an |
1026 | empty label or a label that matches the stock label) when creating the | |
1027 | button and wxWidgets will choose the stock label to go with it | |
1028 | automatically. Additionally on the platforms that have a native | |
1029 | concept of a stock button (currently only GTK2) then the native stock | |
1030 | button will be used. For example, the following will result in a | |
e6bd0b8b RD |
1031 | button with "Cancel" as the label and if run on wxGTK2 then there will |
1032 | also be an image of a red X:: | |
4f5ff1b2 | 1033 | |
1ce1bd84 | 1034 | b = wx.Button(parent, wx.ID_CANCEL) |
4f5ff1b2 RD |
1035 | |
1036 | ||
1037 | Added wx.lib.ticker.Ticker class from Chris Mellon. | |
1038 | ||
71e60f70 RD |
1039 | Fix some incorrect clipping regions in wxSTC on wxGTK. |
1040 | ||
1041 | Added wrapper for wx.grid.Grid.GetOrCreateCellAttr. | |
1042 | ||
11908acc RD |
1043 | Removed my copy of distutils from the wxPython source tree. Now that |
1044 | I am no longer doing builds on Python 2.1 the newest distutils is no | |
1045 | longer needed. (There is still one small bug in Python 2.2 distutils | |
1046 | on win32, but it is easily worked around.) This sovles the problem of | |
1047 | incorrect builds on some systems where the system installed distutils | |
1048 | has been patched to behave slightly differently, for example SuSE on | |
1049 | x86_64 or Chandler's build. | |
1050 | ||
da72c540 RD |
1051 | Updated to SWIG 1.3.22 (plus my patch.) See wxPython/SWIG/README.txt |
1052 | in the source tree if you need to use SWIG when building your own copy | |
1053 | of wxPython, or other extension modules that need to integrate with | |
1054 | the wxPython modules. | |
1055 | ||
6afcb800 RD |
1056 | Added wx.Frame.RequestUserAttention which, if the platform suports it, |
1057 | will do something (such as flash the task bar item) to suggest to the | |
1058 | user that they should look at that window. | |
1059 | ||
31b46829 RD |
1060 | "Fixed" wx.grid.Grid.SetDefaultEditor and SetDefaultRenderer by making |
1061 | them register the editor or renderer for the "string" data type. | |
1062 | ||
1063 | Added depth param to wx.Image.ConvertToBitmap. | |
1064 | ||
1065 | Extended the wx.calendar.CalendarCtrl class with methods that get/set | |
1066 | a Python datetime or date object. (These will only work with Python | |
1067 | 2.3+) The methods are PySetDate, PyGetDate, PySetLowerDateLimit, | |
1068 | PySetUpperDateLimit, PySetDateRange, PyGetLowerDateLimit, and | |
5f13b2ca RD |
1069 | PyGetUpperDateLimit. Also, CalendarEvent was extended with PySetDate |
1070 | and PyGetDate methods. | |
31b46829 | 1071 | |
6c3f6fe9 RD |
1072 | wxMSW: SetBackgroundColour on a wx.Choice or a wx.ComboBox will now |
1073 | also set the colour of the dropdown. | |
1074 | ||
8dca2f3d RD |
1075 | wxMac: MessageDialog now supports wx.NO_DEFAULT style |
1076 | ||
1077 | wxMSW: added AssociateHandle and DissociateHandle to wx.Window | |
1078 | ||
1079 | wxMac: fix for toolbar tooltips | |
1080 | ||
1081 | wx.Sizer.Show (and Hide) now take an optional parameter specifying if | |
1082 | the item to be shown should be searched for recursivly in subsizers, | |
1083 | and return a boolean value indicating if the item was found. | |
1084 | ||
96d49f0e RD |
1085 | wxMSW: fixed MaximizeEvent generation in wx.Frame |
1086 | ||
1087 | wxMSW: fixed sending duplicate EVT_COMBOBOX events | |
1088 | ||
1089 | Smoother time estimation updates in wx.ProgressDialog (patch 992813) | |
1090 | ||
1091 | Made wx.Listbook events more consistent with wx.Notebook ones (patch | |
1092 | 1001271) | |
1093 | ||
1094 | Fixed rounding errors in variable status bar panes widths computation | |
1095 | (patch 1030021) | |
1096 | ||
1097 | Added possibility to specify printer bin (patch 910272) | |
1098 | ||
1099 | wxMSW: fixed wx.ListCtrl's SetWindowStyleFlag() to not remove | |
1100 | WS_VISIBLE; also refresh the control automatically (closes bug | |
1101 | 1019440) | |
1102 | ||
1103 | Added wx.Choicebook, yet another notebook-like control. | |
1104 | ||
1105 | wxMSW: Make radiobutton tab behaviour the same on MSW as in standard | |
1106 | MSW app, i.e. tab into the activated, not necessarily the first radio | |
1107 | button. | |
1108 | ||
1109 | Added limited support for wxEventLoop (you can't derive from a | |
1110 | wx.PyEventLoop version yet...) Updated and moved the sample showing | |
1111 | how to replace the MainLoop to samples/mainloop/mainloop.py. | |
8dca2f3d | 1112 | |
38b97c15 RD |
1113 | The C++ xrc lib has been moved out of contrib and into the core, so it |
1114 | is always built by default. wxPython's build has also changed | |
1115 | accordingly and will build the xrc module as part of the core set of | |
1116 | modules built by default. If you were axplicitly using BUILD_XRC then | |
1117 | it will no longer be recognized as a build option, otherwise you | |
1118 | should notice no difference. | |
1119 | ||
c0e1f6b6 RD |
1120 | wxMac: Fixed radio toolbar buttons to correctly untoggle the others |
1121 | when a new one is selected. | |
1122 | ||
1123 | wxMac: Fixed GetLineLength and GetLineText for MLTE text controls | |
1124 | ||
1125 | wxMac: wx.TaskBarIcon is implemented by allowing you to change the | |
1126 | app's icon on the Dock and also specifying a menu that should be | |
1127 | merged with the normal dock popup menu. See the MigrationGuide for | |
1128 | more details and a warning. | |
1129 | ||
1130 | Added wx.TopLevelWindow.IsActive() which tells you if the frame or | |
1131 | dialog is or containts the active window with the keyboard focus. | |
1132 | ||
1133 | Added ability to create a font based on pixel size rather than point | |
1134 | size via the FontFromPixelSize constructor. | |
1135 | ||
1136 | Updated the Scintilla used by StyledTextCtrl to version 1.61 | |
1137 | ||
1138 | Improved image HitTest for TreeListCtrl. | |
1139 | ||
1140 | Added wx.App.IsMainLoopRunning. | |
1141 | ||
1142 | wxGTK: Make wxComboBox spit out a bit fewer surplus events when | |
1143 | holding down the mouse button. | |
1144 | ||
1145 | wxGTK: Enable key based navigation through notebook tabs as in the | |
1146 | native control with Left and right keys. Support for vetoing. | |
1147 | ||
f54a36bb RD |
1148 | FloatCanvas updates from Chris Barker |
1149 | ||
1150 | PyPlot updates from Gordon Williams: | |
1151 | - Added bar graph demo | |
1152 | - Modified line end shape from round to square. | |
b31cbeb9 RD |
1153 | - Removed FloatDCWrapper for conversion to ints and ints in |
1154 | arguments | |
1155 | - Imported modules given leading underscore to name. | |
1ce1bd84 | 1156 | - Added Cursor Line Tracking and User Point Labels. |
b31cbeb9 RD |
1157 | - Demo for Cursor Line Tracking and Point Labels. |
1158 | - Size of plot preview frame adjusted to show page better. | |
1159 | - Added helper functions PositionUserToScreen and | |
1160 | PositionScreenToUser in PlotCanvas. | |
1161 | - Added functions GetClosestPoints (all curves) and GetClosestPoint | |
1162 | (only closest curve) can be in either user coords or screen | |
1163 | coords. | |
f54a36bb | 1164 | |
f54a36bb RD |
1165 | MaskedEdit updates from Will Sadkin: |
1166 | - Added '*' mask char that means "all ansii chars" (ords 32-255) | |
1167 | - Added proper unicode support to masked controls and wx.tools.dbg | |
1168 | - Fixed two reported missing import bugs introduced by package | |
1169 | creation | |
1170 | - Converted masked package doc strings to reST format for better | |
1171 | epydoc support | |
1172 | - lots of doc string improvements and function hiding to better | |
1173 | reflect package's public contents. | |
1174 | ||
15513a80 RD |
1175 | Restructured the installer packages slightly to help facilitate having |
1176 | multiple versions of wxPython installed at the same time. See the | |
1177 | Migrarion Guide for more information. | |
1178 | ||
1179 | Applied patch from Pim Van Heuven that modifies 4 files: | |
1180 | - wxPython/demo/ListCtrl_edit.py (new demo) | |
1181 | - wxPython/demo/Main.py (include new demo in demo app) | |
1ce1bd84 | 1182 | - wxPython/wx/lib/mixins/listctrl.py (several improvements to |
15513a80 RD |
1183 | TextEditMixin) |
1184 | - wxPython/wx/lib/wxpTag.py (some small fixes) | |
38b97c15 | 1185 | |
f6f1e19f RD |
1186 | Added (thanks to Kevin Ollivier!) wrappers for wx.WebKitCtrl for the |
1187 | OSX build. Other platforms will raise an exception if you try to use | |
1ce1bd84 | 1188 | it. |
f6f1e19f | 1189 | |
85245f48 RD |
1190 | wxPython on OSX can now be built in Unicode mode, can support multiple |
1191 | version installs, and comes with an uninstaller script. | |
1192 | ||
1193 | ||
4f5ff1b2 RD |
1194 | |
1195 | ||
3801d366 RD |
1196 | |
1197 | 2.5.2.8 | |
1198 | ------- | |
d2743bc0 | 1199 | * 27-Aug-2004 |
3801d366 | 1200 | |
b5f2d1f3 RD |
1201 | Predominantly a bug-fix release. |
1202 | ||
1203 | * Fixed fatal error due to improper wrapping of wx.FSFile. | |
1204 | ||
1205 | * Fixed return type of EditableListBox.GetListCtrl | |
1206 | ||
1207 | * Give generic tree and list controls a DoGetBestSize so they play | |
1208 | nicer with sizers when there is no minimal size. | |
1209 | ||
1210 | * Some tweaks in the demo and samples to correct layout, some | |
1211 | flicker problems, and namespace use. | |
1212 | ||
1213 | * Add wx.Image.ConvertAlphaToMask | |
1214 | ||
1215 | * Minor corrections in wx.lib.dialogs | |
1216 | ||
1217 | * wx.FileHistory constructor now accepts the documented 2nd | |
1218 | parameter. | |
1219 | ||
1220 | * Corrections for exceptions in the new ogl | |
1221 | ||
1222 | * Fixed XRCed to not use reparenting of windows to implement caching | |
1223 | of property panels, since Reparent on wxMac is not implemented. | |
1224 | ||
1225 | * Add support for wxTAB_TRAVERSAL to the XRC handler for | |
1ce1bd84 | 1226 | wxScrolledWindow. |
b5f2d1f3 RD |
1227 | |
1228 | * Add support for all wxListBox styles to the XRC handler for | |
1ce1bd84 | 1229 | wxCheckListBox. |
b5f2d1f3 RD |
1230 | |
1231 | * Fix for wx.Listbook.DeleteAllPages to really delete everything. | |
1232 | ||
1233 | * wxGTK2 now supports alpha blended bitmap drawing | |
1234 | ||
9c618512 RD |
1235 | * Made wx.grid.Grid play nicer with sizers. |
1236 | ||
b5f2d1f3 | 1237 | * etc. |
3801d366 RD |
1238 | |
1239 | ||
1240 | ||
1241 | ||
e155ca47 | 1242 | 2.5.2.7 |
95fed4d8 | 1243 | ------- |
d2743bc0 | 1244 | * 14-Aug-2004 |
95fed4d8 RD |
1245 | |
1246 | wx.ADJUST_MINSIZE is now the default behaviour for window items in | |
ffcb969e RD |
1247 | sizers. This means that the item's GetMinSize and/or GetBestSize will |
1248 | be called when calculating layout and the return value from that will | |
cb8f28ba RD |
1249 | be used for the minimum size used by the sizer. The wx.FIXED_MINSIZE |
1250 | flag was added that will cause the sizer to use the old behaviour in | |
1251 | that it will *not* call the window's methods to determine the new best | |
1252 | size, instead the minsize that the window had when added to the sizer | |
da2c7672 RD |
1253 | (or the size the window was created with) will always be used. Please |
1254 | see the Sizers section in the Migration Guide for more details. | |
cb8f28ba | 1255 | |
c878ceea RD |
1256 | Added new MaskedEditControl code from Will Sadkin. The modules are |
1257 | now locaed in their own sub-package, wx.lib.masked. Demos updated. | |
1258 | ||
d7403ad2 RD |
1259 | The changes that implemented the incompatible wx.DC methods in 2.5.1.5 |
1260 | have been reverted. The wx.DC methods are now compatible with the 2.4 | |
1261 | implemetation. In addition a set of renamed methods have been added | |
1262 | that take wx.Point and/or wx.Size objects instead of individual | |
1ce1bd84 | 1263 | parameters. |
d7403ad2 | 1264 | |
5841276a RD |
1265 | Added wx.lib.mixins.listctrl.TextEditMixin, a mixin class that allows |
1266 | all columns of a wx.ListCtrl in report mode to be edited. | |
ba938c3d | 1267 | |
165e6ca3 RD |
1268 | Deprecated the wx.iewin module. |
1269 | ||
1270 | Deprecated the wx.Sizer.AddWindow, AddSizer, AddSpacer methods as well | |
1271 | as their Insert* and Prepend* counterparts. | |
1272 | ||
969d9b6f RD |
1273 | Added a generic StaticBitmap class in wx.lib.statbmp for the same |
1274 | reasons that stattext was created, so it could be mouse sensitive on | |
1275 | all platforms like normal windows. Also updated stattext.py and | |
1276 | buttons.py to handle attribute (font & colour) defaults and | |
1277 | inheritance the new way. If you have custom controls of your own you | |
1278 | should review stattxt.py or one of the others to see how it is to be | |
1279 | done. | |
165e6ca3 | 1280 | |
a3150741 RD |
1281 | wx.InitAllImageHandlers is now an empty function that does nothing but |
1282 | exist for backwards compatibility. The C++ version is now called | |
1283 | automatically when wxPython is initialized. Since all the handlers | |
1284 | are included in the wxWidgets shared library anyway, this imposes only | |
1285 | a very small amount of overhead and removes several unneccessary | |
1286 | problems. | |
1287 | ||
d1e05453 | 1288 | Replaced wx/lib/pubsub.py with a version that uses weak references to |
89c876de RD |
1289 | track the subscribers, plus other fixes/additions. Thanks go to |
1290 | Oliver Schoenborn and Robb Shecter. | |
d1e05453 | 1291 | |
89c876de RD |
1292 | wxGTK now uses gtk_init_check so wxPython can raise an exception if |
1293 | there is no DISPLAY available or other initializaion problem. | |
1294 | ||
1295 | wx.GetKeyState now has an implementation for wxGTK and is able to | |
1296 | detect the up/down or toggle state of modifier and toggle keys. | |
1297 | ||
1298 | The LC_NUMERIC locale is now reset back to "C" (compatibility) when | |
1299 | running on wxGTK to work around the fact that GTK requires the locale | |
1300 | to be set to the system settings but Python depends on LC_NUMERIC | |
1301 | remaining compatible with "C". | |
a3150741 | 1302 | |
28eab81f RD |
1303 | Switched gizmos.TreeListCtrl to the newer version of the code from the |
1304 | wxCode project. | |
1305 | ||
f847103a RD |
1306 | OGL is dead! LONG LIVE OGL! (Oops, sorry. A bit of my dramatic side |
1307 | leaked out there...) The wx.ogl module has been deprecated in favor | |
1308 | of the new Python port of the OGL library located at wx.lib.ogl | |
1309 |