9 godina nakon izlaska grane 3.0, predstavljeno je prvo izdanje nove stabilne grane cross-platform toolkita wxWidgets 3.2.0, koje vam omogućava da kreirate grafička sučelja za Linux, Windows, macOS, UNIX i mobilne platforme. U poređenju sa granom 3.0, postoji niz nekompatibilnosti na nivou API-ja. Komplet alata je napisan na C++ i distribuira se pod besplatnom licencom wxWindows Library, odobrenom od strane Open Source Foundation i OSI organizacije. Licenca je zasnovana na LGPL-u i odlikuje se dozvolom da koristi sopstvene uslove za distribuciju izvedenih dela u binarnom obliku.
Pored razvoja programa na C++, wxWidgets pruža veze za najpopularnije programske jezike, uključujući PHP, Python, Perl i Ruby. Za razliku od drugih kompleta alata, wxWidgets pruža aplikaciji istinski izvorni izgled i osjećaj za ciljni sistem korištenjem sistemskih API-ja umjesto oponašanja GUI.
Glavne inovacije:
- Implementiran je novi eksperimentalni port za wxQt, koji omogućava wxWidgetima da rade na vrhu Qt okvira.
- WxGTK port pruža punu podršku za Wayland protokol.
- Dodata podrška za ekrane sa velikom gustinom piksela (High DPI). Dodata mogućnost dodjeljivanja različitih DPI-ja za različite monitore i dinamičke promjene DPI-ja. Predložen je novi wxBitmapBundle API, koji vam omogućava da manipulišete nekoliko verzija bitmap slike, predstavljene u različitim rezolucijama, kao jednu celinu.
- Predložen je novi sistem izgradnje baziran na CMake-u. Podrška za nove kompajlere (uključujući MSVS 2022, g++ 12 i clang 14) i operativne sisteme dodata je asemblerskom sistemu.
- Podrška za OpenGL je redizajnirana, korištenje novih OpenGL verzija (3.2+) je poboljšano.
- Dodata podrška za LZMA kompresiju i ZIP 64 datoteke.
- Zaštita u vremenu kompajliranja je poboljšana zahvaljujući mogućnosti onemogućavanja opasnih implicitnih konverzija između nizova tipa wxString i “char*”.
- Dodata podrška za događaje za kontrolne pokrete koji se reproduciraju pomoću miša.
- Klase wxFont i wxGraphicsContext sada imaju mogućnost specificiranja necjelobrojnih vrijednosti prilikom definiranja veličina fonta i širine olovke.
- Klasa wxStaticBox implementira mogućnost dodjeljivanja proizvoljnih oznaka prozorima.
- wxWebRequest API sada podržava HTTPS i HTTP/2.
- Klasa wxGrid je dodala podršku za zamrzavanje kolona i redova.
- Uvedene su nove klase: wxActivityIndicator, wxAddRemoveCtrl, wxAppProgressIndicator, wxBitmapBundle, wxNativeWindow, wxPersistentComboBox, wxPowerResourceBlocker, wxSecretStore, wxTempFFile i wxUILocale.
- Novi XRC rukovaoci su implementirani za sve nove klase i neke postojeće klase.
- Uvedene su nove metode: wxDataViewToggleRenderer::ShowAsRadio(), wxDateTime::GetWeekBasedYear(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(), wxHtmlEasyPrinting::SetPrompt:Oxet(SetPrompt:Oxet), wxHtmlEasyPrinting::SetPrompt:Oxet ListBox::Get TopItem (), wxProcess::Activate(), wxTextEntry::ForceUpper(), wxStandardPaths::GetUserDir(), wxToolbook::EnablePage(), wxUIActionSimulator::Select().
- Učinjena su značajna poboljšanja u klasama wxBusyInfo, wxDataViewCtrl, wxNotificationMessage, wxStaticBox, wxStyledTextCtrl i wxUIActionSimulator.
- Podrška za macOS platformu je poboljšana, uključujući mogućnost korištenja tamne teme i dodanu podršku za uređaje koji koriste ARM procesore.
- Napravljena su poboljšanja kako bi se podržao C++11 standard. Dodata podrška za izgradnju sa C++20 kompajlerima.
- Sve uključene biblioteke trećih strana su ažurirane. Dodata podrška za WebKit 2 i GStreamer 1.7.
izvor: opennet.ru