]> git.saurik.com Git - wxWidgets.git/blame - wxPython/docs/CHANGES.txt
fixed bug when a fixed pane is resized inside a fixed dock
[wxWidgets.git] / wxPython / docs / CHANGES.txt
CommitLineData
73adcb01 1Recent Changes for wxPython
8eda5e35 2=====================================================================
6d75ea8f 3
3c69a2ec
RD
42.9.0.0
5-------
cbfc9df6 6*
3c69a2ec
RD
7
8wxGTK: Implemented support for underlined fonts in wx.StaticText
9
10wxGTK: wx.TopLevelWindow.SetSizeHints size increments now work
11
12Added wx.EventBlocker class
13
cbfc9df6
RD
14wxGTK: make wx.TopLevelWindow.GetSize() return the size of the window
15including the decorations and updated SetSize() to account for this as
16well.
3c69a2ec 17
cbfc9df6
RD
18wxMSW: For consistency with wxGTK, when a top level window is
19minimized the size returned from GetSize will be the restored size,
20not the size of the icon window.
3c69a2ec 21
cbfc9df6
RD
22wxGTK: For consistency with wxMSW, when a top level window is
23minimized the size returned from GetClientSize will be (0,0).
3c69a2ec 24
cbfc9df6
RD
25wxGTK: Color cursors now supported.
26
27Added wx.DC.StretchBlit() for wxMac and wxMSW (Vince Harron)
28
29Added support for labels for toolbar controls (Vince Harron)
30
31wxGTK: Implemented support for underlined fonts in wx.StaticText.
32
33wxGTK: Setting foreground colour of single line wx.TextCtrl now works.
34
35wxMac: Corrected top border size for wxStaticBox with empty label (nusi)
36
37wx.Window.IsEnabled() now returns false even if the window parent, and
38not the window itself, is disabled and added IsThisEnabled()
39implementing the old IsEnabled() behaviour.
40
41wxGTK: Now using the native tab traversal functions instead of
42simulating it ourselves.
43
44Generating wx.NavigationKeyEvent events doesn't work any more under
45wxGTK (and other platforms in the future), use wx.Window.Navigate() or
46NavigateIn() instead.
47
cc8ce392
RD
48wx.glcanvas.GLCanvas: The constructor has been changed slightly in
49order to make it consistent across all the platforms. The C++ version
50now looks like this::
51
52 wxGLCanvas(wxWindow *parent,
53 wxWindowID id = -1,
54 const int *attribList = NULL,
55 const wxPoint& pos = wxDefaultPosition,
56 const wxSize& size = wxDefaultSize,
57 long style = 0,
58 const wxString& name = wxPyGLCanvasNameStr,
59 const wxPalette& palette = wxNullPalette);
60
61Also in GLCanvas, all the platforms now support the new pardigm of
62using a separate GLContext object, and associating it with the canvas
63using canvas.SetCurent(context).
64
65wxMac: The get-url apple event is now supported, simply override
66wx.App.MacOpenURL to receive it. You'll also need to have appropriate
67meta-data in your app bundle to specify the protocol of the URLs that
68your app can respond to.
69
70wx.VScrolledWindow has been refactored, and new wx.HScrolledWindow and
71wx.HVScrolledWindow classes have been added. Just like
72wx.VScrolledWindow they allow scrolling with non-uniform scroll
73increments, where the size of each item is determined by making
74callbacks into the derived class. The H version handles horizontal
75scrolling and the HV version handles both horizontal and vertical
76scrolling.
77
cbfc9df6
RD
78
79
80
81
82
832.8.3.1
3c69a2ec 84-------
cbfc9df6
RD
85*
86
87wxGTK: Make wx.NO_BORDER style work with wx.RadioBox (patch 1525406)
88
89Update to 0.9.1 of TreeMixin.
90
91
92
93
942.8.3.0
95-------
96* 22-March-2007
3c69a2ec
RD
97
98Added wx.ToolBar.SetToolNormalBitmap and SetToolDisabledBitmap
99methods. (Keep in mind however that the disabled bitmap is currently
100generated on the fly by most native toolbar widgets, so this
101SetToolDisabledBitmap method won't have any affect on them...)
102
103Refactored the inspection tool such that it can be used as a wx.App
104mix-in class as it was used before (with the wx.lib.mixins.inspect
105module) and also as a non mix-in tool (using wx.lib.inspect.InspectionTool).
106
cbfc9df6
RD
107Add wx.lib.mixins.treemixin from Frank Niessink.
108
109Added the wx.SizerFlags class, and also added AddF, InsertF and
110PrependF methods to wx.Sizer. The wxSizerFlags class provides a
111convienient and easier to read way to add items to a sizer. It was
112added as a new set of methods of the wx.Sizer class so as to not
113disturb existing code. For example, instead of writing::
114
115 sizer.Add(ctrl, 0, wx.EXPAND | wx.ALL, 10)
116
117you can now write::
118
119 sizer.AddF(ctrl, wx.SizerFlags().Expand().Border(wx.ALL,10))
120
121
122Will Sadkin provided a patch for the wx.lib.masked package that fixes
123its support for using the navigation keys on the numeric keypad.
124
125wx.lib.plot: patch #1663937 to allow user to turn off scientific
126notation on plot.
127
128wxGTK: Most of the remaining TODOs for the wx.GraphicsContext on wxGTK
129have been done. This includes implementations for GetTextExtent,
130Clip, DrawBitmap, fixing the drawing position of text to be at the
131upper left corner instead of the baseline, etc.
132
133wx.lib.customtreectrl patches from Andrea:
134
135 1. ExpandAll has been renamed as ExpandAllChildren, and the new
136 ExpandAll now takes no input arguments (consistent with
137 wx.TreeCtrl)
138
139 2. ctstyle keyword is now defaulted to 0: every style related to
140 CustomTreeCtrl and the underlying wx.PyScrolledWindow should be
141 declared using the keyword "style" only. For backward
142 compatibility, ctstyle continues to work as I merged ctstyle and
143 style in the __init__ method.
144
145 3. GetClassDefaultAttributes is now a classmethod.
146
147 4. UnselectAll bug fixed.
148
149
150Renamed the wx.lib.inspect and wx.lib.mixins.inspect modules to
151inspection, in order to avoid conflicts with the inspect module in the
152standard Python library.
153
154Lots of changes to XRCed from Roman Rolinsky:
155
156 * Preferences for default "sizeritem" parameters for new panels and
157 controls can be configured ("File">"Preferences...").
158
159 * Implemented comment object for including simple one-line comments and
160 comment directives as tree nodes. No validation is performed for a
161 valid XML string so comments must not contain "-->". Comment directive
162 is a special comment starting with '%' character, followed by a line
163 of python code. It is executed using 'exec' when the resource file is
164 opened. This is useful to import plugin modules containing custom
165 handlers which are specific to the resource file, hovewer this is of
166 course a security hole if you use foreign XRC files. A warning is
167 displayed if the preference option 'ask' is selected (by default).
168
169 * Added support for custom controls and plugin modules. Refer to this
170 wxPythonWiki for the details: http://wiki.wxpython.org/index.cgi/XRCed#custom
171
172 * Tool panel sections can be collapsed/expanded by clicking on the
173 label of a tool group.
174
175 * Some undo/redo and other fixes.
176
177 * Fixes for wxMSW (notebook highlighting, control sizes, tree Unselect).
178
179 * Notebook page highlighting fix. Highlight resizes when the window
180 is resized. ParamUnit spin button detects event handler re-entry
181 (wxGTK probably has a bug in wxSpinButton with repeated events).
182
183 * Fix for dealing with empty 'growable' property, using MiniFrame
184 for properties panel, the panel is restored together with the
185 main window.
3c69a2ec
RD
186
187
188
189
d576c660
RD
1902.8.1.1
191-------
7fa8d085 192* 19-Jan-2007
d576c660
RD
193
194wxMSW: Fix lack of spin control update event when control lost focus
195
196Added a typeId property to the PyEventBinder class that holds the
197eventType ID used for that event. So when you need the eventType
198(such as when sending your own instance of standard events) you can
199use, for example, wx.EVT_BUTTON.typeId instead of
200wx.wxEVT_COMMAND_BUTTON_CLICKED. Note that there are a few composite
201events, such as EVT_MOUSE and EVT_SCROLL, that will actually bind
202multiple event types at once, and in these cases the typeId property
203may not give you what you want. You should use te component events in
204these cases.
205
302129f8
RD
206PyCrust now has an option for showing/hiding the notebook.
207
27587c25
RD
208wxMSW: Corrected drawing of bitmaps for disabled menu items.
209
210Enhanced the wx.lib.mixins.inspect module. In addition to showing a
211PyCrust window it is now a widget browser, which provides a tree
212loaded up with all the widgets in the app, optionally with the sizers
213too, and also a panel displaying the properties of the selected
214window. Run the demo and type Ctrl-Alt-I keystroke (or Cmd-Alt-I on
215the Mac) to see how it works. You can add this to your own apps with
216just a few lines of code.
217
7fa8d085 218Added wx.SearchCtrl.[Get|Set]DescriptiveText
27587c25 219
9030e779
RD
220wxMac: Added support for the wx.FRAME_FLOAT_ON_PARENT style.
221
222wxMac: the popups used for call tips and autocomplete lists in
223StyledTextCtrl (such as in PyShell) are now top-level float-on-parent
224windows so they are no longer clipped by the bounds of the stc window.
225
d576c660
RD
226
227
228
229
1ceb4f4d
RD
2302.8.1.0
231-------
cbfc9df6 232* 8-Jan-2007
1ceb4f4d
RD
233
234Added EVT_TASKBAR_CLICK and use it to show taskbar icon menu on right
235button release, not press, under MSW (bug 1623761)
236
7fa8d085 237Added wx.TreeCtrl.CollapseAll[Children]() and IsEmpty() methods
1ceb4f4d 238
7fa8d085 239Fix wx.MDIChidFrame.GetPosition() (patch 1626610)
1ceb4f4d 240
7fa8d085 241Fix attribute memory leak in wx.grid.Grid::ShowCellEditControl() (patch
1ceb4f4d
RD
2421629949)
243
facc1d35
RD
244wxGTK: Fix for controls on a toolbar being the full height of the
245toolbar instead of their natural height.
246
247wx.lib.customtreectrl patches from Andrea Gavana.
248
34d71f81
RD
249wxMac: Applied patch #1622389, fixing two memory leaks in
250GetPartialTextExtents.
251
252More fixes for the native wx.ListCtrl on Mac.
253
254Added wx.aui.AuiNotebook.GetAuiManager().
255
256Added wx.aui.AuiMDIParentFrame and wx.aui.AuiMDIChildFrame, which
257essentially implement the MDI interface using a normal wx.Frame and a
258wx.aui.AuiNotebook.
facc1d35
RD
259
260
261
e8efc7fd 262
d1fa6ef3 2632.8.0.1
73470a17 264-------
d1fa6ef3 265* 11-Dec-2006
73470a17 266
19cdf227 267Lots of fixes and updates to the AUI classes.
73470a17 268
19cdf227
RD
269Added wx.CollapsiblePane. On wxGTK it uses a native expander widget,
270on the other platforms a regular button is used to control the
271collapsed/expanded state.
73470a17 272
84bc0d49
RD
273Added the wx.combo module, which contains the ComboCtrl and ComboPopup
274classes. These classes allow you to implement a wx.ComboBox-like
275widget where the popup can be nearly any kind of widget, and where you
276have a lot of control over other aspects of the combo widget as well.
277It works very well on GTK and MSW, using native renderers for drawing
278the combo button, but is unfortunatly still a bit klunky on OSX...
279
84dd1dd8
RD
280Use system default paper size for printing instead of A4 by default.
281
282Added wx.combo.OwnerDrawnComboBox, which is a ComboCtrl that delegates
283the drawing of the items in the popup and in the control itself to
284overridden methods of a derived class, similarly to how wx.VListBox
285works.
286
f27895d2
RD
287Added wx.combo.BitmapComboBox which is a combobox that displays a
288bitmap in front of the list items.
84dd1dd8 289
ea839c29
VZ
290Added the wx.lib.mixins.inspect module. It contains the InspectMixin
291class which can be mixed with a wx.App class and provides a PyCrust
292window that can be activated with a Ctrl-Alt-I keystroke (or Cmd-Alt-I
293on the Mac.)
294
13db99f1
RD
295Added some modules from Riaan Booysen:
296
297 * wx.lib.flagart: contains icons of the flags of many countries.
298
299 * wx.lib.art.img2pyartprov: makes images embedded in a python file
300 with img2py available via the wx.ArtProvider.
301
302 * wx.lib.langlistctrl: A wx.ListCtrl for selecting a language,
303 which uses the country flag icons.
304
305 * An I18N sample for the demo.
306
5fe636c6
RD
307wx.lib.masked: Patch from Will Sadkin. Includes Unicode fixes, plus
308more helpful exceptions and ability to designate fields in mask
309without intervening fixed characters.
84bc0d49 310
d1fa6ef3
RD
311Added wx.SearchCtrl, which is a composite of a wx.TextCtrl with optional
312bitmap buttons and a drop-down menu. Controls like this can typically
313be found on a toolbar of applications that support some form of search
169f3a3d 314functionality. On the Mac this control is implemented using the
d1fa6ef3
RD
315native HISearchField control, on the other platforms a generic control
316is used, although that may change in the future as more platforms
317introduce native search widgets.
318
169f3a3d
RD
319Added a set of button classes to wx.lib.buttons from David Hughes that
320uses the native renderer to draw the button.
d1fa6ef3 321
73470a17
RD
322
323
324
8f514ab4
RD
3252.7.2.0
326-------
3cf4df6e 327* 7-Nov-2006
8f514ab4
RD
328
329Patch [ 1583183 ] Fixes printing/print preview inconsistencies
330
331Add events API to wxHtmlWindow (patch #1504493 by Francesco Montorsi)
332
333Added wxTB_RIGHT style for right-aligned toolbars (Igor Korot)
334
335Added New Zealand NZST and NZDT timezone support to wx.DateTime.
336
337wx.Window.GetAdjustedBestSize is deprecated. In every conceivable
3cf4df6e 338scenario GetEffectiveMinSize is probably what you want to use instead.
8f514ab4 339
b6df5cf9 340wx.Image: Gained support for TGA image file format.
8f514ab4 341
2a783b2d
RD
342wx.aui: The classes in the wx.aui module have been renamed to be more
343consistent with each other, and make it easier to recognize in the
344docs and etc. that they belong together.
345
346 FrameManager --> AuiManager
347 FrameManagerEvent --> AuiManagerEvent
348 PaneInfo --> AuiPaneInfo
349 FloatingPane --> AuiFloatingPane
350 DockArt --> AuiDockArt
351 TabArt --> AuiTabArt
352 AuiMultiNotebook --> AuiNotebook
353 AuiNotebookEvent --> AuiNotebookEvent
354
6d14f697 355wx.lib.customtreectrl: A patch from Frank Niessink which adds an
3cf4df6e
RD
356additional style (TR_AUTO_CHECK_PARENT) that (un)checks a parent when
357all children are (un)checked.
8f514ab4 358
37938059
RD
359wx.animate.AnimationCtrl fixed to display inactive bitmap at start
360(patch 1590192)
361
3cf4df6e
RD
362Patch from Dj Gilcrease adding the FNB_HIDE_ON_SINGLE_TAB style flag
363for wx.lib.flatnotebook.
364
365wx.Window.GetBestFittingSize has been renamed to GetEffectiveMinSize.
366SetBestFittingSize has been renamed to SetInitialSize, since it is
367most often used only to set the initial (and minimal) size of a
368widget.
369
370The QuickTime backend for wx.media.MediaCtrl on MS Windows works
371again. Just pass szBackend=wx.media.MEDIABACKEND_QUICKTIME to the
372constructor to use it instead of the default ActiveMovie backend,
373(assuming the quicktime DLLs are available on the system.)
37938059
RD
374
375
8f514ab4
RD
376
377
378
379
e8efc7fd
RD
3802.7.1.3
381-------
49db0f3f 382* 26-Oct-2006
e8efc7fd
RD
383
384wxGTK: The wx.ALWAYS_SHOW_SB style is now supported.
385
386Fixed name errors in the old wxPython package namespace. As a
387reminder, use of this package is deprecated and you are encouraged to
388switch your programs over to the wx package.
389
390Fixed wx.glcanvas.GLCanvas.SetCurrent to be compatible with prevoius
391versons.
392
ae8635b6 393Added wx.StandardPaths.GetTmpDir.
e8efc7fd 394
ceb40c80
RD
395Bug fixes in the wx.ListCtrl on Mac from Kevin Olivier, allowing it to
396send events properly again. There is also a new native implementation
397of wx.ListCtrl available, which will be used for wx.LC_REPORT style
398list controls if you set the "mac.listctrl.always_use_generic"
399SystemOption to zero. In a future release this will be the default.
400
51aad6d3
RD
401Added a sample to the demo that shows some of what can be done with
402the new wx.GraphicsContext and wx.GraphicsPath classes.
ceb40c80
RD
403
404
e8efc7fd
RD
405
406
81bfc17c
RD
4072.7.1.2
408-------
0cf04a42 409* 21-Oct-2006
81bfc17c
RD
410
411Fixed a bug in the MaskedEdit controls caused by conflicting IsEmpty
412methods.
413
414Patch #1579280: Some mimetype optimizations on unix-like systems.
415
416wxMac: Several wx.webkit.WebKitCtrl enhancements/fixes, including:
417
418 - new methods for increasing/decreasing text size, getting
419 selection, getting/setting scroll position, printing, enabling
420 editing, and running JavaScripts on the page.
421
422 - added new event (wx.webkit.WebKitBeforeLoadEvent) for catching, and
423 possibly vetoing, load events before they occur.
424
425 - wx.webkit.WebKitCtrl now fires mouse events for certain events
426 that it was eating before. This improves wxSplitterWindow
427 resizing behavior.
428
429 - refactoring of the sizing logic to move the Cocoa view. Tested
430 with splitter windows, panels, notebooks and all position
431 correctly with this.
432
0cf04a42
RD
433Some improvements to the drawing code in CustomTreeCtrl.
434
435Fixed refcount leak in wx.Window.GetChildren.
81bfc17c
RD
436
437
438
439
440
96285a18 4412.7.1.1
53a4b457 442-------
974a50f1 443* 18-Oct-2006
53a4b457
RD
444
445The following deprecated items have been removed:
446
447 * wx.Bitmap SetQuality and GetQuality methods
448
449 * The wx.GetNumberFromUser function
450
451 * wx.EVT_LIST_GET_INFO and wx.EVT_LIST_SET_INFO
452
453 * wx.BookCtrlSizer and wx.NotebookSizer
454
455 * The PostScript-specific methods of wx.PrintData
456
457 * wx.PrintDialogData SetSetupDialog and GetSetupDialog methods
458
02b800ce 459 * wx.FontMapper SetConfig method
53a4b457 460
51941b48
RD
461 * wx.html.HtmlSearchStatus.GetContentsItem method
462
463 * wx.html.HtmlHelpData.GetContents, GetContentsCnt, GetIndex, and
464 GetIndexCnt methods
465
466
dfdaab04 467wx.EventLoop is now implemented for wxMac.
53a4b457 468
6aabc8da
RD
469Added wxPython wrappers for the new wx.Treebook and wx.Toolbook
470classes.
471
22e71758
RD
472wx.DC.BeginDrawing and EndDrawing have been deprecated in the C++
473code, so since they never really did anything before they are now just
474empty stubs in wxPython.
475
a7a01418
RD
476Solved a problem that has been around for a very long time in how C++
477methods are virtualized for overriding in derived Python classes.
14b37d97
RD
478Previously we couldn't do it for methods that needed to also exist in
479the base class wrappers such that they could be called normally. (The
a7a01418
RD
480reasons are long and complex, but suffice it to say that it was due to
481mixing C++'s dynamic dispatch, and Python's runtime lookup of the
482method attributes resulting in endless recursion of function calls.)
483Because of this problem I used a hack that I have always hated, and
febb39df 484that is renaming the base class methods with a "base_*" prefix, for
a7a01418
RD
485example wx.Printout.base_OnBeginDocument. Now that the problem has
486finally been solved I have replaced all the base_Whatever() methods
487with the real Whatever() method as well as a simple wrapper named
488base_Whatever that is marked as deprecated. So now instead of writing
14b37d97 489your overridden methods like this::
a7a01418
RD
490
491 def OnBeginDocument(self, start, end):
2a783b2d
RD
492 # do something here
493 return self.base_OnBeginDocument(start, end)
a7a01418 494
14b37d97
RD
495You can now call the base class method the normal way, like this::
496
497 def OnBeginDocument(self, start, end):
2a783b2d
RD
498 # do something here
499 return Printout.OnBeginDocument(self, start, end)
14b37d97
RD
500
501Or like this with super()::
a7a01418
RD
502
503 def OnBeginDocument(self, start, end):
2a783b2d
RD
504 # do something here
505 return super(MyPrintout, self).OnBeginDocument(start, end)
a7a01418 506
febb39df 507Note that the old way with the "base_*" function still works, but you
14b37d97
RD
508will get a DeprecationWarning from calling base_OnBeginDocument. The
509classes affected by this are:
a7a01418
RD
510
511 * wx.DropSource
512 * wx.DropTarget
513 * wx.TextDropTarget
514 * wx.FileDropTarget
515 * wx.PyLog (also added the ability to override Flush)
516 * wx.PyApp (also added the ability to override ExitMainLoop)
517 * wx.Printout
518 * wx.PyPrintPreview
519 * wx.PyPreviewFrame
520 * wx.PreviewControlBar
521 * wx.Process
522 * wx.PyControl
523 * wx.PyPanel
524 * wx.PyScrolledWindow
525 * wx.PyWindow
526 * wx.Timer
527 * wx.grid.PyGridCellRenderer
528 * wx.grid.PyGridCellEditor
529 * wx.grid.PyGridCellAttrProvider
530 * wx.grid.PyGridTableBase
531 * wx.html.HtmlWindow
532 * wx.wizard.PyWizardPage
533
534
ddbb966d
RD
535Added the wx.DC.GradientFillConcentric and wx.DC.GradientFillLinear
536methods.
537
ace78e27
RD
538wxGTK: wx.ListBox and wx.CheckListBox are now using native GTK2
539widgets.
540
541Added wx.ListBox.HitTest() from patch 1446207
542
543Bumped up to SWIG 1.3.29. This provides some more runtime performance
544boosts, gets rid of the dreaded Ptr classes, and some other nice new
545things.
546
5756f986
RD
547Added wx.Window.GetScreenPosition and GetScreenRect which returns the
548position of the window in screen coordinates, even if the window is
549not a top-level window.
550
b8c4ab9c
RD
551Added GetResourcesDir and GetLocalizedResourcesDir to
552wx.StandardPaths.
553
99a001dd
RD
554Added a GetReceivedFormat method to wx.DataObjectComposite. You can
555use this to find out what format of data object was recieved from the
556source of the clipboard or DnD operation, and then you'll know which
557of the component data objects to use to access the data.
558
559Changed how the stock objects (wx.RED, wx.RED_PEN, wx.RED_BRUSH, etc.)
bd2903e1
RD
560are initialized. They are now created as uninitialized instances
561using __new__. Then after the wx.App has been created, but before
81bfc17c 562OnInit is called, the .this attribute of each object is initialized.
bd2903e1
RD
563This was needed because of some delayed initialization functionality
564that was implemented in wxWidgets, but the end result is cleaner for
565wxPython as well, and allowed me to remove some ugly code previously
566hidden under the covers.
99a001dd 567
46992103
RD
568Added wx.StandardPaths.GetDocumentsDir.
569
e0de65e8 570Added wx.RendererNative.DrawCheckButton.
99a001dd 571
8ec09aac
RD
572wx.ProgressDialog.Update now returns a tuple of two values. The first
573is a continue flag (what was returned before) and the second is a skip
574flag. If the dialog has the wx.PD_CAN_SKIP flag and if the Skip
575button is clicked, then the skip flag is set to True the next time
576Update is called.
577
4b40bcb4
RD
578A DeprecationWarning is now issued when the old wxPython package is
579imported. If you are still using the old namespace please convert
580your code to use the new wx package instead.
99a001dd 581
30fc5e8f
RD
582Added wrappers for Julian's new wxRichTextCtrl class, visible in
583wxPython as wx.richtext.RichTextCtrl window. It still needs some more
584work, but it is a great start.
585
bd2903e1
RD
586wx.lib.mixins.listctrl.TextEditMixin: Fixed the double END_LABEL_EDIT
587event problem in TextEditMixin by checking if the editor was already
588hidden before continuing with the CloseEditor method. Also added code
589to OpenEditor to send the BEGIN_LABEL_EDIT event and to not allow the
590opening of the editor to continue if the event handler doesn't allow
591it.
592
d0e2ede0
RD
593wx.StaticBoxSizer now keeps better track of the wx.StaticBox, and it
594will destroy it if the sizer is destroyed before the parent window is.
595
596Added wx.HyperlinkCtrl.
597
598Added battery and power related functions and events (wxMSW only so
599far.) See wx.PowerEvent, wx.GetPowerType and wx.GetBatteryState.
600
4d9de110
RD
601Added wx.ListCtrl.HitTestSubItem which returns the sub-item (i.e. the
602column in report mode) that was hit (if any) in addition to the item
603and flags.
30fc5e8f 604
d211a853
RD
605Added wrappers for wx.ColourPickerCtrl, wx.DirPickerCtrl,
606wx.FilePickerCtrl, and wx.FontPickerCtrl.
607
febb39df
RD
608Patch #1502016 wx.Image.ConvertToGreyscale now retains the alpha
609channel.
610
611Added wrappers for the wxAUI classes, in the wx.aui module.
612
7e664d85
RD
613Added the PseudoDC class from Paul Lanier. It provides a way to
614record operations on a DC and then play them back later.
615
b8193d80 616Upgraded to Scintilla 1.70 for wx.stc.StyledTextCtrl.
7e664d85 617
a00dca7a 618Added CanSetTransparent and SetTransparent methods to the
ca1863c2
RD
619wx.TopLevelWindow class, with implementations (so far) for wxMSW and
620wxMac.
a00dca7a 621
4f708f05
RD
622SetDefaultItem() and GetDefaultItem() are now members of
623wx.TopLevelWindow, not wx.Panel.
624
625wxGTK: Stock items (icons) will be used for menu items with stock
626IDs.
627
628Added wx.lib.combotreebox from Frank Niessink
629
238ba802 630Added wx.ImageFromBuffer, wx.BitmapFromBuffer and
64117075 631wx.BitmapFromBufferRGBA factory functions. They enable loading of an
238ba802
RD
632image or bitmap directly from a Python object that implements the
633buffer interface, such as strings, arrays, etc.
634
33328cd8 635Added wx.App.IsDisplayAvailable() which can be used to determine if a
4d9de110
RD
636GUI can be created in the current environment. (Still need an
637implementation for wxMSW...)
4f708f05 638
f2a2796d
RD
639The wx.html.HTML_FONT_SIZE_x constants are no longer available as the
640default sizes are now calculated at runtime based on the size of the
641normal GUI font.
642
28cc717d
RD
643wx.Colour now includes an alpha component, which defaults to
644wx.ALPHA_OPAQUE. This is in preparation for allowing various new
645alpha blening functionality using wx.Colour objects, such as drawing
646with pens and brushes on a wx.DC.
647
64117075
RD
648Added wx.NativePixelBuffer, wx.AlphPixelBuffer and related iterator
649and accessor classes. They allow platform independent direct access
650to the platform specific pixel buffer inside of a wx.Bitmap object.
651
e81b607b
RD
652The beginnings of support for RTL languages has been added, thanks to
653a Google SoC project.
654
f77c79d0
RD
655Added wx.lib.dragscroller from Riaan Booysen. It provides a helper
656class that can used to scroll a wx.ScrolledWindow in response to a
657mouse drag.
658
92091537
RD
659Applied patch 1551409: Adds support for indeterminate mode gauges.
660
661wxMac: I've turned on the compile option for using the native toolbar
662on the Mac now that it supports hosting of controls. If the toolbar
663is managed by the frame via either CreateToolBar() or SetToolBar()
664then the native toolbar will be used. Additional toolbars, or
9b0b3151 665toolbars that are not children of the frame, are managed by sizers or
92091537 666what-not will still use the emulated toolbar because of platform
9b0b3151 667restrictions in how/where the native toolbar can be used.
6517912d 668
33328cd8
RD
669Added Python properties for many of the getter/setter methods of wx
670classes. In order for the names to be predicatble for somebody
671already familiar with wxPython the property names are simply the name
672of the getter with the "Get" dropped. For example, wx.Window has a
673property named "Size" that maps to GetSize and SetSize. So far there
674is only one known name conflict using this naming convention, and that
675is wx.KeyEvent.KeyCode, however since KeyCode was formerly a
676compatibility alias for GetKeyCode (and has been for a long time) it
677was decided to just switch it to a property. If you want to use the
678method then change your calls to event.KeyCode() to
679event.GetKeyCode(), otherwise you can use it as a property just by
680dropping the parentheses.
681
682Updated the C++ code for wx.gizmos.TreeListCtrl from the wxCode
683project. This has resulted in some minor API changes, most of which
f2b78b59 684were worked around in the wrapper code.
6517912d 685
8bbd1bbf
RD
686Added wx.lib.delayedresult from Oliver Schoenborn.
687
84bc0d49 688Added wx.lib.expando, a multi-line textctrl that expands as more lines
ac9d5e95 689are needed.
8bbd1bbf 690
f5263701
RD
691wx.Image.Scale and Rescale methods now take an extra parameter
692specifying type of method to use for resampling the image. It
693defaults to the current behavior of just replicating pixels, if
694wx.IMAGE_QUALITY_HIGH is passed then it uses bicubic and box averaging
695resampling methods for upsampling and downsampling respectively.
696
66dae888
RD
697Added the wx.lib.buttonpanel module, which is a tweaked version of
698Andrea Gavana's FancyButtonPanel module.
f5263701 699
6cb4f153
RD
700Added the wx.lib.flatnotebook module, from Andrea Gavana.
701
8feec28c
RD
702Renamed wx.FutureCall to wx.CallLater so it is named more like
703wx.CallAfter. wx.FutureCall is now an empty subclass of wx.CallLater
704for compatibility of older code.
705
81bfc17c 706Added the wx.lib.customtreectrl module from Andrea Gavana.
607afa3c
RD
707
708Added ChangeSelection to wx.BookCtrl (the base class for wx.Notebook
709and other book controls) that is the same as SetSelection but doesn't
710send the change events.
711
712Added wx.TextCtrl.ChangeValue() which is the same as SetValue() but
713doesn't send the text changed event.
714
715For consistency, all classes having an Ok() method now also have
716IsOk(), use of the latter form is preferred although the former hasn't
717been deprecated yet
718
f541d829
RD
719Added the wx.AboutBox() function and wx.AboutDialogInfo class. They
720provide a way to show a standard About box for the application, which
721will either be a native dialog or a generic one depending on what info
722is provided and if it can all be shown with the native dialog.
6cb4f153 723
d5aea13b 724The code in the animate contrib has been moved into the core wxWidgets
e19b9131
RD
725library, and refactored a bit along the way. For wxPython it still
726exists in the wx.animate module, but has basically been reduced to two
727classes, wx.animate.Animation, and wx.animate.AnimationCtrl. You load
728the animated GIF (and hopefully there will be other supported formats
729in the near future) in the Animation object, and then give that to the
730AnimatedCtrl for display. See the demo for an example. There is also
731still a GIFAnimationCtrl class that provides some level of backwards
732compatibility with the old implementation.
733
734wxMac: The compile option that turns on the use of CoreGraphics (a.k.a
735Quartz) for wxDC is now turned on by default. This means that all
736drawing via wxDC is done using the new APIs from apple, instead of the
737old Quick Draw API. There are, however, a few places where Quartz and
738wxDC don't fit together very well, mainly the lack of support for
96285a18
RD
739logical drawing operations such as XOR, but there is work in progress
740to provide other ways to do the same sort of thing that will work with
e19b9131
RD
741Quartz and also on the other platforms.
742
e3877dfc
VZ
743The first parts of a new 2D drawing API has been added with the
744wx.GraphicsPath and wx.GraphicsContext classes. They wrap GDI+ on
d9c8cf74 745Windows, Cairo on wxGTK and CoreGraphics on OS X. They allow path-based
e3877dfc 746drawing with alpha-blending and anti-aliasing, and use a floating
d74b3844 747point cooridnate system. Currently they can only target drawing to
e3877dfc
VZ
748windows, but other wx.DC backends are forthcoming. The APIs may
749evolve a bit more before they are finalaized with the 2.8 release, but
750there is enough there now to get a good feel for how things will work.
751There is also a transitional wx.GCDC class that provides the wx.DC API
752on top of wx.GraphicsContext. Docs and a demo are still MIA.
e19b9131 753
96285a18
RD
754Added a wx.AutoBufferedPaintDC that is a subclass of wx.PaintDC on
755platforms that do double buffering by default, and a subclass of
756wx.BufferedPaintDC on the platforms that don't. You can use this
757class to help avoid the overhead of buffering when it is not
758needed. There is also a wx.AutoBufferedPaintDCFactory function that
759does a little more and actually tests if the window has
760double-buffering enabled and then decides whether to return a
761wx.PaintDC or wx.BufferedPaintDC. This uses the new
762wx.Window.IsDoubleBuffered method.
763
764
e19b9131 765
4f708f05 766
d211a853 767
99a001dd 768
ace78e27 769
b8193d80
RD
7702.6.3.3
771-------
772* 15-July-2006
773
774wx.lib.pubsub updates from Oliver Schoenborn:
775 - fixed the hash problem with non-hashable objects
776 - now supports listeners that use \*args as an argument
777 (listener(\*args) was not passing the validity test)
778 - corrected some mistakes in documentation
779 - added some clarifications (hopefully useful for first time
780 users)
781 - changed the way singleton is implemented since old way prevented
782 pydoc etc from extracting docs for Publisher
783
784DocView and ActiveGrid IDE updates from Morgan Hua:
785 New Features: In Tab-View mode, Ctrl-number will take the user to
786 the numbered tab view. Modified files now show an '*' astrisk in
787 the view title. Debugger framework can now support PHP debugging.
788 Not important for python development, but at least that means the
789 debugger framework is more generalized.
790
791wx.lib.mixins.listctrl.TextEditMixin: Fixed the double END_LABEL_EDIT
792event problem in TextEditMixin by checking if the editor was already
793hidden before continuing with the CloseEditor method. Also added code
794to OpenEditor to send the BEGIN_LABEL_EDIT event and to not allow the
795opening of the editor to continue if the event handler doesn't allow
796it.
797
798Undeprecated wx.GetNumberFromUser and added wx.NumberEntryDialog.
799
800Made necessaary changes for building wxPython for Python 2.5. There
801may still be some issues related to the new Py_ssize_t type and 64-bit
802machines, but at least all compile errors and warnings related to it
803have been resolved.
804
805
806
ddbb966d 807
dd8659ca
RD
8082.6.3.2
809-------
810* 3-April-2006
811
812Fixed reference leak in wx.gizmos.TreeListCtrl.GetSelections.
813
814wxMSW: Fixed sizing issue with wx.Choice and wx.ComboBox. This change
815was implemented by reverting a prior fix for a different problem
816(contiuous painting/resizing when a combobox is used as a widget in a
817wx.html.HtmlWindow) so a method to fix both problems is still being
818investigated.
819
820wxGTK: Fixed potential buffer overrun when pasting from the
821clipboard.
822
823Fixed problem in wx.lib.splitter when used on 64-bit platforms. Used
824the current length of the list for specifying an append instead of
825sys.maxint.
826
827wxMSW: Support added for XP themed owner drawn buttons and bitmap
828buttons. For example, if you change the foreground color of a button
829it will now be drawn with the XP themed style rather than an ugly
830generic button style.
831
832XRCed: Fix for Copy/Paste objects with international characters.
833
834Fixed the equality and inequality operators for some of the basic
835data types (wx.Point, wx.Size, wx.Colour, etc.) to no longer raise a
836TypeError if the compared object is not compatible, but to just return
837a boolean as expected. For example::
838
2a783b2d 839 wx.Colour(64,0,64) == 123 ==> False
dd8659ca
RD
840
841wxMSW: Fixed (again) sizing/positioning issues of calling Realize on
842a wx.ToolBar that is not manaaged directly by a frame and that is
843already shown.
844
845wxMSW: Fixed wx.Choice/wx.ComboBox so they send events when a new item
846is selected only with the keyboard.
847
53a4b457
RD
848
849
e280c9ca 8502.6.3.0
4617be08 851-------
3640e087 852* 27-March-2006
4617be08
RD
853
854Change the wx.ListCtrl InsertStringItem wrapper to use the form that
855takes an imageIndex, and set the default to -1. This ensures that on
856wxMSW that if there is an image list but they don't specify an image,
857the native control doesn't use one anyway.
858
859wxMSW: wx.ListCtrl in report mode is now able to support images in
860other columns besides the first one. Simply pass an image index to
e280c9ca
RD
861SetStringItem. For virtual list controls you can specify the image to
862use on the extra columns by overriding OnGetItemColumnImage in your
863derived class. It is passed the item number and the column number as
864parameters, and the default version simply calls OnGetItemImage for
865column zero, or returns -1 for other columns.
4617be08 866
4251af7e
RD
867Switched to using SWIG 1.3.27 for generating the wrapper code. There
868are some small changes needed to SWIG to work around some bugs that
869wxPython exposes, and to be able to generate code that matches that
870which wxPython is using. If you are building wxPython yourself and
871need to modify any of the \*.i files or to add your own, then you will
872want to be sure to use a matching SWIG. See wxPython/SWIG/README.txt
3640e087 873in the source tarball for details.
4251af7e 874
99a001dd
RD
875wx.Image.Copy, Mirror, and GetSubImage now also do the right thing
876with the alpha channel.
4251af7e
RD
877
878wxMSW: Fixed problem in wx.TextCtrl where using SetValue and
879wx.TE_RICH2 would cause the control to be shown if it was hidden.
880
881wxMSW: Numpad special keys are now distinguished from normal keys in
882key events.
883
884wxMSW: Multiline notebook tab label change now resizes the control
885correctly if an extra row is removed or added.
886
887wxMSW: On XP fall back to unthemed wxNotebook if specified orientation
888not available in the themed version.
889
890Added wx.Toolbar.GetToolsCount.
891
892Added wx.GridSizer.CalcRowsCols.
893
894Added wx.OutputStream.LastWrite.
895
ace78e27
RD
896wxGTK: EVT_SET_CURSOR is now sent.
897
898wxGTK: Fix RequestMore for idle events.
899
900wxGTK: Implement user dashes for PS and GNOME printing.
901
902wxGTK: Correct update region code. Don't always invalidate the whole
903window upon resize. Reenable support for thewx.NO_FULL_REPAINT_ON_RESIZE
904flag. Also disable refreshing custom controls when focusing in and out.
905
906wx.lib.pubsub: Publisher is now able to parse a dotted notation string
907into a topic tuple. For example: subscribing to "timer.clock.seconds"
908is the same as subscribing to ("timer", "clock", "seconds").
909
910Applied patch #1441370: lib.plot - allow passing in wx.Colour()
911
912Added wx.CommandEvent.GetClientData.
913
914Updated wxStyledTextCtrl to use version 1.67 of Scintilla.
915NOTE: The STC_LEX_ASP and STC_LEX_PHP lexers have been deprecated,
916you should use STC_LEX_HTML instead.
917
918wxSTC: Implemented Fix for SF Bug #1436503. Delay the start of the
919DnD operation in case the user just intended to click, not drag.
920
3640e087
RD
921Updated the analogclock.py module to the new analogclock package from
922E. A. Tacao.
923
924Added the wx.lib.mixins.listctrl.CheckListCtrlMixin class from Bruce
925Who, which makes it easy to put checkboxes on list control items.
926
927Applied a patch from Christian Kristukat to wx.lib.plot that adds
928scrollbars when the plot is zoomed in, and also the ability to grab a
929zoomed plot and move it around with a mouse drag.
930
931XRCed updated to allow wxMenuBar to be created inside a wxFrame.
ace78e27 932
99a001dd
RD
933Added wx.StandardPaths.GetDocumentsDir() (patch 1214360)
934
935
936
4617be08
RD
937
938
939
02b800ce 9402.6.2.1
c95499b9 941-------
17991ec0 942* 10-Jan-2006
c95499b9
RD
943
944wxMSW: Fix for bug #1211907, popup menu indenting inconsistent with
02b800ce 945bitmaps.
c95499b9
RD
946
947wxMac: Don't send an event for wx.RadioButton deselections, just the
948selections. This was done to make it consistent with the other
02b800ce 949platforms.
c95499b9 950
0263d0bb
RD
951wxMSW: Always set flat toolbar style, even under XP with themes: this
952is necessary or separators aren't shown at all.
953
02b800ce 954Fixes for bug #1217872, pydocview.DocService not correctly initialized.
0263d0bb 955
02b800ce 956Fix for bug #1217874, Error in parameter name in DocManager.CreateView.
0263d0bb 957
2eeaec19
RD
958Added wrappers for the wx.RendererNative class.
959
0263d0bb
RD
960Added the wx.lib.splitter module, which contains the
961MultiSplitterWindow class. This class is much like the standard
962wx.SplitterWindow class, except it allows more than one split, so it
963can manage more than two child windows.
c95499b9 964
02b800ce 965Docview and IDE patch from Morgan Hua with fix for bug #1217890
4251af7e 966"Closing view crashes Python" plus some new features:
2eeaec19
RD
967
968 New feature added to the IDE is 'Extensions'. Under
969 Tools|Options|Extensions, you can add calls to external programs.
970 For example you can add a "Notepad" extension (under windows) that
971 will exec Notepad on the currently open file. A new "Notepad"
972 menu item will appear under the Tools menu.
973
3a2f2e31 974Some fixes to XRCed to make encoding errors a bit more user friendly.
2eeaec19 975
02b800ce
RD
976XRCed changes from Roman Rolinsky:
977
978 * Added new controls (Choicebook, Listbook, StatusBar,
979 DatePicker), and completed style flags. Test window is opened
980 for an available parent control if no specific view
981 defined. Better handling of exceptions (highlighting does not
982 'stick' anymore).
983
984 * Use system clipboard for Copy/Paste.
985
986 * Improved some dialogs (window styles, growable cols). Changed
987 the range for wxSpinCtrl min/max to all integers (default 0/100
988 is not always good).
989
990Updates for wx.lib.foldpanelbar and wx.lib.hyperlink from Andrea
991Gavana.
992
993Fix for Bug #1283496: wxPython TheClipboard class causes problems for
994pychecker. Ensure the app has been created before initializing
995wx.TheClipboard.
996
997Fix for Bug #1352602: FileBrowseButtonWithHistory can't type in Value.
998
999wxHTML: Added space after list item number.
1000
1001wx.lib.printout: Applied patch #1384440.
1002
1003wxMSW: Fix for Bug #1293225 Window_FromHWND crashes if parent is
1004None.
1005
1006Fix for Bug #1261669, use a wx.TE_RICH2 style for the Process demo so
1007it doesn't fill up too soon.
1008
1009Applied Patch #1354389: wxPython MenuItem SetBitmaps fix.
1010
1011Applied Patch #1239456: wxPython wx.DataObject.GetAllFormats fix.
1012
1013Applied Patch # #1230107 which allows image handlers to be written in
1014Python by deriving from wx.PyImageHandler.
1015
1016Applied patch #1072210: generalize printout.py to allow text printing.
1017
1018Applied patch #1243907: Give Throbber much more flexibility by
1019allowing the user to set the rest image, the direction, the current
1020index, custom sequence. Allows user to manually step through the
1021sequence with Next(), Previous(), Increment(), Decrement() &
1022SetCurrent(). Very handy if you have multiple throbbers that you want
1023to synchronize with a single timer.
1024
1025Fix for bug #1336711: wx.lib.calendar.CalenDlg can yield incorrect
1026result.
1027
1028Applied patch from Morgan Hua for updates to ActiveGrid code
1029(pydocview, ActiveGrid IDE, etc.)
1030
1031Applied patch #1326241: Supporting "setup.py install --install-headers=path"
1032
1033Applied patch from Morgan Hua to fix bug #1219423: CommandManager
1034should not repeat old commands after a branch.
1035
1036Applied patch #1238825 adding search backward capabilities to the
1037demo. Modified to use the up/down options in the wx.FindReplaceDialog
1038instead of a separate menu item.
1039
1040Fix for bug #1266745 and #1387725 in the wx.FindReplaceDialog on MSW.
1041Actually check we are using MSLU before doing the hack designed to
1042workaround a bug in MSLU!
1043
1044wxMSW: wx.lib.iewin.IEHtmlWindow now properly handles tabbing, return
1045and other special keys properly.
1046
1047Lots of PyCrust enhancments started by Franz Steinaeusler, Adi Sieker,
1048and Sebastian Haase, and which in turn were further enhanced, fixed
1049tweaked and finished up by me. The changes include the following:
1050
1051 * The Autocomplete and Calltip windows can now be opened manually
1052 with Ctrl-Space and Ctrl-Shift-Space.
1053
1054 * In the stand alone PyCrust app the various option settings,
1055 window size and position, and etc. are saved and restored at the
1056 next run.
1057
1058 * Added a help dialog bound to the F1 key that shows the key
1059 bindings.
1060
1061 * Added a new text completion function that suggests words from
1062 the history. Bound to Shift-Return.
1063
1064 * F11 will toggle the maximized state of the frame.
1065
1066 * switched to Bind() from wx.EVT_*().
1067
1068 * Display of line numbers can be toggled.
1069
1070 * F12 toggles a "free edit" mode of the shell buffer. This mode
1071 is useful, for example, if you would like to remove some output
1072 or errors or etc. from the buffer before doing a copy/paste.
1073 The free edit mode is designated by the use of a red,
1074 non-flashing caret.
1075
486afba9 1076 * Ctrl-Shift-F will fold/unfold (hide/show) the selected lines.
02b800ce
RD
1077
1078 * General code cleanup and fixes.
1079
1080 * Use wx.StandardPaths to determine the location of the config
1081 files.
1082
1083 * Use wx.SP_LIVE_UPDATE on crust and filling windows.
1084
1085 * Extended the saving of the config info and other new features to
1086 the PyShell app too. Additionally, other apps that embed a
1087 PyCrust or a PyShell can pass their own wx.Config object and
1088 have the Py code save/restore its settings to/from there.
1089
1090 * All of the classes with config info get an opportunity to
1091 save/load their own settings instead of putting all the
1092 save/load code in one place that then has to reach all over the
1093 place to do anything.
1094
1095 * Enable editing of the startup python code, which will either be
1096 the file pointed to by PYTHONSTARTUP or a file in the config dir
1097 if PYTHONSTARTUP is not set in the environment.
1098
1099 * Added an option to skip the running of the startup code when
1100 PyShell or PyCrust starts.
1101
1102 * PyCrust adds a pp(item) function to the shell's namespace that
1103 pretty prints the item in the Display tab of the notebook.
1104 Added code to raise that tab when pp() is called.
1105
1106 * Added an option for whether to insert text for function
1107 parameters when popping up the call tip.
1108
1109 * Added Find and Find-Next functions that use the
1110 wx.FindReplaceDialog.
1111
1112
1113Applied patches from Will Sadkin for wx.lib.masked modules:
1114
1115 * Now ignores kill focus events when being destroyed.
1116
1117 * Added missing call to set insertion point on changing fields.
1118
1119 * Modified SetKeyHandler() to accept None as means of removing
1120 one.
1121
1122 * Fixed keyhandler processing for group and decimal character
1123 changes.
1124
1125 * Fixed a problem that prevented input into the integer digit of a
1126 integerwidth=1 numctrl, if the current value was 0.
1127
1128 * Fixed logic involving processing of "_signOk" flag, to remove
1129 default sign key handlers if false, so that
1130 SetAllowNegative(False) in the NumCtrl works properly.
1131
1132 * Fixed selection logic for numeric controls so that if
1133 selectOnFieldEntry is true, and the integer portion of an
1134 integer format control is selected and the sign position is
1135 selected, the sign keys will always result in a negative value,
1136 rather than toggling the previous sign.
1137
1138wx.FontMapper.SetConfig is deprecated. You should instead just set an
1139application-wide config object with wx.Config.Set, which wx.FontMapper
1140will use by default.
1141
095315e2
RD
1142Added wx.GetMouseState which returns the current state of the mouse.
1143It returns an instance of a wx.MouseState object that contains the
1144current position of the mouse pointer in screen coordinants, as well
1145as boolean values indicating the up/down status of the mouse buttons
1146and the modifier keys.
1147
1148Added wx.SizerItem.SetUserData
1149
1150A variety of updates to wx.lib.floatcanvas, including Added
1151DrawObjects, including a ScaledTextBox, with auto-wrapping, etc, and
1152Scaled and Unscaled Bitmap Objects.
1153
1154 WARNING: Changed all DrawObjects to take an (x,y) pair rather
1155 than individual x,y parameters. Also changed rectangles and
1156 ellipses to take (w,h) pair. This is an API change, but should
1157 be easy to accommodate, all you need to do is add a parenthesis
1158 pair: (...x, y, ...) ---> (...(x,y), ...)
02b800ce 1159
c95499b9
RD
1160
1161
1162
271b6b64
RD
11632.6.1.0
1164-------
a432a02b 1165* 4-June-2005
271b6b64
RD
1166
1167wx.ListCtrl: patch #1210352, fixes editing in generic wx.ListCtrl with
1168wx.LC_EDIT_LABELS.
1169
1170Applied patch #208286, MediaCtrl DirectShow rewrite.
1171
1172DocView patches from Morgan Hua: bug fixes, and additional SVN
1173commands, also added a default template that uses the text editor for
1174any unknown file type.
1175
1176wxMSW: Use the system IDC_HAND cursor for wx.CURSOR_HAND and only fallback
1177to the strange wxWidgets version if the system one is not available.
1178
1179wx.grid.Grid: Merge the cell size attribute the same way that other
1180attributes are merged, e.g., if it is already set to a non-default
1181value in the current GridCellAttr object then don't merge from the
1182other.
1183
271b6b64
RD
1184wx.lib.evtmgr: Fixed to use wx._core._wxPyDeadObject
1185
1186wx.lib.gridmovers: Don't scroll when the mouse is dragged outside of
1187the grid, unless the mouse is kept in motion.
1188
d654745d
RD
1189wxMSW: Applied patch #1213290 incorrect logic in
1190wx.TopLevelWindow.ShowFullScreen.
1191
1192Applied patch #1213066 correct device names for Joystick in Linux.
1193
1194wxGTK: Applied patch #1207162 wx.TextCtrl.SetStyle fix for overlapping
02b800ce 1195calls.
d654745d 1196
a432a02b
RD
1197wx.FileConfig: fixed DeleteEntry to set the dirty flag properly so the
1198change will get written at the next flush.
d654745d 1199
271b6b64
RD
1200
1201
8224a808 1202
c95499b9 1203
8224a808
RD
12042.6.0.1
1205-------
09ad48d0 1206* 30-May-2005
8224a808
RD
1207
1208Added wx.BrushFromBitmap to create a stippled brush in a single step.
1209Also added missing brysh style flags: wx.STIPPLE_MASK
02b800ce 1210wx.STIPPLE_MASK_OPAQUE.
8224a808 1211
c08df249
RD
1212wxMSW: Fix for default control colours when the system text fg colour
1213is not black.
9899bd5b
RD
1214
1215wxGTK: Patch #1171754, It is now possible to have a menu item that
1216both has an icon and is a submenu.
1217
77cc110b 1218wxMSW: Patch #1197009, better refreshes when windows are moved and
02b800ce 1219resized.
9899bd5b
RD
1220
1221wxMSW: Patch #1197468. Keeps track of pending size/position changes
1222in case there is more than one adjustment for a window in a single
1223DeferWindowPos set, then the pending values can be used for defaults
1224instead of current values.
1225
1226Fixed the typemap that converts a Python list of strings to a
3ffa4b96 1227wxArrayString so it uses the wxPython default encoding.
8224a808 1228
77cc110b
RD
1229Several docstrings added and updated. Lots more to go.
1230
3ffa4b96
RD
1231wxMac: Strings added to the clipboard or used in DnD no longer have an
1232extra null character at the end.
1233
1234Added wx.GetXDisplay that returns a raw swigified pointer for the X11
1235Display, or None for the non-X11 platforms.
1236
1237wxMenu: Don't send an event when selecting an already selected radio
1238item.
1239
1240Added wx.LaunchDefaultBrowser.
1241
1242wxMSW: Fixed erroneous selection of content in wx.ComboBox when within
1243a wx.StaticBox.
1244
1245wxMSW: Fixed alpha blitting to take into account source position.
1246
1247Ensure that Python is still in an initialized state before doing any
1248locking or unlocking in wxPyBeginBlockThreads and wxPyEndBlockThreads
1249as these can be triggered after Python has been finalized in embedding
1250situations.
1251
a6987674
RD
1252Added alternate constructors for wx.Font: wx.FontFromPixelSize,
1253wx.FFont, wx.FFontFromPixelSize. See the docstrings or new api docs
1254for details.
1255
1256Added wx.lib.hyperlink from Andrea Gavana. It is a control like
1257static text that acts like a hyper-link, launching the system's
1258default browser in response to the clicks.
1259
c08df249
RD
1260Added an optional parameter to wxversion.select that allows you to
1261specify that the extra components specified in the version string are
1262required. For example, if you ask for "2.6-unicode" but only the ansi
1263version is installed then by default the ansi version will be selected
1264as it considered close enough since the version numbers match. If you
1265want to force the options to be required then you can just add a True
1266parameter, like this::
1267
2a783b2d
RD
1268 import wxversion
1269 wxversion.select("2.6-unicode", True)
1270 import wx
c08df249 1271
d167fc51
RD
1272Tweaked wx.lib.buttons such that flat buttons (e.g. have no bevel and
1273a wx.BORDER_NONE style flag) paint themed backgrounds if there are
1274transparent areas and the parent is displaying a theme.
77cc110b 1275
3de6964a
RD
1276wxMSW: Fix for wrong sash colour of wx.SplitterWindow in the silver
1277theme on XP.
1278
1279Added a wx.xrc.XmlResourceHandler for the Ticker class. See
02b800ce 1280wx/lib/ticker_xrc.py
3de6964a 1281
b8f99341
RD
1282wxSTC: Fixed CmdKeyAssign key bindings for Ctrl-Backspace.
1283
1284wxMSW: Fixed a bug in wx.TextCtrl where all the lines were being used
1285to calculate the best size, instead of using a reasonable limit.
3de6964a 1286
2c3e35c2
RD
1287XRCed: Use wx.GetDefaultPyEncoding/wx.SetDefaultPyEncoding for
1288changing active encoding. Fixed pasting siblings (Ctrl key pressed
1289while pasting).
3de6964a 1290
2c3e35c2
RD
1291wx.lib.filebrowsebutton: Bug fix from Chad Netzer for when
1292self.history is None.
8224a808 1293
4809f5df
RD
1294wx.ogl: Patch from Davide Salomoni that adds an optional point
1295parameter to LineShape.InsertLineControlPoint allowing one to
1296optionally specify where the new control point has to be drawn.
1297
1298wxMSW: setting foreground colour for wx.CheckBox now works when using
1299XP themes.
1300
6f1a3f9c
RD
1301More updates to the docview library modules and sample apps from the
1302ActiveGrid folks. Their sample IDE is now able to integrate with
02b800ce 1303Subversion.
6f1a3f9c 1304
6c75a4cf
RD
1305wx.grid.Grid: Ensure that the grid gets the focus when it is
1306left-clicked. Note that if you have custom widgets that handle the
1307EVT_LEFT_DOWN event but do not call event.Skip() then you will
1308probably want to add a call to self.SetFocus in the event handler.
1309
1310wxGTK: Add wxSTAY_ON_TOP support [Patch 1206023]
1311
1312wx.TreeCtrl: wx.EVT_TREE_ITEM_MENU event made consistent on all
1313platforms. The location of the click or the item is included in the
1314event as well.
1315
1316wxGTK: Setting background colour of a window now only affects the
1317window itself, not the borders, scrollbars, etc. (Bug #1204069)
1318
1319Print framework: Add more paper sizes and code to fallback to an
1320explicit paper size if a known paper size is not found for the
02b800ce 1321printer.
6c75a4cf
RD
1322
1323wxMac: Applied patch for bug #1206181 Option-key decodes are wrong,
1324also applied patch for bug #1205691 Modified Fn keys don't work.
1325
1326wx.Image: Fixed to preserve alpha channel in Rotate90 method.
1327
40cd6a37
RD
1328wxMSW: Fixed incorrect background colour on wx.CheckListBox.
1329
1330wxMSW: Fixed drawing of owner drawn buttons with multiline labels
1331
1332Removed a bunch of unnecessary files, and removed or replaced images
1333that we're not sure of their origin or license.
1334
1335The default DoGetBestSize is updated to not always return the current
1336size if the window has no sizer, children, or minsize set. Instead
1337the current size is set as the minsize. This solves the occasional
1338problem where a sizer may cause a childless panel to grow but never
02b800ce 1339shrink.
40cd6a37
RD
1340
1341wxMSW: When converting a wx.Icon to a bitmap check if the icon has an
1342alpha channel and set the bitmap to use it.
6c75a4cf 1343
cccb455e
RD
1344Fixed the wrong class name used in wx.PyScrolledWindow's call to
1345_setCallbackInfo.
6c75a4cf 1346
09ad48d0
RD
1347wxMSW: patch #1207202, Fixes GDI leak when using stock cursors.
1348
1349wx.calendar.CalendarCtrl: Patch #1207531, Keeps the CalendarCtrl wide
1350enough even when the weekday names for the locale are shorter than
1351usual.
1352
1353Made GridCellNumberEditor.StartingKey also insert the typed char when
1354there is a range of allowed values (so a wx.SpinCtrl is used instead
1355of a wx.TextCtrl.)
1356
1357
4809f5df 1358
8224a808
RD
1359
1360
8839b5ee
RD
13612.6.0.0
1362-------
d2743bc0 1363* 26-Apr-2005
8839b5ee 1364
1ce1bd84
RD
1365wxMSW: Fixed wx.TransientPopupWindow (and therefore wx.TipWindow) to
1366auto-dismiss when the mouse is clicked outside of the popup like it is
1367supposed to.
8839b5ee 1368
1ce1bd84
RD
1369wxMSW: Fixed bug #1167891 wx.Notebook display problem with wx.NB_MULTILINE.
1370
1371wxMSW: Fixed bad cliping of hidden windows inside of wx.StaticBox.
1372
1373wxGTK: The configure flags for selecting GTK+ 1.2.x or 2.x has
1374changed slightly. It is now --with-gtk[=VERSION] where VERSION is
1375either '1', '2' or 'any'. The default is '2'.
1376
5091b1e8 1377wx.stc.StyledTextCtrl: Added the following methods for alternate ways
1ce1bd84
RD
1378to set and fetch text from the document buffer. They work similarly
1379to the existing methods of the same name, except that they don't go
1380through the same string/unicode <--> wxString conversions. The "Raw"
5091b1e8
RD
1381methods will do no conversions at all and in a unicode build of
1382wxPython the strings will be in the utf-8 encoding and in an ansi
1383build no assumption is made about the encoding. The "UTF8" functions
1384will attempt to always get/set utf-8 text, which it will always be
1385able to do in a unicode build, and in an ansi build it will depend on
1386the content of the utf-8 used being compatible with the current
1387encoding, (you'll get an exception otherwise.)
1ce1bd84 1388
33b0e2df
RD
1389 =================== ====================
1390 AddTextRaw AddTextUTF8
1391 InsertTextRaw InsertTextUTF8
1392 GetCurLineRaw GetCurLineUTF8
1393 GetLineRaw GetLineUTF8
1394 GetSelectedTextRaw GetSelectedTextUTF8
1395 GetTextRangeRaw GetTextRangeUTF8
1396 SetTextRaw SetTextUTF8
1397 GetTextRaw GetTextUTF8
1398 AppendTextRaw AppendTextUTF8
1399 =================== ====================
8839b5ee
RD
1400
1401
583d32f6
RD
1402wx.stc.StyledTextCtrl: Added the StyleSetFontEncoding(style, enc)
1403method that allows you to set the encoding to be used by the font for
1404a particular style.
1405
e0304640
RD
1406wxMac: Fixed wx.ComboBox to forward the EVT_CHAR, EVT_KEY_DOWN,
1407EVT_KEY_UP and EVT_TEXT events from its embedded text control.
1408
33b0e2df
RD
1409wxMac: Corrected refresh bugs in wxGrid.
1410
a8e120ce 1411XRCed: Updated to version 0.1.5.
02b800ce 1412 * Added wxWizard, wxWizardPageSimple (only from pull-down menu).
a8e120ce
RD
1413 * Hide command for test window.
1414 * Replacing classes works better.
1415 * Added Locate tool.
33b0e2df 1416
8839b5ee
RD
1417
1418
1419
02b800ce 14202.5.5.1
41c48dbb 1421-------
d2743bc0 1422* 8-Apr-2005
41c48dbb
RD
1423
1424wxMSW: Fixed bug #1022383, 'several ComboBoxes appear selected'
1425
1426wx.grid.Grid: Fixed bug #1163384. Moved the code that handles
1427activating the cell editors to a EVT_CHAR event handler. This is done
1428so the character inserted into the editor will be the "cooked" char
1429value (including accented or composed keys) rather than the raw code
1ce1bd84 1430provided by the EVT_KEY_DOWN event.
41c48dbb
RD
1431
1432Added orient parameter to wx.MDIParentFrame.Tile()
1433
1434wxMSW: wxTextCtrl with wx.TE_RICH2 style now uses RichEdit 4.1 if
1ce1bd84 1435available.
41c48dbb
RD
1436
1437Added GetCount, GetCountRGB, and GetCountColour methods to
1ce1bd84 1438wx.ImageHistogram.
41c48dbb 1439
27ed367c
RD
1440wxMSW: wx.Window.Refresh changed to explicitly refresh all children as
1441well as the parent. Previously it was implicitly done because parents
1442did not clip their children by default. Now that they always clip
1443children then Refresh needed to be fixed to do a recursive refresh.
1444This also fixes the Freeze/Thaw problems that some people had with
14452.5.4.1.
1446
1447wx.SplitterWindow: Send EVT_SPLITTER_SASH_POS_CHANGED only once after
1448end of dragging and not after each CHANGING event (modified patch
1449#1076226)
1450
1451wx.glcanvas.GLCanvas: applied patch fixing problems with X server
1452crash when using nVidia cards (patch 1155132)
1453
42f5333f
RD
1454wx.lib.mixins.listctrl: Patches from Toni Brkic:
1455 * Bugfix for TextEditMixin when the view can't be scrolled
1ce1bd84 1456 * Enhancement for ListCtrlAutoWidthMixin, allowing it to manage
42f5333f
RD
1457 the width of any column.
1458
1459wxMac: removal and reusing toolbar tools like the other platforms is
1460now possible.
1461
1462wxMac: Correct radio tool selection after calling Realize a 2nd time.
1463
1464wxMSW: Applied patch #1166587, removes all flicker from wx.StaticBox
1465
1466Added wx.lib.foldpanelbar, Andrea Gavana's port of Jorgen Bodde's C++
1467wxFoldPanelBar classes to Python.
1468
a2e26438
RD
1469wxGTK: Applied patch #1173802, reimplementation of GtkFileChooser
1470wxFileDialog by Mart Raudsepp. Note that this new file dialog is only
1471used on GTK2 >= 2.4. For earlier GTK2 versions and GTK1 then the
1472older generic file dialog is used.
1473
1474wxMSW: fixes to static box borders calculations (finalizes patch
1475#1166587)
1476
1477wx.Image: Use Python's buffer interface API for all image data and
1478alpha Set/Get methods and the ImageFromData* constructors. They all
1479still copy the buffer except for SetDataBuffer and SetAlphaBuffer, but
1480this gives more flexibility on where the data can come from.
1481
2a13beb3 1482Added MDI support to XRC
b1baed85 1483
2e5aa9c4
RD
1484Added wx.animate module and a demo. The wx.animate module provides a
1485control that is able to display an animated GIF file.
1486
1487wx.lib.plot.py: Applied patch from Werner F. Bruhin that allows either
1488vertical and/or horizontal gridlines.
1489
b508ae3a
RD
1490wxMSW: Extra space given for top border of wx.StaticBoxSizer so the
1491upper line is not cliped when there is no label.
1492
1493wxMSW: Restored old behaviour of wx.StaticBox.SetBackgroundColour only
1494affecting the label.
1495
1496wxMSW: Fixed missing EVT_RIGHT_DOWN and EVT_TREE_ITEM_RIGHT_CLICK
1497events in a wx.TreeCtrl.
1498
791fbf34
RD
1499Added wx.GetTopLevelWindows() function which returns a copy of the
1500list of top-level windows that currently exist in the application.
2e5aa9c4 1501
3fa8f722 1502Updated docview library modules and sample apps from the ActiveGrid
1ce1bd84 1503folks.
3fa8f722 1504
1f780e48 1505Added the ActiveGrid IDE as a sample application.
b1baed85 1506
41c48dbb 1507
ca8071ca 1508
8839b5ee 1509
2da0c077 15102.5.4.1
ca8071ca 1511-------
d2743bc0 1512* 16-Mar-2005
ca8071ca 1513
3c1705d9 1514wx.Sizer Add, Insert, and Prepend functions now return a reference to the
6b9f434e
RD
1515wx.SizerItem that was added to the sizer, and the wx.SizerItem has a
1516GetRect accessor to give the position of the item on the parent window.
7aada1e0
RD
1517
1518Added wx.Sizer.GetItem method which returns the wx.SizerItem for the given
1519wx.Window, wx.Sizer or position index.
1520
1521wxMSW: wx.RadioButtons in the same group no longer have to be
1522consecutive (there may be intervening controls). Without this fix, an
1523out-of-sync assert is generated when clicking on a radio button and
1524then calling GetValue().
1525
1ce1bd84 1526Some XRC changes:
66b50a8f
RD
1527 - Added 'icon' property to wxFrame and wxDialog
1528 - No longer ignores menu bitmaps on non-MSW platforms
1529 - Notebook page bitmaps are now supported
9828eeb4 1530 - added system colours and fonts support (based on patch #1038207)
7aada1e0
RD
1531
1532wxMSW: fix for [ 1052989 ] TextCtrl.SetBackgroundColour(wx.NullColour)
1533bug.
1534
1535Added wx.PasswordEntryDialog analagous to wx.TextEntryDialog, allows
1536detecting entering an empty string vs. cancel unlike the
1537wx.GetPasswordFromUser dialog function.
1538
ca8071ca
RD
1539OGL patch from Shane Holloway:
1540
1541 Two simple problems found in the new python ogl code. First is
b3b61cda 1542 the patch for _canvas.py. Essentially::
ca8071ca
RD
1543
1544 dx = abs(dc.LogicalToDeviceX(x - self._firstDragX))
1545 dy = abs(dc.LogicalToDeviceY(y - self._firstDragY))
1546
1547 was incorrect because (x,y) and (self._firstDragX,
1548 self._firstDragY) are both already in Logical coordinates.
1549 Therefore the difference between the two is also in logical
1550 coordinates, and the conversion call is an error. This bug
1551 surfaces when you have OGL on a scrollwin, and you are far from
1552 the origin of the canvas.
1553
1554 The second change in _composit.py basically removes the assumption
1555 that the child is in both self._children and self._divisions.
1556 Causes many problems when it's not. ;)
1557
22685693
RD
1558Fixed GetSaveData and SetSaveData in wx.lib.multisash to not depend on
1559the default way that class objectss are converted to strings.
ca8071ca 1560
3c1705d9 1561Fixed problem in StyledTextCtrl.Set[HV]ScrollBar that could leave the
7aada1e0
RD
1562internal scrollbar visible.
1563
1564Added wx.StandardPaths which provides methods for determining standard
1565system paths for each platform.
1566
9828eeb4
RD
1567wxMSW: The window background is now only erased by default if the
1568background colour or background mode has been changed. This better
1569allows the default system themed behaviour to show through for
1570uncustomized windows. Explicit support added for using the correct
1571theme texture for wx.Notebook pages and their children.
1572
1573wx.Image: Added support for alpha channels in interpolated and
1574non-interpolated image rotation. Added ConvertAlphaToMask helper
1575method for turning shades of grey into shades of alpha and a colour.
1576
1577wxGTK2: Reimplemented DoDrawRotatedText() by way of a rotation of an
1578alpha blended text bitmap. It would be better if Pango could draw
1579directly into an wxImage (as FreeType can,) but that is for later...
1580
3c1705d9
RD
1581Added wrappers and a demo for the wx.MediaCtrl class, which can play
1582various forms of audio/video media using native codecs install on the
1583system. So far it is only implemented for Windows and OSX.
850ab20b
RD
1584
1585wxGTK: Patch applied for Freeze()/Thaw() for wxTextCtrtl.
1586
1587Added "gravity" for splitter window (patch 1046105). Gravity is a
1588floating-point factor between 0.0 and 1.0 which controls position of
1589sash while resizing the wx.SplitterWindow. The gravity specifies
1590how much the left/top window will grow while resizing.
1591
1592wxMSW: wx.Slider's C++ implementation rewritten to be more
1593maintainable and hopefully less buggy. The position of the labels has
1594also been changed in order to better comply with Microsoft's examples
1595of how to use the control.
9828eeb4 1596
94fd5e4d
RD
1597wxMSW: Fix wx.TreeCtrl to end label editing if the control loses
1598focus (a slightly modified patch 1084592.)
1599
1600Added wx.EXEC_NODISABLE flag for wx.Execute, which will prevent all
1601the app's windows being disabled while a synchronous child process is
1ce1bd84 1602running.
94fd5e4d
RD
1603
1604wxMSW: Much work to correct painting (or leaving transparent) of
1605control backgrounds, properly using background themes on XP, etc.
1606
1607Fixed a circular reference problem with wx.Timer. It will now
1608completely cleanup after itself when the last reference to the timer
1609is removed. If you were previously using timer.Destroy() to cleanup
1610your timers it will no longer work. Instead you should hold a
1611reference to the timer and then del the reference when you are
1612finished with the timer.
7aada1e0 1613
3c1705d9
RD
1614Updated to 1.3.24 of SWIG. All of my big patches have been applied to
1615the main SWIG source tree, but unfortunatly there were also some bugs
1616added that affected the wxPython build and a few details in my
1617original patch were changed/removed, so we are still not free of
1618patches. A new patch for SWIG is located in the wxPython/SWIG
1619directory of the wxPython source tree. SWIG 1.3.24 plus this patch
1620should be used by anyone who is making custom modifications to
b3b61cda 1621wxPython's .i files, or building their own extension modules or
3c1705d9
RD
1622etc. that need to interact with the wxPython swigged types. For the
1623morbidly curious, here are a few more details:
1624
1625 * Since it is now possible easily and simply share the SWIG type
1626 tables across modules I reverted to always using the stock SWIG
1627 runtime instead of my slightly hacked up version of it exported
1628 via the wxPython C API.
1629
54e72b1a 1630 * The %name directive is now deprecated so I replaced most uses of
3c1705d9
RD
1631 it with a custom %Rename macro that uses %rename internally.
1632 These will evetually need to be replaced with a DocDecl macro
aeee37c3 1633 when docstrings are added for those items.
3c1705d9
RD
1634
1635 * The "this" attribute of all SWIGged classes is no longer a
1636 string containing a "swigified pointer", but rather a custom
1637 built-in type that holds the real C pointer to the object and
1638 the type info. It can be converted to a string like the old
1639 value using str() or to the long integer value of the pointer
1640 using long().
1641
669e06d7
RD
1642Added SetDefaultPyEncoding and GetDefaultPyEncoding functions which
1643will set/get the encoding used by wxPython to convert string or
1644unicode objects to/from wxString objects. Previously the default
1645Python encoding was always used, but unless the user had tweaked their
1646sitecustomize.py file it is always "ascii", which would result in
1647errors if the strings contained character codes >= 128.
1648SetDefaultPyEncoding will now allow you to control which encoding will
1649be used to do those conversions. The default encoding is set to the
1650value of `locale.getdefaultlocale()[1]` when wxPython is first
1651imported. Please see http://www.alanwood.net/demos/charsetdiffs.html
9283228f
RD
1652for information on the differences between the common latin/roman
1653encodings.
1654
1655Added wxStdDialogButtonSizer, which is a a special sizer that knows
1656how to order and position standard buttons in order to conform to the
1657current platform's standards. You simply need to add each `wx.Button`
1658to the sizer, and be sure to create the buttons using the standard
7257be76 1659ID's. Then call `Realize` and the sizer will take care of the rest.
669e06d7 1660
d31aa173
RD
1661wxMSW Toolbar: pass correct tool id (and not always -1) to the
1662EVT_TOOL_RCLICKED handler
1663
b76160ef 1664wxGTK: Applied patch for combo box SELECTED events (no longer get
d31aa173
RD
1665lots of surplus events)
1666
1667wxGTK: Applied patch for proper menu highlight colour detection in
1668wx.SystemSettings.
3c1705d9 1669
aeee37c3
RD
1670wxGTK: Commited scrollbar patch #1093339 which sends lineup, linedown
1671events based on intercepting the mouse down events.
1672
1673wxGTK: Applied patch #1102789 which solved conflicts between wxWidgets
1674and GTK+'s context menu code.
1675
1676wxGTK: Applied patch #1100327 for correct feedback from DND actions
1677(not all actions are allowed).
1678
b3b61cda 1679Fixed memory leak in wxGrid::UpdateAttr[Rows][Or][Cols] (patch 1104355)
aeee37c3
RD
1680
1681For efficiency reasons, text controls no longer set the string for
1682each text updated event, but rather query for the string value only
1683when GetString is called from an event handler.
1684
1685Added wx.SL_INVERSE style which will cause wx.Slider to invert the min
c6b65b76 1686and max ends of the slider.
aeee37c3 1687
e6bd0b8b
RD
1688Several patches applied, such as #1111174, #1110252 and others, that
1689make the generic wx.TreeCtrl (used on wxGTK and wxMac) be more
1690conistent with the wxMSW native wx.TreeCtrl.
1691
e6bd0b8b
RD
1692XRCed:
1693 * Edit->Locate command (Ctrl-L) for quick selection of items.
1694 Works with event-handling controls (buttons, text fields) but
1695 not with labels/sizers.
1696 * Some improvements: relative paths for files supplied as command-
1697 line argument work correctly, notebook panels are highlighted
1698 better.
1699
1700wxMac: Fixed a long-standing issue where wxSlider controls with a
1701hardcoded size would misplace their labels behind the slider control.
1702
1703wx.HtmlListBox fixed so calling RefreshLine(s) will cause the data for
b3b61cda
RD
1704that line to be refetched from the overridden methods in the derived
1705class.
e6bd0b8b
RD
1706
1707The default DoGetBestSize now includes the difference (if any) between
b3b61cda
RD
1708the client size and total size of the window, (such as the size of
1709borders.) Code that sets the client size using the best size, or that
1710added extra space to sizers to compensate for this bug may need to be
1711changed.
1712
1713Can suppress themed notebook pages with the wxNB_NOPAGETHEME style or
1714setting system option msw.notebook.themed-background to 0.
1715
1716wxSyledTextCtrl updated to use Scintilla 1.62.
1717
1718Can now set the msw.window.no-clip-children system option to 1 to
1719eliminate weird refresh behaviour (delays between a window being
1720erased and repainted, giving a ghostly gradual-redraw effect). May be
1721a temporary 'fix' until properly fixed before 2.6.
e6bd0b8b 1722
b3b61cda 1723wxMac: Toolbar is now more native looking with borderless toolbar
1ce1bd84 1724buttons.
e6bd0b8b 1725
67a5217c
RD
1726wxMac: Switched wx.Bitmap to use newer Quartz object types and APIs
1727internally. This results in faster display and better alpha support.
1728
b3b61cda 1729Added wx.DatePickerCtrl.
aeee37c3 1730
51c5e1f2
RD
1731wx.html.HtmlWindow now supports background images.
1732
1733Added wx.lib.gestures module from Daniel Pozmanter which supports
1734using Mouse Gestures in an application.
1735
2da0c077
RD
1736wxGTK2: ENTER and LEAVE mouse events are now sent for multi-line text
1737controls.
1738
1739wxMSW: "Alt" key (VK_MENU) now results in WXK_ALT keyboard event, not
1740WXK_MENU
1741
d1dc2b32
RD
1742Added modules from Peter Yared and Morgan Hua that implement the wx
1743Doc/View framework in pure Python code. See wx.lib.docview for the
1744base implementation and wx.lib.pydocview for Python-specific
1745extensions. There are also a couple sample applications located in
1ce1bd84 1746samples/docview.
2da0c077 1747
e63d6c30
RD
1748Added GetBitmap, GetIcon to wx.ImageList.
1749
1750wxGTK wx.Button.SetLabel no longer invalidates/resets the font.
1751
1752wx.Sizer.AddWindow, AddSizer, AddSpacer and etc. have now been
1753undeprecated at the request of Riaan Booysen, the Boa Constructor team
1754lead. Boa needs them to help keep track of what kind of item is being
1755managed by the sizer. They are now just simple compatibility aliases
1756for Add, and etc.
1757
a0c70b76
RD
1758The old C++ version of the OGL lib is no longer built by default. Use
1759the Python version in the wx.lib.ogl package instead.
1760
1761The wx.iewin module is no longer built by default. You can use the
1762wx.lib.iewin version instead.
1763
67a5217c
RD
1764Fixed wx.BufferedPaintDC for scrolled windows to work whether the
1765buffer is covering only the client area or the full virtual area of
1766the scrolled window. By default it will assume that only the client
3ad32bab
RD
1767area is covered. This is different than the old behavior so to
1768indicate that the entire virtual area is covered simply add a
1769style=wx.BUFFER_VIRTUAL_AREA parameter.
67a5217c
RD
1770
1771wx.gizmos.TreeListCtrl: Add support for the EVT_TREE_ITEM_GETTOOLTIP
1ce1bd84 1772event.
2da0c077 1773
2314e5ec 1774Added Resize, SetRGBRect, Size, and GetOrFindMaskColour methods to
1ce1bd84 1775wx.Image.
2314e5ec
RD
1776
1777Added wx.Rect.IsEmpty
1778
7b625c31
RD
1779wxGTK:
1780 - Corrected wx.ListBox selection handling
1781 - Corrected default button size handling for different themes
1782 - Corrected splitter sash size and look for different themes
1783 - Fixed keyboard input for dead-keys
2314e5ec 1784
7aada1e0 1785
ca8071ca
RD
1786
1787
0dece789 17882.5.3.1
4f5ff1b2 1789-------
d2743bc0 1790* 9-Nov-2004
4f5ff1b2
RD
1791
1792wxMac focus and border refreshes corrected.
1793
1794Updated internal PNG library.
1795
1796wxMac fix for metal appearance on wx.ToolBar.
1797
1798wx.grid.Grid fix allowing DoGetBestSize to be called before CreateGrid
1799(which means that a min size doesn't need to be specified.)
1800
1801wxMac fix for not sending a native click to a control if it is not
1802enabled (does an enable itself)
1803
31b46829 1804Added wx.lib.ogl.DrawnShape, and fixed various little bugs in the new
1ce1bd84 1805OGL.
4f5ff1b2
RD
1806
1807Added support to XRC and XRCed for the 3-state checkbox flags and also
1808for wx.ToggleButton. Updated the generic window styles supported by
1ce1bd84 1809XRCed.
4f5ff1b2
RD
1810
1811It is now possible to create "stock" buttons. Basically this means
71e60f70
RD
1812that you only have to provide one of the stock IDs (and either an
1813empty label or a label that matches the stock label) when creating the
1814button and wxWidgets will choose the stock label to go with it
1815automatically. Additionally on the platforms that have a native
1816concept of a stock button (currently only GTK2) then the native stock
1817button will be used. For example, the following will result in a
e6bd0b8b
RD
1818button with "Cancel" as the label and if run on wxGTK2 then there will
1819also be an image of a red X::
4f5ff1b2 1820
1ce1bd84 1821 b = wx.Button(parent, wx.ID_CANCEL)
4f5ff1b2
RD
1822
1823
1824Added wx.lib.ticker.Ticker class from Chris Mellon.
1825
71e60f70
RD
1826Fix some incorrect clipping regions in wxSTC on wxGTK.
1827
1828Added wrapper for wx.grid.Grid.GetOrCreateCellAttr.
1829
11908acc
RD
1830Removed my copy of distutils from the wxPython source tree. Now that
1831I am no longer doing builds on Python 2.1 the newest distutils is no
1832longer needed. (There is still one small bug in Python 2.2 distutils
1833on win32, but it is easily worked around.) This sovles the problem of
1834incorrect builds on some systems where the system installed distutils
1835has been patched to behave slightly differently, for example SuSE on
1836x86_64 or Chandler's build.
1837
da72c540
RD
1838Updated to SWIG 1.3.22 (plus my patch.) See wxPython/SWIG/README.txt
1839in the source tree if you need to use SWIG when building your own copy
1840of wxPython, or other extension modules that need to integrate with
1841the wxPython modules.
1842
6afcb800
RD
1843Added wx.Frame.RequestUserAttention which, if the platform suports it,
1844will do something (such as flash the task bar item) to suggest to the
1845user that they should look at that window.
1846
31b46829
RD
1847"Fixed" wx.grid.Grid.SetDefaultEditor and SetDefaultRenderer by making
1848them register the editor or renderer for the "string" data type.
1849
1850Added depth param to wx.Image.ConvertToBitmap.
1851
1852Extended the wx.calendar.CalendarCtrl class with methods that get/set
1853a Python datetime or date object. (These will only work with Python
18542.3+) The methods are PySetDate, PyGetDate, PySetLowerDateLimit,
1855PySetUpperDateLimit, PySetDateRange, PyGetLowerDateLimit, and
5f13b2ca
RD
1856PyGetUpperDateLimit. Also, CalendarEvent was extended with PySetDate
1857and PyGetDate methods.
31b46829 1858
6c3f6fe9
RD
1859wxMSW: SetBackgroundColour on a wx.Choice or a wx.ComboBox will now
1860also set the colour of the dropdown.
1861
8dca2f3d
RD
1862wxMac: MessageDialog now supports wx.NO_DEFAULT style
1863
1864wxMSW: added AssociateHandle and DissociateHandle to wx.Window
1865
1866wxMac: fix for toolbar tooltips
1867
1868wx.Sizer.Show (and Hide) now take an optional parameter specifying if
1869the item to be shown should be searched for recursivly in subsizers,
1870and return a boolean value indicating if the item was found.
1871
96d49f0e
RD
1872wxMSW: fixed MaximizeEvent generation in wx.Frame
1873
1874wxMSW: fixed sending duplicate EVT_COMBOBOX events
1875
1876Smoother time estimation updates in wx.ProgressDialog (patch 992813)
1877
1878Made wx.Listbook events more consistent with wx.Notebook ones (patch
18791001271)
1880
1881Fixed rounding errors in variable status bar panes widths computation
1882(patch 1030021)
1883
1884Added possibility to specify printer bin (patch 910272)
1885
1886wxMSW: fixed wx.ListCtrl's SetWindowStyleFlag() to not remove
1887WS_VISIBLE; also refresh the control automatically (closes bug
18881019440)
1889
1890Added wx.Choicebook, yet another notebook-like control.
1891
1892wxMSW: Make radiobutton tab behaviour the same on MSW as in standard
1893MSW app, i.e. tab into the activated, not necessarily the first radio
1894button.
1895
1896Added limited support for wxEventLoop (you can't derive from a
1897wx.PyEventLoop version yet...) Updated and moved the sample showing
1898how to replace the MainLoop to samples/mainloop/mainloop.py.
8dca2f3d 1899
38b97c15
RD
1900The C++ xrc lib has been moved out of contrib and into the core, so it
1901is always built by default. wxPython's build has also changed
1902accordingly and will build the xrc module as part of the core set of
1903modules built by default. If you were axplicitly using BUILD_XRC then
1904it will no longer be recognized as a build option, otherwise you
1905should notice no difference.
1906
c0e1f6b6
RD
1907wxMac: Fixed radio toolbar buttons to correctly untoggle the others
1908when a new one is selected.
1909
1910wxMac: Fixed GetLineLength and GetLineText for MLTE text controls
1911
1912wxMac: wx.TaskBarIcon is implemented by allowing you to change the
1913app's icon on the Dock and also specifying a menu that should be
1914merged with the normal dock popup menu. See the MigrationGuide for
1915more details and a warning.
1916
1917Added wx.TopLevelWindow.IsActive() which tells you if the frame or
1918dialog is or containts the active window with the keyboard focus.
1919
1920Added ability to create a font based on pixel size rather than point
1921size via the FontFromPixelSize constructor.
1922
1923Updated the Scintilla used by StyledTextCtrl to version 1.61
1924
1925Improved image HitTest for TreeListCtrl.
1926
1927Added wx.App.IsMainLoopRunning.
1928
1929wxGTK: Make wxComboBox spit out a bit fewer surplus events when
1930holding down the mouse button.
1931
1932wxGTK: Enable key based navigation through notebook tabs as in the
1933native control with Left and right keys. Support for vetoing.
1934
f54a36bb
RD
1935FloatCanvas updates from Chris Barker
1936
1937PyPlot updates from Gordon Williams:
1938 - Added bar graph demo
1939 - Modified line end shape from round to square.
b31cbeb9
RD
1940 - Removed FloatDCWrapper for conversion to ints and ints in
1941 arguments
1942 - Imported modules given leading underscore to name.
1ce1bd84 1943 - Added Cursor Line Tracking and User Point Labels.
b31cbeb9
RD
1944 - Demo for Cursor Line Tracking and Point Labels.
1945 - Size of plot preview frame adjusted to show page better.
1946 - Added helper functions PositionUserToScreen and
1947 PositionScreenToUser in PlotCanvas.
1948 - Added functions GetClosestPoints (all curves) and GetClosestPoint
1949 (only closest curve) can be in either user coords or screen
1950 coords.
f54a36bb 1951
f54a36bb
RD
1952MaskedEdit updates from Will Sadkin:
1953 - Added '*' mask char that means "all ansii chars" (ords 32-255)
1954 - Added proper unicode support to masked controls and wx.tools.dbg
1955 - Fixed two reported missing import bugs introduced by package
1956 creation
1957 - Converted masked package doc strings to reST format for better
1958 epydoc support
1959 - lots of doc string improvements and function hiding to better
1960 reflect package's public contents.
1961
15513a80
RD
1962Restructured the installer packages slightly to help facilitate having
1963multiple versions of wxPython installed at the same time. See the
1964Migrarion Guide for more information.
1965
1966Applied patch from Pim Van Heuven that modifies 4 files:
1967 - wxPython/demo/ListCtrl_edit.py (new demo)
1968 - wxPython/demo/Main.py (include new demo in demo app)
1ce1bd84 1969 - wxPython/wx/lib/mixins/listctrl.py (several improvements to
15513a80
RD
1970 TextEditMixin)
1971 - wxPython/wx/lib/wxpTag.py (some small fixes)
38b97c15 1972
f6f1e19f
RD
1973Added (thanks to Kevin Ollivier!) wrappers for wx.WebKitCtrl for the
1974OSX build. Other platforms will raise an exception if you try to use
1ce1bd84 1975it.
f6f1e19f 1976
85245f48
RD
1977wxPython on OSX can now be built in Unicode mode, can support multiple
1978version installs, and comes with an uninstaller script.
1979
1980
4f5ff1b2
RD
1981
1982
3801d366
RD
1983
19842.5.2.8
1985-------
d2743bc0 1986* 27-Aug-2004
3801d366 1987
b5f2d1f3
RD
1988Predominantly a bug-fix release.
1989
1990 * Fixed fatal error due to improper wrapping of wx.FSFile.
1991
1992 * Fixed return type of EditableListBox.GetListCtrl
1993
1994 * Give generic tree and list controls a DoGetBestSize so they play
1995 nicer with sizers when there is no minimal size.
1996
1997 * Some tweaks in the demo and samples to correct layout, some
1998 flicker problems, and namespace use.
1999
2000 * Add wx.Image.ConvertAlphaToMask
2001
2002 * Minor corrections in wx.lib.dialogs
2003
2004 * wx.FileHistory constructor now accepts the documented 2nd
2005 parameter.
2006
2007 * Corrections for exceptions in the new ogl
2008
2009 * Fixed XRCed to not use reparenting of windows to implement caching
2010 of property panels, since Reparent on wxMac is not implemented.
2011
2012 * Add support for wxTAB_TRAVERSAL to the XRC handler for
1ce1bd84 2013 wxScrolledWindow.
b5f2d1f3
RD
2014
2015 * Add support for all wxListBox styles to the XRC handler for
1ce1bd84 2016 wxCheckListBox.
b5f2d1f3
RD
2017
2018 * Fix for wx.Listbook.DeleteAllPages to really delete everything.
2019
2020 * wxGTK2 now supports alpha blended bitmap drawing
2021
9c618512
RD
2022 * Made wx.grid.Grid play nicer with sizers.
2023
b5f2d1f3 2024 * etc.
3801d366
RD
2025
2026
2027
2028
e155ca47 20292.5.2.7
95fed4d8 2030-------
d2743bc0 2031* 14-Aug-2004
95fed4d8
RD
2032
2033wx.ADJUST_MINSIZE is now the default behaviour for window items in
ffcb969e
RD
2034sizers. This means that the item's GetMinSize and/or GetBestSize will
2035be called when calculating layout and the return value from that will
cb8f28ba
RD
2036be used for the minimum size used by the sizer. The wx.FIXED_MINSIZE
2037flag was added that will cause the sizer to use the old behaviour in
2038that it will *not* call the window's methods to determine the new best
2039size, instead the minsize that the window had when added to the sizer
da2c7672
RD
2040(or the size the window was created with) will always be used. Please
2041see the Sizers section in the Migration Guide for more details.
cb8f28ba 2042
c878ceea
RD
2043Added new MaskedEditControl code from Will Sadkin. The modules are
2044now locaed in their own sub-package, wx.lib.masked. Demos updated.
2045
d7403ad2
RD
2046The changes that implemented the incompatible wx.DC methods in 2.5.1.5
2047have been reverted. The wx.DC methods are now compatible with the 2.4
2048implemetation. In addition a set of renamed methods have been added
2049that take wx.Point and/or wx.Size objects instead of individual
1ce1bd84 2050parameters.
d7403ad2 2051
5841276a
RD
2052Added wx.lib.mixins.listctrl.TextEditMixin, a mixin class that allows
2053all columns of a wx.ListCtrl in report mode to be edited.
ba938c3d 2054
165e6ca3
RD
2055Deprecated the wx.iewin module.
2056
2057Deprecated the wx.Sizer.AddWindow, AddSizer, AddSpacer methods as well
2058as their Insert* and Prepend* counterparts.
2059
969d9b6f
RD
2060Added a generic StaticBitmap class in wx.lib.statbmp for the same
2061reasons that stattext was created, so it could be mouse sensitive on
2062all platforms like normal windows. Also updated stattext.py and
2063buttons.py to handle attribute (font & colour) defaults and
2064inheritance the new way. If you have custom controls of your own you
2065should review stattxt.py or one of the others to see how it is to be
2066done.
165e6ca3 2067
a3150741
RD
2068wx.InitAllImageHandlers is now an empty function that does nothing but
2069exist for backwards compatibility. The C++ version is now called
2070automatically when wxPython is initialized. Since all the handlers
2071are included in the wxWidgets shared library anyway, this imposes only
2072a very small amount of overhead and removes several unneccessary
2073problems.
2074
d1e05453 2075Replaced wx/lib/pubsub.py with a version that uses weak references to
89c876de
RD
2076track the subscribers, plus other fixes/additions. Thanks go to
2077Oliver Schoenborn and Robb Shecter.
d1e05453 2078
89c876de
RD
2079wxGTK now uses gtk_init_check so wxPython can raise an exception if
2080there is no DISPLAY available or other initializaion problem.
2081
2082wx.GetKeyState now has an implementation for wxGTK and is able to
2083detect the up/down or toggle state of modifier and toggle keys.
2084
2085The LC_NUMERIC locale is now reset back to "C" (compatibility) when
2086running on wxGTK to work around the fact that GTK requires the locale
2087to be set to the system settings but Python depends on LC_NUMERIC
2088remaining compatible with "C".
a3150741 2089
28eab81f
RD
2090Switched gizmos.TreeListCtrl to the newer version of the code from the
2091wxCode project.
2092
f847103a
RD
2093OGL is dead! LONG LIVE OGL! (Oops, sorry. A bit of my dramatic side
2094leaked out there...) The wx.ogl module has been deprecated in favor
2095of the new Python port of the OGL library located at wx.lib.ogl
2096