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