După trei ani de dezvoltare, a fost lansată versiunea 3.3.0 a kitului cross-platform wxWidgets, care permite crearea de interfețe grafice pentru Linux, Windows, macOS, sisteme UNIX-like și platforme mobile. Kitul este scris în C++ și este distribuit sub licența liberă wxWindows Library License, aprobată de Fundația OSS și de organizația OSI. Licența se bazează pe LGPL și permite stabilirea propriilor condiții pentru distribuirea lucrărilor derivate în formă binară.
Pe lângă suportul pentru C++, wxWidgets oferă legături pentru cele mai populare limbaje de programare, printre care se numără PHP, Python, Perl, Haskell și Ruby. Interfața în aplicațiile care folosesc wxWidgets are un aspect nativ pentru sistemul țintă, datorită utilizării API-urilor de sistem, nu prin imitarea interfeței grafice.
wxWidgets 3.3.0 este poziționată ca o ramură pentru dezvoltatori, în care se dezvoltă noi funcționalități pentru următoarea versiune stabilă 3.4.0. Totuși, ramura wxWidgets 3.3.0 este marcată ca fiind utilizabilă în proiectele de lucru — diferența față de ramurile stabile este că în versiunile intermediare ale ramurilor pentru dezvoltatori sunt permise modificări în ABI și API care încalcă compatibilitatea. Modificările care afectează compatibilitatea sunt izolate și, în general, ramura 3.3 este aproape complet compatibilă cu wxWidgets 3.2 la nivel de API.
Noutăți principale:
- A fost implementat un nou backend wxWebView bazat pe motorul Chromium, care permite integrarea funcțiilor pentru procesarea și afișarea conținutului web în aplicații.
- În clasa wxImage a fost adăugat suport pentru imagini în format WebP.
- În portul wxMSW, care oferă funcții și controale specifice Windows, a fost adăugat suport experimental pentru modul de întuneric, care funcționează începând cu Windows 10. Suportul pentru Windows XP și Vista a fost oprit. În mod implicit, este activat modul de ieșire cu dublă tamponare, ca în porturile wxGTK cu Wayland și wxOSX.
- În biblioteca wxAUI a fost implementată posibilitatea de a fixa poziția tab-urilor (pin) și de a crea tab-uri pe mai multe linii.
- A fost adăugat un variant al clasei wxWebRequest pentru procesarea cererilor în mod sincron (blocant).
- A fost adăugat API pentru procesarea de nivel scăzut a evenimentelor de la ecrane tactile și touchpad-uri.
- În clasa wxGrid au fost implementate mijloace pentru persoanele cu dizabilități.
- Pentru sistemele UNIX-like, au fost implementate evenimente wxEVT_POWER_XXX pentru monitorizarea stării consumului de energie.
- În portul wxGTK, dialogurile native pentru gestionarea fișierelor sunt acum utilizate acolo unde este posibil.
- În clasa wxTextCtrl, care formează elemente pentru afișarea și editarea textului, s-a implementat suportul pentru text cu formatare (RTF).
- A fost adăugat suport pentru animație și cursor pentru ecrane cu densitate mare de pixeli (high DPI).
- A fost adăugat suport pentru compilarea cu noile compilatoare gcc 15, clang 19 și Xcode 16.
- Pe sistemele UNIX-like, pentru plasarea fișierelor de configurație ale aplicațiilor a fost utilizat directorul ~/.config/appname.conf în loc de ~/.appname (încărcarea fișierelor de configurație existente a fost păstrată).
- Au fost eliminate porturile wxMotif și wxGTK1.
- A fost eliminată posibilitatea de a compila fără utilizarea Unicode (wxUSE_UNICODE=0).
Sursa: opennet.ro
