mirror of
https://github.com/wxWidgets/Phoenix.git
synced 2026-01-05 03:20:08 +01:00
180 lines
7.4 KiB
Plaintext
180 lines
7.4 KiB
Plaintext
|
|
[[ send to:
|
|
wxpython-users@googlegroups.com,
|
|
wxpython-dev@googlegroups.com,
|
|
wx-users@googlegroups.com,
|
|
wx-announce@googlegroups.com,
|
|
Python-Announce-List@Python.Org
|
|
]]
|
|
|
|
|
|
Announcing wxPython 4.0.0
|
|
=========================
|
|
|
|
PyPI: https://pypi.python.org/pypi/wxPython/4.0.0
|
|
Extras: https://extras.wxPython.org/wxPython4/extras/
|
|
Pip: ``pip install wxPython==4.0.0``
|
|
|
|
Changes in this release include the following:
|
|
|
|
* Fixes in wx.aui to properly transfer ownership of the menubar, and also some
|
|
tweaks in the AUI_MDI sample in the demo. (#540)
|
|
|
|
* Added a wx.BUILD_TYPE value to distinguish between development, snapshot,
|
|
and release builds. The value is also appended to wx.PlatformInfo. (Thanks
|
|
Mesalu!)
|
|
|
|
* Fix crash when trying to fetch multiple items from a composite data object
|
|
in wx.DropTarget.OnData. (#550) Also fixed the CustomDragAndDrop sample to
|
|
not fail on Python 2.7.
|
|
|
|
* Add ability for wxArray wrappers to return a copy of the item in the
|
|
``__getitem__`` method. This solves problems where an array that is the
|
|
return value of some method call is indexed immediately and a reference to
|
|
the array is not held, which could result in garbage values for the indexed
|
|
item. Currently this is turned on for just GridCellCoordsArray, but others
|
|
can be switched in the future if needed. (#297)
|
|
|
|
* Add missing ``wx.GetLocale`` function. (#572)
|
|
|
|
* Add methods to wx.TextCtrl for output "file-like" compatibility. (#578)
|
|
|
|
* Fix object ownership issue for menus added to toolbar items. (#580)
|
|
|
|
* Updated SIP to version 4.19.5. One of the new features of this version is
|
|
that integer overflows are no longer silently truncated and ignored. In
|
|
other words, if a wrapped API has a parameter that is a C int type, and you
|
|
pass a value that is larger than what will fit in that type of integer then
|
|
an OverflowError exception will be raised.
|
|
|
|
* Fixed wx.richtext.RichTextBuffer.GetExtWildcard to return a tuple of 2
|
|
values, as was done in Classic. (#594)
|
|
|
|
* Various fixes in UltimateListCtrl, HyperTreeList and CheckListCtrlMixin.
|
|
(#592, #349, #612)
|
|
|
|
* Fixes in TextEditMixin to ensure that the new value is passed in the
|
|
event. (#605)
|
|
|
|
* Fix comparing DataViewItem and TreeListItem objects with None. (#595)
|
|
|
|
* Fix event type name in wx/lib/sheet.py (#613)
|
|
|
|
* The wx.MessageDialog methods which take ButtonLabel parameters are now able
|
|
to accept either strings or stock IDs. (#607, #276)
|
|
|
|
* Fix wx.EvtHandler.Unbind to work correctly when specifying the handler and
|
|
it is a bound method. (#624)
|
|
|
|
* Fix OGL's ShapeCanvas to draw properly when the window is scrolled, and
|
|
to also adjust the mouse coordinates, etc. (#635)
|
|
|
|
* Set a default background color for the generic buttons. (#651)
|
|
|
|
* Fixed HtmlWindow's OnFoo virtual methods so calls to them are propagated to
|
|
the Python class. (#642)
|
|
|
|
* Fixed wx.CallLater to explicitly hold a reference instead of depending on an
|
|
uncollectable cycle to keep the instance around. Like before the cycle is
|
|
broken and the saved reference is deleted after the timer expires and the
|
|
callable has been called. (#457)
|
|
|
|
* Although it's more or less just an implementation detail, add wrappers for
|
|
wx.aui.AuiTabCtrl so references to it will get the correct type. (#664)
|
|
|
|
* List-like wrapper classes generated for accessing wxLists and wxArrays now
|
|
support reverse indexing. (#669) For example::
|
|
|
|
child = panel.GetChildren()[-1]
|
|
|
|
|
|
* Ported some of the classes in Classic's gizmos module from C++ to Python,
|
|
including LEDNumberCtrl, DynamicSashWindow, and TreeListCtrl. The classes
|
|
are now located in the wx.lib.gizmos package, with a compatibility module at
|
|
the old wx.gizmos location. Please note that this TreeListCtrl class is a
|
|
very different implementation than wx.dataview.TreeListCtrl, although there
|
|
is some overlap in purpose. In addition, the new TreeListCtrl class is not
|
|
actually a port from the old gizmos.TreeListCtrl but rather just a thin
|
|
layer around AGW's HyperTreeList. This means that if you are using a non-
|
|
default style flag you'll need to pass it to the agwStyle parameter instead
|
|
of the style parameter.
|
|
|
|
* Fix crash when deleting all wx.dataview.TreeListCtrl items with wxGTK3.
|
|
(#679, #704)
|
|
|
|
* Fix displaying '&' in the label of wx.RadioBox on GTK. (#39)
|
|
|
|
* Fix problems of the wrong C++ method being called in wx.ProgressDialog on MS
|
|
Windows. (#701)
|
|
|
|
* Fixed how the scrollbar events are captured in DynamicSashWindow in order to
|
|
fix regression in the sample. (#687)
|
|
|
|
* Allow extra CLI args to be passed to build.py by setting WXPYTHON_BUILD_ARGS
|
|
in the environment.
|
|
|
|
* Added context manager methods to wx.DC that explicitly destroys the C++
|
|
part of the DC upon exit. Using DCs as context managers is not required, but
|
|
can be handy in the rare cases where something holds on to a DC for too
|
|
long, perhaps unintentionally. (#680)
|
|
|
|
* Fixed crash due to too aggressive management of wxModules when we load
|
|
subordinate extensions that have their own wxModules (wx.html, wx.adv, etc.)
|
|
(#688)
|
|
|
|
* Fixed StyledTextCtrl.MarkerDefineRGBAImage and RegisterRGBAImage methods to
|
|
be able to accept any Python buffer compatible object for the pixel data. (#716)
|
|
|
|
|
|
|
|
|
|
|
|
What is wxPython?
|
|
-----------------
|
|
|
|
wxPython is a cross-platform GUI toolkit for the Python programming
|
|
language. It allows Python programmers to create programs with a
|
|
robust, highly functional graphical user interface, simply and
|
|
easily. It is implemented as a set of Python extension modules that
|
|
wrap the GUI components of the popular wxWidgets cross platform
|
|
library, which is written in C++. Supported platforms are Microsoft
|
|
Windows, Mac OS X and macOS, and Linux or other unix-like systems with
|
|
GTK2 or GTK3 libraries. In most cases the native widgets are used on
|
|
each platform to provide a 100% native look and feel for the
|
|
application.
|
|
|
|
|
|
What is wxPython Phoenix?
|
|
-------------------------
|
|
|
|
wxPython's Project Phoenix is a new from-the-ground-up implementation
|
|
of wxPython, created with the intent of making wxPython “better,
|
|
stronger, faster than he was before.” In other words, this new
|
|
implementation is focused on improving speed, maintainability and
|
|
extensibility of wxPython, as well as removing most of the cruft that
|
|
had accumulated over the long life of Classic wxPython.
|
|
|
|
The project has been in development off and on, mostly behind the
|
|
scenes, for many years. For the past few years automated snapshot
|
|
builds have been available for those adventurous enough to try it, and
|
|
many people eventually started using the snapshots in their projects,
|
|
even for production releases. While there are still some things on
|
|
the periphery that need to be completed, the core of the new wxPython
|
|
extension modules which wrap the wxWidgets code has been stable for a
|
|
long time now.
|
|
|
|
Due to some things being cleaned up, reorganized, simplified and
|
|
dehackified wxPython Phoenix is not completely backwards compatible
|
|
with wxPython Classic. This is intended. In general, however, the API
|
|
differences tend to be minor and some applications can use Phoenix
|
|
with slight, or even with no modifications. In some other cases the
|
|
correct way to do things was also available in Classic and it's only
|
|
the wrong way that has been removed from Phoenix. For more
|
|
information there is a Migration Guide document available at:
|
|
https://docs.wxpython.org/MigrationGuide.html
|
|
|
|
The new wxPython API reference documentation, including all
|
|
Python-specific additions and customizations, and docs for the wx.lib
|
|
package, is located at: https://docs.wxpython.org/
|
|
|