PĂ€rast 9 aastat alates versiooni 3.0 vĂ€ljalaskmisest on vĂ€lja antud esimene uus stabiilne versioon platvormidevahelisest tööriistakomplektist wxWidgets 3.2.0, mis vĂ”imaldab luua graafilisi kasutajaliideseid Linuxi, Windowsi, macOSi, UNIXi ja mobiilsete platvormide jaoks. VĂ”rreldes versiooniga 3.0 on API-tasandil mitmeid ĂŒhilduvuse probleeme. Tööriistakomplekt on kirjutatud C++ keeles ja levitatakse vabale litsentsile wxWindows Library License, mille on heaks kiitnud Open Source Initiative ja OSI organisatsioon. Litsents pĂ”hineb LGPL-l ja vĂ”imaldab kasutada oma tingimusi tuletatud tööde levitamiseks binaarses vormis.
Lisaks C++ keeles programmide arendamisele pakub wxWidgets sidemeid enamike populaarsete programmeerimiskeelte jaoks, sealhulgas PHP, Python, Perl ja Ruby. Erinevalt teistest tööriistakomplektidest, annab wxWidgets rakendusele tĂ”eliselt kohandatud vĂ€limuse ja kasutusviisi sihtsĂŒsteemi jaoks, tĂ€nu sĂŒsteemi API-de kasutamisele, mitte GUI simulatsioonile.
PÔhilised uuendused:
- On ellu viidud uus eksperimentaalne wxQt port, mis vÔimaldab wxWidgets toimimist Qt raamistikul.
- wxGTK porti on lisatud tÀielik tugi Waylandi protokollile.
- Lisatud tugi kĂ”rge eraldusvĂ”imega ekraanidele (High DPI). Lisatud vĂ”imalus mÀÀrata erinevad DPI erinevatele monitoridele ja dĂŒnaamiliselt muuta DPI-d. Pakutud uus API wxBitmapBundle, mis vĂ”imaldab manipuleerida mitme rasterpildi variandiga, mis on esitatud erinevates eraldusvĂ”imetes, kui ĂŒhte tervikut.
- Pakutud uus ehitussĂŒsteem CMake'i pĂ”hjal. EhitussĂŒsteemi on lisatud tugi uutele kompilaatoritele (sealhulgas MSVS 2022, g++ 12 ja clang 14) ja operatsioonisĂŒsteemidele.
- Uuendatud OpenGL tuge, parendatud uute OpenGL versioonide (3.2+) kasutamist.
- Lisatud LZMA kompressiooni ja ZIP 64 failide tugi.
- Tugevdatud kaitset kompileerimise etapis, vĂ”imaldades keelata ohtlikud varjatud konversioonid wxString ja "char*" tĂŒĂŒpide vahel.
- Lisatud sĂŒndmuste tugi juhtige geste, mis on esitatud hiire abil.
- Klassides wxFont ja wxGraphicsContext on lisatud vÔimalus mÀÀrata mitte-kohandatud vÀÀrtusi fontide suuruse ja valgusvihu laius mÀÀramisel.
- Klassis wxStaticBox on rakendatud vÔimalus mÀÀrata akendele suvalised sildid.
- API-s wxWebRequest on lisatud tugi HTTPS ja HTTP/2-le.
- wxGrid klassis on nĂŒĂŒd toetatud veergude ja ridade kĂŒlmutamine.
- Esitatud on uued klassid: wxActivityIndicator, wxAddRemoveCtrl, wxAppProgressIndicator, wxBitmapBundle, wxNativeWindow, wxPersistentComboBox, wxPowerResourceBlocker, wxSecretStore, wxTempFFile ja wxUILocale.
- Uued kÀsitlejad XRC-ile on rakendatud kÔigi uute ja mÔnede olemasolevate klasside jaoks.
- Esitatud on uued meetodid: wxDataViewToggleRenderer::ShowAsRadio(), wxDateTime::GetWeekBasedYear(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(), wxHtmlEasyPrinting::SetPromptMode(), wxJoystickEvent::GetButtonOrdinal(), wxListBox::GetTopItem(), wxProcess::Activate(), wxTextEntry::ForceUpper(), wxStandardPaths::GetUserDir(), wxToolbook::EnablePage(), wxUIActionSimulator::Select().
- Signifikanseid tÀiustusi on tehtud klassides wxBusyInfo, wxDataViewCtrl, wxNotificationMessage, wxStaticBox, wxStyledTextCtrl ja wxUIActionSimulator.
- MacOS platvormi tugi on paranenud, sealhulgas on rakendatud tumeda teemavaliku vÔimalus ja toetatud ARM-protsessoritel pÔhinevad seadmed.
- On tehtud tÀiustusi seoses C++11 standardi toetamisega. Lisatud tugi C++20 kompilaatorite jaoks.
- KÔik komplekti kuuluvad kolmandate osapoolte teegid on vÀrskendatud. Lisatud tugi WebKit 2 ja GStreamer 1.7 jaoks.
Allikas: opennet.ru
