Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python.announce > #2752

Re: [wxPython-dev] wxPython 4.0.0 final

Path csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail
From Eric Fahlgren <ericfahlgren@gmail.com>
Newsgroups comp.lang.python.announce
Subject Re: [wxPython-dev] wxPython 4.0.0 final
Date Wed, 31 Jan 2018 17:45:01 -0800
Lines 197
Approved python-announce-list@python.org
Message-ID <mailman.149.1517458060.2816.python-announce-list@python.org> (permalink)
References <5A726F72.4040708@alldunn.com> <CAP2Qz+WL=0XOMUceSdNyZuzW9voxWOpXZEzDENRKHZb1TDOysw@mail.gmail.com>
Mime-Version 1.0
Content-Type text/plain; charset="UTF-8"
Content-Transfer-Encoding quoted-printable
X-Trace news.uni-berlin.de 0k5sSqDhs1zy6dYT08N4qA0OdV+SqtI5YFcYUbCrJz9g==
Return-Path <ericfahlgren@gmail.com>
X-Original-To Python-Announce-List@python.org
Delivered-To python-announce-list@mail.python.org
X-Spam-Status OK 0.000
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'python,': 0.02; 'url:pypi': 0.03; 'broken': 0.03; 'handler': 0.04; 'args': 0.05; 'required,': 0.05; 'fixes': 0.07; 'mouse': 0.07; 'truncated': 0.07; 'wrapped': 0.07; 'wrapper': 0.07; 'backwards': 0.09; 'called.': 0.09; 'exit.': 0.09; 'fetch': 0.09; 'garbage': 0.09; 'handy': 0.09; 'intended.': 0.09; 'none.': 0.09; 'parameter.': 0.09; 'pixel': 0.09; 'raised.': 0.09; 'regression': 0.09; 'simplified': 0.09; 'specifying': 0.09; 'tuple': 0.09; 'type,': 0.09; 'api': 0.12; 'cc:2**2': 0.13; 'jan': 0.13; 'needed.': 0.15; 'python': 0.15; '"file-like"': 0.16; 'c++.': 0.16; 'ids.': 0.16; 'libraries.': 0.16; 'menus': 0.16; 'overlap': 0.16; 'propagated': 0.16; 'robust,': 0.16; 'scrollbar': 0.16; 'subject:dev': 0.16; 'toolbar': 0.16; 'wrappers': 0.16; 'subject:: [': 0.16; 'exception': 0.17; 'wed,': 0.17; 'trying': 0.18; 'adjust': 0.20; 'comparing': 0.20; 'item.': 0.20; 'method.': 0.20; 'ownership': 0.20; 'package,': 0.20; 'properly': 0.20; 'purpose.': 0.20; 'skip:` 10': 0.20; 'switched': 0.20; 'changes': 0.21; 'gui': 0.21; 'fixed': 0.21; 'install': 0.22; 'extensions': 0.24; 'language.': 0.24; 'modules': 0.24; 'fix': 0.24; 'programming': 0.24; 'callable': 0.25; 'toolkit': 0.25; 'platforms': 0.25; 'missing': 0.25; 'url-ip:151.101.0.223/32': 0.26; 'url- ip:151.101.128.223/32': 0.26; 'url-ip:151.101.192.223/32': 0.26; 'url-ip:151.101.64.223/32': 0.26; 'wrote:': 0.26; 'url- ip:151.101.0/24': 0.26; 'url-ip:151.101.128/24': 0.26; 'url- ip:151.101.192/24': 0.26; 'url-ip:151.101.64/24': 0.26; 'fit': 0.26; 'load': 0.26; 'module': 0.26; 'context': 0.27; 'explicitly': 0.27; 'parameters': 0.27; 'values': 0.27; 'extension': 0.28; 'virtual': 0.28; 'header:In-Reply-To:1': 0.28; 'url-ip:173/8': 0.28; 'pass': 0.29; 'enough': 0.29; 'actually': 0.29; 'message- id:@mail.gmail.com': 0.29; 'written': 0.29; 'cc:addr:python.org': 0.29; 'compatible': 0.31; 'output': 0.31; 'too': 0.31; 'programmers': 0.31; 'function.': 0.31; 'instance': 0.31; 'items.': 0.31; 'projects,': 0.31; 'references': 0.31; 'stable': 0.31; 'tend': 0.31; 'event': 0.31; 'subject:] ': 0.31; 'located': 0.31; 'skip:- 10': 0.32; 'cc:addr:googlegroups.com': 0.32; 'crash': 0.32; 'migration': 0.32; 'parameter': 0.32; 'skip:= 20': 0.32; 'values,': 0.32; 'at:': 0.33; 'received:google.com': 0.33; 'supported': 0.33; "you'll": 0.67; 'life': 0.68; 'automated': 0.68; 'ensure': 0.68; '100%': 0.69; 'layer': 0.70; 'reverse': 0.70; 'robin': 0.70; 'transfer': 0.70; 'continued': 0.71; 'url:4': 0.76; 'unsubscribe': 0.76; '2.7.': 0.84; 'distinguish': 0.84; 'graphical': 0.84; 'growing.': 0.84; 'phoenix': 0.84; 'snapshot': 0.84; 'snapshots': 0.84; 'timer': 0.84; 'url- ip:173.212.231.191/32': 0.84; 'url-ip:173.212.231/24': 0.84; 'url- ip:173.212/16': 0.84; 'url:optout': 0.84; 'url:wxpython': 0.84; 'wxpython.': 0.84; 'composite': 0.91; 'expires': 0.91; 'releases.': 0.91
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=u9ryvaeTwPE2bXjEkx0bCA6bCHbGutAgqLp3Z66KsmM=; b=FqEVZP8GOX6LYTTMYFCvu92we7w1Dg/tr0h5j8T2Px5r54urS8IDl73oaQ8mtDLrh9 1zT+KChRlTr2lD7f1bhP1JYPrvgWIeyEmGf05fJKBAzrHNu/6tSEIBxymi00ZK+TIBzM oJMtKnsnf+kJy6ESYv66lMok0LlX8XRqFDvB/ImKJcGyTx+IUCyVhyuxoftqmROsoaWz 2eF7tDda49xf8RUU0USmP5s+z1FKoxldGjiJhsCHEIAK0KYG7jzB4zo4Up6rNz82JHWn Xr1P3x87SwyAHEcDRsx/k3o2xzCBu+TPQyFNI2aZrrLIj9c1DA6647t/T3y97bwNm485 vt7Q==
X-Google-DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=u9ryvaeTwPE2bXjEkx0bCA6bCHbGutAgqLp3Z66KsmM=; b=pG3jwJUc9g+Ia2kIaHaxPnDqGWzLFUhE178gxYulfaQlyr8EeyXUTkZa5pwchEnlzR OXX9sR9fb1j/DgZBlvGg4wLkhSNbHpUyde2bxhJ9KQQSrYyb+p/KSx3Ft6E+cUnJl4VB WAYmdyUijswJlhTXjC7QQ8bplqUyYfl0o5H3dPcJFV5SYr6O33148/y9iXHkynwwhsYg zc2NUEOgZHE3MqNP+Qb9Vv/SJDbxCwsBCBWtSOLcKn2svVKJFSCiPC13Moxo6MXVo2Dt WeL/MF29P+OHq5Jm1Zul1WlNrcIke/KxCQZX5l6MxGJIm8i3ouEeRCYRRgy2cYKP7rpy ZXnA==
X-Gm-Message-State AKwxytdKLhfonU21owKxf24TErnGfXmqbaxJecUW1GSz5R1Oqegll2Rn roOh3RPV35Hvg+9Eoc5mZ2IkPor1FApGIsKEF34=
X-Google-Smtp-Source AH8x227WxGqr9if3yxsKBscsNxXTgfgX8nnshQFN4SVa7sz1MW4mveS29o5h+WuWMSnlCkE8u978+CPlb37isM40uh0=
X-Received by 10.36.7.83 with SMTP id f80mr5353766itf.75.1517449502374; Wed, 31 Jan 2018 17:45:02 -0800 (PST)
In-Reply-To <5A726F72.4040708@alldunn.com>
X-Mailman-Approved-At Wed, 31 Jan 2018 23:07:38 -0500
X-Content-Filtered-By Mailman/MimeDel 2.1.25
X-BeenThere python-announce-list@python.org
X-Mailman-Version 2.1.25
Precedence list
List-Id Announcement-only list for the Python programming language <python-announce-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-announce-list>, <mailto:python-announce-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-announce-list/>
List-Post <mailto:python-announce-list@python.org>
List-Help <mailto:python-announce-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-announce-list>, <mailto:python-announce-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID <CAP2Qz+WL=0XOMUceSdNyZuzW9voxWOpXZEzDENRKHZb1TDOysw@mail.gmail.com>
X-Mailman-Original-References <5A726F72.4040708@alldunn.com>
Xref csiph.com comp.lang.python.announce:2752

Show key headers only | View raw


Excellent work, Robin (and other committers)!  Thanks for all your
continued efforts to keep wxPython alive and growing.

On Wed, Jan 31, 2018 at 5:37 PM, Robin Dunn <robin@alldunn.com> wrote:

>
> 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/
>
>
> --
> Robin Dunn
> Software Craftsman
> http://wxPython.org
>
> --
> You received this message because you are subscribed to the Google Groups
> "wxPython-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to wxPython-dev+unsubscribe@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

Back to comp.lang.python.announce | Previous | Next | Find similar | Unroll thread


Thread

Re: [wxPython-dev] wxPython 4.0.0 final Eric Fahlgren <ericfahlgren@gmail.com> - 2018-01-31 17:45 -0800

csiph-web