Pas 9 vjetësh nga dalja e degës 3.0, u prezantua versioni i parë i degës së re stabile të toolkit-it të shumëfishtë wxWidgets 3.2.0, që lejon krijimin e interfeseve grafike për Linux, Windows, macOS, UNIX dhe platforma mobile. Krahasuar me degën 3.0, vërehen disa papajtueshmëri në nivelin e API. Toolkit-i është shkruar në gjuhën C++ dhe shpërndahet nën licencën e lirë wxWindows Library License, e miratuar nga Fondi i Software-it të Lirë dhe organizata OSI. Licenca bazohet në LGPL dhe lejon përdorimin e kushteve të veta për shpërndarjen e punimeve të derivuara në formë binare.
Përveç zhvillimit të programeve në C++, wxWidgets ofron binding-e për shumicën e gjuhëve të njohura të programimit, duke përfshirë PHP, Python, Perl dhe Ruby. Në dallim nga toolkit-et e tjera, wxWidgets ofron për aplikacionin një pamje dhe metode ndërveprimi vërtetato natyrale për sistemin e targetuar, falë përdorimit të API-ve sistemike, jo imitim të GUI.
TĂ« rejat kryesore:
- U realizua një port eksperimental i ri wxQt, që siguron funksionimin e wxWidgets mbi kuadrin Qt.
- Në portin wxGTK është siguruar mbështetje e plotë për protokollin Wayland.
- U shtua mbështetje për ekranet me dendësi të lartë pikselash (High DPI). U shtua mundësia e caktimit të DPI-ve të ndryshëm për monitorë të ndryshëm dhe ndryshimit dinamik të DPI. U propozuar një API i ri wxBitmapBundle, që lejon manipulimin e disa varianteve të imazheve raster të paraqitura në rezolucione të ndryshme si një tërësi.
- U propozuar një sistem ndërtimi i ri në bazë të CMake. Në sistemin ndërtimor u shtua mbështetje për kompilatorë të rinj (përfshirë MSVS 2022, g++ 12 dhe clang 14) dhe sisteme operative.
- U ripunua mbështetja për OpenGL, dhe u përmirësua përdorimi i versioneve të reja të OpenGL (3.2+).
- U shtua mbështetje për kompresimin LZMA dhe skedarët ZIP 64.
- U përforcuar mbrojtja gjatë procesit të përpilimit, falë mundësisë për të çaktivizuar konvertimet e rrezikshme të paqarta midis vargjeve me lloje wxString dhe 'char*'.
- U shtua mbështetje për ngjarjet për gjeste kontrolli, të cilat realizohen me ndihmën e mouse-it.
- Në klasat wxFont dhe wxGraphicsContext u shtua mundësia e caktimit të vlerave jo të plota kur përcaktohet madhësia e shkrimeve dhe gjerësia e lapsit të dritës.
- Në klasën wxStaticBox u realizua mundësia e caktimit të etiketave të rastësishme për dritaret.
- Në API wxWebRequest u shtua mbështetje për HTTPS dhe HTTP/2.
- Në klasën wxGrid u shtua mbështetje për ngrirjen e kolonave dhe rreshtave.
- U paraqitën klasa të reja: wxActivityIndicator, wxAddRemoveCtrl, wxAppProgressIndicator, wxBitmapBundle, wxNativeWindow, wxPersistentComboBox, wxPowerResourceBlocker, wxSecretStore, wxTempFFile dhe wxUILocale.
- Për të gjitha klasat e reja dhe disa ekzistuese u zbatua mbështetje e re për trajtuesit XRC.
- U paraqitën metoda të reja: wxDataViewToggleRenderer::ShowAsRadio(), wxDateTime::GetWeekBasedYear(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(), wxHtmlEasyPrinting::SetPromptMode(), wxJoystickEvent::GetButtonOrdinal(), wxListBox::GetTopItem(), wxProcess::Activate(), wxTextEntry::ForceUpper(), wxStandardPaths::GetUserDir(), wxToolbook::EnablePage(), wxUIActionSimulator::Select().
- U realizuan përmirësime të mëdha në klasat wxBusyInfo, wxDataViewCtrl, wxNotificationMessage, wxStaticBox, wxStyledTextCtrl dhe wxUIActionSimulator.
- U përmirësua mbështetja për platformën macOS, duke përfshirë mundësinë e përdorimit të një teme të errët dhe u shtua mbështetje për pajisjet me procesorë ARM.
- JanĂ« bĂ«rĂ« pĂ«rmirĂ«sime tĂ« lidhura me mbĂ«shtetje pĂ«r standardin C++11. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r ndĂ«rtim me kompilerĂ«t C++20.
- U përditësuan të gjitha bibliotekat e jashtme që përfshihen në paketë. U shtua mbështetje për WebKit 2 dhe GStreamer 1.7.
Burimi: opennet.ru
