Kilenc évvel a 3.0-ás ág megjelenését követően bemutatásra került az első stabil verzió a wxWidgets 3.2.0 hordozható toolkitből, amely lehetővé teszi grafikus felhasználói felületek készítését Linux, Windows, macOS, UNIX és mobil platformok számára. A 3.0-hoz képest számos API szintű inkompatibilitás figyelhető meg. A toolkit C++ nyelven készült és a wxWindows Library License szabad licenc alapján terjeszthető, amit a Free Software Foundation és az OSI szervezet hagyott jóvá. A licenc az LGPL alapjaira épül, és lehetővé teszi saját terjesztési feltételek alkalmazását a származékos munkák bináris formájú terjesztéséhez.
A C++ programok fejlesztése mellett a wxWidgets kötődéseket biztosít a legnépszerűbb programozási nyelvekhez, köztük PHP, Python, Perl és Ruby nyelvekhez. Más toolkittel ellentétben a wxWidgets valóban natív megjelenést és interakciós módszereket biztosít az alkalmazások számára a célplatformon, a rendszerspecifikus API-k használatának köszönhetően, nem pedig a GUI imitálására.
Főbb újítások:
- Megvalósításra került egy új kísérleti wxQt port, amely lehetővé teszi, hogy a wxWidgets a Qt keretrendszer felett működjön.
- A wxGTK portban teljes mértékben támogatottá vált a Wayland protokoll.
- Hozzáadódott a magas pixel sűrűségű képernyők (High DPI) támogatása. Lehetővé vált különböző DPI értékek rendelése különböző monitorokhoz, valamint a DPI dinamikus módosítása. Javaslatot tettek egy új API-ra, a wxBitmapBundle-ra, amely lehetővé teszi több változat egy lépésben történő manipulálását, különböző felbontású raszteres képek formájában.
- Új CMake alapú build rendszer került javaslatra. A build rendszerbe új fordítóprogramok (beleértve az MSVS 2022-t, g++ 12-t és clang 14-et) és operációs rendszerek támogatása került.
- Az OpenGL támogatását átdolgozták, a legújabb OpenGL verziók (3.2+) használatát pedig javították.
- Hozzáadódott az LZMA tömörítés és a ZIP 64 fájlok támogatása.
- Erősítették a fordítási biztonságot, lehetővé téve a veszélyes implicit konverziók letiltását a wxString és a 'char*' típusú karakterláncok között.
- Hozzáadódott az események támogatása a vezérlőgesztusok számára, amelyeket egérrel lehet végrehajtani.
- A wxFont és wxGraphicsContext osztályokhoz lehetőség került hozzáadásra, hogy nem egész számú értékeket adjanak meg a betűméret és a fény toll szélessége definiálásakor.
- A wxStaticBox osztályban lehetőség nyílt tetszőleges címkék hozzárendelésére az ablakokhoz.
- A wxWebRequest API-hoz hozzáadódott a HTTPS és HTTP/2 támogatása.
- A wxGrid osztályban hozzáadva a oszlopok és sorok rögzítésének támogatása.
- Új osztályok lettek bemutatva: wxActivityIndicator, wxAddRemoveCtrl, wxAppProgressIndicator, wxBitmapBundle, wxNativeWindow, wxPersistentComboBox, wxPowerResourceBlocker, wxSecretStore, wxTempFFile és wxUILocale.
- Minden új és néhány meglévő osztályhoz új XRC kezelők kerültek megvalósításra.
- Új metódusok lettek bemutatva: wxDataViewToggleRenderer::ShowAsRadio(), wxDateTime::GetWeekBasedYear(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(), wxHtmlEasyPrinting::SetPromptMode(), wxJoystickEvent::GetButtonOrdinal(), wxListBox::GetTopItem(), wxProcess::Activate(), wxTextEntry::ForceUpper(), wxStandardPaths::GetUserDir(), wxToolbook::EnablePage(), wxUIActionSimulator::Select().
- Jelentős fejlesztések történtek a wxBusyInfo, wxDataViewCtrl, wxNotificationMessage, wxStaticBox, wxStyledTextCtrl és wxUIActionSimulator osztályokban.
- Javult a macOS platform támogatása, beleértve a sötét téma használatát és az ARM processzorokat támogató eszközök támogatását.
- Fejlesztések történtek a C++11 szabvány támogatásával kapcsolatban. Hozzáadtuk a C++20 fordítók által történő fordítás támogatását.
- Frissítettük az összes harmadik féltől származó könyvtárat. Hozzáadva a WebKit 2 és a GStreamer 1.7 támogatását.
Forrás: opennet.ru
