Re: wxPython 4.2.0

Godson Gera <[email protected]> Fri, 23 Sep 2022 18:25:41 +0530
Newsgroups gmane.comp.python.wxpython,gmane.comp.lib.wxwindows.general
Message-ID <CAPTXd0r3y7YwPR=++nwMQUw5dq-9raiVGHH0yONVVNrprvZXqQ@mail.gmail.com>
--000000000000adab1105e957b262
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Thank you for the new release. =F0=9F=99=8F

On Tue, Aug 9, 2022 at 3:44 AM Robin Dunn <[email protected]> wrote:

>
> Announcing wxPython 4.2.0
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D
>
> PyPI:   https://pypi.python.org/pypi/wxPython/4.2.0
> Extras: https://extras.wxPython.org/wxPython4/extras/
> Pip:    ``pip install wxPython=3D=3D4.2.0``
>
> * Yes, it's been a VERY long time since the last release. I'm not
>    dead, just on an extended break. It took me a while to get up to
>    speed on a new day job, and then there was a seemingly perpetual
>    crunch-mode to get the product through a couple release cycles. I
>    can't say that things are fully back to normal yet, but at least I
>    now know what I'm doing. Mostly. <wink>
>
> * This release is built using the wxWidgets' 3.2.0 release tag.
>
> * Tweaked the build scripts a bit to ensure that on non-Windows
>    platforms that the compiler and flags used by default match those
>    used by wxWidgets, (with the flags needed by Python added on.) The
>    compiler commands can be overridden by setting CC and CXX in the
>    environment if needed. (#1247)
>
> * On Windows the build code that locates and sets up the environment
>    for the MSVC compiler no longer relies on distutils code, but is now
>    using more modern code in setuptools instead. This enables much more
>    compiler flexibility and wxPython should now be buildable with
>    Visual Studio versions from 2015 through 2022+.
>
> * Switched to SIP 6 for generating the wrapper code. Rather than a
>    standalone executable, SIP is now a Python package that needs to be
>    installed in the Python environment used for the build. A dependency
>    has been added to requirements/devel.txt to help ensure that the
>    correct version is installed.  The wx.siplib module code is no
>    longer kept in the repository, but is generated during the build.
>
> * Changed wx.App.InitLocale to just do
>    `locale.setlocale(locale.LC_ALL, "C")` to undo what Python (3.8+ on
>    Windows) does. This lets wxWidgets start with an uninitialized
>    locale as it expects. (#1637)
>
> * Fixed issues related to `time_t` always being treated as a 32-bit
>    value on Windows. (#1910)
>
> * Added wx.FullScreenEvent and wx.EVT_FULLSCREEN.
>
> * The legacy, OSX-Only wx.webkit module has been removed.
>
> * Fix building wxPython with Python 3.10 on Windows (#2016)
>
> * Fix PyProgress on Windows by avoiding invalid sizer flags (#1985)
>
> * Fix 'More Grid Features' in demo
>
> * Many of the widgets which deal with bitmaps have been changed to use
>    a wx.BitmapBundle object instead of wx.Bitmap. This is the mechanism
>    which wxWidgets has implemented for adapting to things like Hi-DPI
>    displays.  Essentially you can load a list of bitmaps of different
>    sizes (but similar or scaled content) into a wx.BitmapBundle, and
>    the widget can choose one based on the display density. Existing
>    code should be able to continue to pass a wx.Bitmap to the widget
>    constructor or to methods like SetBitmap, as wxPython will
>    automatically convert from a wx.Bitmap to a wx.BitmapBundle
>    containing the single image provided.
>
> * Add support for new wx.grid event, EVT_GRID_ROW_MOVE
>
> * Fix path issues in wx.lib.agw.multidirdialog (#2120)
>
> * Fix eventwatcher checkAll(check=3DFalse) (#2139)
>
> * Fix exception on grid labels click in 4.1.1a (#1841)
>
> * Fix a large number of Python 3.10 issues.  In Python 3.10, a change
>    was implemented where extension functions that take integer
>    arguments will no longer silently accept non-integer arguments
>    (e.g., floats) that can only be converted to integers with a loss of
>    precision.  Fixed most of these issues in the pure-Python classes
>    and demos by explicitly converting the parameters to int before
>    passing them to wxWidgets.  There is loss of precision, but this was
>    happening before (automatically) anyway as most wxWidgets
>    DeviceContext functions operate using integers.
>
> * Fix PlotCanvas point label drawing on Linux
>
> * Fix GetPopupMenu override for wx.adv.TaskbarIcon (#2067)
>
> * Fix invisible text in lib.plot with dark theme
>
> * Add new button type: ShowHideToggleButton.  Like a ToggleButton, but
>    with an associated "menu", a Window or Sizer which is shown/hidden
>    when button is toggled. Includes methods for setting active and
>    inactive fore/background colours.
>
> * Fix unbinding of events in FIFO order (#2027)
>
> * Enable customization of layout of pdfviewer button panel
>
> * Support newer PyMuPDF versions (#2205)
>
> * IntCtrl: Change default colour to wx.NullColour so the default
>    color will be used. (#2215)
>
> * Change PopupControl to respect all the parameters passed to its
>    init method (#2218)
>
> * Fixes in flatmenu.py Remove and DestroyItem (#2219)
>
> * Using the MinGW toolchain to build wxPython has been simplified
>    a bit. (#2211)
>
>
>
>
> 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 =E2=80=9Cbetter,
> stronger, faster than he was before.=E2=80=9D 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/
>
> --
> You received this message because you are subscribed to the Google Groups
> "wxPython-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/wxpython-users/6ef8ed34-7c8e-7d14-04c9-=
b3df48c08a95%40alldunn.com
> .
>
--=20
--
Thanks & Regards,
Godson Gera

--=20
You received this message because you are subscribed to the Google Groups "=
wxPython-users" group.
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to [email protected].
To view this discussion on the web visit https://groups.google.com/d/msgid/=
wxpython-users/CAPTXd0r3y7YwPR%3D%2B%2BnwMQUw5dq-9raiVGHH0yONVVNrprvZXqQ%40=
mail.gmail.com.

--000000000000adab1105e957b262
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto">Thank you for the new release. =F0=9F=99=8F</div><div><br=
><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Tue, A=
ug 9, 2022 at 3:44 AM Robin Dunn &lt;<a href=3D"mailto:[email protected]">r=
[email protected]</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" =
style=3D"margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:s=
olid;padding-left:1ex;border-left-color:rgb(204,204,204)"><br>
Announcing wxPython 4.2.0<br>
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
<br>
<br>
PyPI:=C2=A0 =C2=A0<a href=3D"https://pypi.python.org/pypi/wxPython/4.2.0" r=
el=3D"noreferrer" target=3D"_blank">https://pypi.python.org/pypi/wxPython/4=
.2.0</a><br>
Extras: <a href=3D"https://extras.wxPython.org/wxPython4/extras/" rel=3D"no=
referrer" target=3D"_blank">https://extras.wxPython.org/wxPython4/extras/</=
a><br>
Pip:=C2=A0 =C2=A0 ``pip install wxPython=3D=3D4.2.0``<br>
<br>
* Yes, it&#39;s been a VERY long time since the last release. I&#39;m not<b=
r>
=C2=A0 =C2=A0dead, just on an extended break. It took me a while to get up =
to<br>
=C2=A0 =C2=A0speed on a new day job, and then there was a seemingly perpetu=
al<br>
=C2=A0 =C2=A0crunch-mode to get the product through a couple release cycles=
. I<br>
=C2=A0 =C2=A0can&#39;t say that things are fully back to normal yet, but at=
 least I<br>
=C2=A0 =C2=A0now know what I&#39;m doing. Mostly. &lt;wink&gt;<br>
<br>
* This release is built using the wxWidgets&#39; 3.2.0 release tag.<br>
<br>
* Tweaked the build scripts a bit to ensure that on non-Windows<br>
=C2=A0 =C2=A0platforms that the compiler and flags used by default match th=
ose<br>
=C2=A0 =C2=A0used by wxWidgets, (with the flags needed by Python added on.)=
 The<br>
=C2=A0 =C2=A0compiler commands can be overridden by setting CC and CXX in t=
he<br>
=C2=A0 =C2=A0environment if needed. (#1247)<br>
<br>
* On Windows the build code that locates and sets up the environment<br>
=C2=A0 =C2=A0for the MSVC compiler no longer relies on distutils code, but =
is now<br>
=C2=A0 =C2=A0using more modern code in setuptools instead. This enables muc=
h more<br>
=C2=A0 =C2=A0compiler flexibility and wxPython should now be buildable with=
<br>
=C2=A0 =C2=A0Visual Studio versions from 2015 through 2022+.<br>
<br>
* Switched to SIP 6 for generating the wrapper code. Rather than a<br>
=C2=A0 =C2=A0standalone executable, SIP is now a Python package that needs =
to be<br>
=C2=A0 =C2=A0installed in the Python environment used for the build. A depe=
ndency<br>
=C2=A0 =C2=A0has been added to requirements/devel.txt to help ensure that t=
he<br>
=C2=A0 =C2=A0correct version is installed.=C2=A0 The wx.siplib module code =
is no<br>
=C2=A0 =C2=A0longer kept in the repository, but is generated during the bui=
ld.<br>
<br>
* Changed wx.App.InitLocale to just do<br>
=C2=A0 =C2=A0`locale.setlocale(locale.LC_ALL, &quot;C&quot;)` to undo what =
Python (3.8+ on<br>
=C2=A0 =C2=A0Windows) does. This lets wxWidgets start with an uninitialized=
<br>
=C2=A0 =C2=A0locale as it expects. (#1637)<br>
<br>
* Fixed issues related to `time_t` always being treated as a 32-bit<br>
=C2=A0 =C2=A0value on Windows. (#1910)<br>
<br>
* Added wx.FullScreenEvent and wx.EVT_FULLSCREEN.<br>
<br>
* The legacy, OSX-Only wx.webkit module has been removed.<br>
<br>
* Fix building wxPython with Python 3.10 on Windows (#2016)<br>
<br>
* Fix PyProgress on Windows by avoiding invalid sizer flags (#1985)<br>
<br>
* Fix &#39;More Grid Features&#39; in demo<br>
<br>
* Many of the widgets which deal with bitmaps have been changed to use<br>
=C2=A0 =C2=A0a wx.BitmapBundle object instead of wx.Bitmap. This is the mec=
hanism<br>
=C2=A0 =C2=A0which wxWidgets has implemented for adapting to things like Hi=
-DPI<br>
=C2=A0 =C2=A0displays.=C2=A0 Essentially you can load a list of bitmaps of =
different<br>
=C2=A0 =C2=A0sizes (but similar or scaled content) into a wx.BitmapBundle, =
and<br>
=C2=A0 =C2=A0the widget can choose one based on the display density. Existi=
ng<br>
=C2=A0 =C2=A0code should be able to continue to pass a wx.Bitmap to the wid=
get<br>
=C2=A0 =C2=A0constructor or to methods like SetBitmap, as wxPython will<br>
=C2=A0 =C2=A0automatically convert from a wx.Bitmap to a wx.BitmapBundle<br=
>
=C2=A0 =C2=A0containing the single image provided.<br>
<br>
* Add support for new wx.grid event, EVT_GRID_ROW_MOVE<br>
<br>
* Fix path issues in wx.lib.agw.multidirdialog (#2120)<br>
<br>
* Fix eventwatcher checkAll(check=3DFalse) (#2139)<br>
<br>
* Fix exception on grid labels click in 4.1.1a (#1841)<br>
<br>
* Fix a large number of Python 3.10 issues.=C2=A0 In Python 3.10, a change<=
br>
=C2=A0 =C2=A0was implemented where extension functions that take integer<br=
>
=C2=A0 =C2=A0arguments will no longer silently accept non-integer arguments=
<br>
=C2=A0 =C2=A0(e.g., floats) that can only be converted to integers with a l=
oss of<br>
=C2=A0 =C2=A0precision.=C2=A0 Fixed most of these issues in the pure-Python=
 classes<br>
=C2=A0 =C2=A0and demos by explicitly converting the parameters to int befor=
e<br>
=C2=A0 =C2=A0passing them to wxWidgets.=C2=A0 There is loss of precision, b=
ut this was<br>
=C2=A0 =C2=A0happening before (automatically) anyway as most wxWidgets<br>
=C2=A0 =C2=A0DeviceContext functions operate using integers.<br>
<br>
* Fix PlotCanvas point label drawing on Linux<br>
<br>
* Fix GetPopupMenu override for wx.adv.TaskbarIcon (#2067)<br>
<br>
* Fix invisible text in lib.plot with dark theme<br>
<br>
* Add new button type: ShowHideToggleButton.=C2=A0 Like a ToggleButton, but=
<br>
=C2=A0 =C2=A0with an associated &quot;menu&quot;, a Window or Sizer which i=
s shown/hidden<br>
=C2=A0 =C2=A0when button is toggled. Includes methods for setting active an=
d<br>
=C2=A0 =C2=A0inactive fore/background colours.<br>
<br>
* Fix unbinding of events in FIFO order (#2027)<br>
<br>
* Enable customization of layout of pdfviewer button panel<br>
<br>
* Support newer PyMuPDF versions (#2205)<br>
<br>
* IntCtrl: Change default colour to wx.NullColour so the default<br>
=C2=A0 =C2=A0color will be used. (#2215)<br>
<br>
* Change PopupControl to respect all the parameters passed to its<br>
=C2=A0 =C2=A0init method (#2218)<br>
<br>
* Fixes in flatmenu.py Remove and DestroyItem (#2219)<br>
<br>
* Using the MinGW toolchain to build wxPython has been simplified<br>
=C2=A0 =C2=A0a bit. (#2211)<br>
<br>
<br>
<br>
<br>
What is wxPython?<br>
-----------------<br>
<br>
wxPython is a cross-platform GUI toolkit for the Python programming<br>
language.=C2=A0 It allows Python programmers to create programs with a<br>
robust, highly functional graphical user interface, simply and<br>
easily. It is implemented as a set of Python extension modules that<br>
wrap the GUI components of the popular wxWidgets cross platform<br>
library, which is written in C++. Supported platforms are Microsoft<br>
Windows, Mac OS X and macOS, and Linux or other unix-like systems with<br>
GTK2 or GTK3 libraries. In most cases the native widgets are used on<br>
each platform to provide a 100% native look and feel for the<br>
application.<br>
<br>
<br>
What is wxPython Phoenix?<br>
-------------------------<br>
<br>
wxPython&#39;s Project Phoenix is a new from-the-ground-up implementation<b=
r>
of wxPython, created with the intent of making wxPython =E2=80=9Cbetter,<br=
>
stronger, faster than he was before.=E2=80=9D In other words, this new<br>
implementation is focused on improving speed, maintainability and<br>
extensibility of wxPython, as well as removing most of the cruft that<br>
had accumulated over the long life of Classic wxPython.<br>
<br>
The project has been in development off and on, mostly behind the<br>
scenes, for many years. For the past few years automated snapshot<br>
builds have been available for those adventurous enough to try it, and<br>
many people eventually started using the snapshots in their projects,<br>
even for production releases.=C2=A0 While there are still some things on<br=
>
the periphery that need to be completed, the core of the new wxPython<br>
extension modules which wrap the wxWidgets code has been stable for a<br>
long time now.<br>
<br>
Due to some things being cleaned up, reorganized, simplified and<br>
dehackified wxPython Phoenix is not completely backwards compatible<br>
with wxPython Classic.=C2=A0 This is intended. In general, however, the API=
<br>
differences tend to be minor and some applications can use Phoenix<br>
with slight, or even with no modifications.=C2=A0 In some other cases the<b=
r>
correct way to do things was also available in Classic and it&#39;s only<br=
>
the wrong way that has been removed from Phoenix.=C2=A0 For more<br>
information there is a Migration Guide document available at:<br>
<a href=3D"https://docs.wxpython.org/MigrationGuide.html" rel=3D"noreferrer=
" target=3D"_blank">https://docs.wxpython.org/MigrationGuide.html</a><br>
<br>
The new wxPython API reference documentation, including all<br>
Python-specific additions and customizations, and docs for the wx.lib<br>
package, is located at: <a href=3D"https://docs.wxpython.org/" rel=3D"noref=
errer" target=3D"_blank">https://docs.wxpython.org/</a><br>
<br>
-- <br>
You received this message because you are subscribed to the Google Groups &=
quot;wxPython-users&quot; group.<br>
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:wxpython-users%[email protected]" ta=
rget=3D"_blank">[email protected]</a>.<br>
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/d/msgid/wxpython-users/6ef8ed34-7c8e-7d14-04c9-b3df48c08a95%40alldunn.co=
m" rel=3D"noreferrer" target=3D"_blank">https://groups.google.com/d/msgid/w=
xpython-users/6ef8ed34-7c8e-7d14-04c9-b3df48c08a95%40alldunn.com</a>.<br>
</blockquote></div></div>-- <br><div dir=3D"ltr" class=3D"gmail_signature" =
data-smartmail=3D"gmail_signature"><div dir=3D"ltr"><div><font size=3D"2">-=
-</font></div><div><font size=3D"2">Thanks &amp; Regards,<br>Godson Gera</f=
ont><br></div></div></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;wxPython-users&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:[email protected]">wxpy=
[email protected]</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/d/msgid/wxpython-users/CAPTXd0r3y7YwPR%3D%2B%2BnwMQUw5dq-9raiVGHH0yONVVN=
rprvZXqQ%40mail.gmail.com?utm_medium=3Demail&utm_source=3Dfooter">https://g=
roups.google.com/d/msgid/wxpython-users/CAPTXd0r3y7YwPR%3D%2B%2BnwMQUw5dq-9=
raiVGHH0yONVVNrprvZXqQ%40mail.gmail.com</a>.<br />

--000000000000adab1105e957b262--