wydanie wieloplatformowego zestawu narzędzi , umożliwiającego tworzenie interfejsów graficznych dla systemów Linux, Windows, macOS, UNIX oraz platform mobilnych. wxWidgets 3.1 jest wytyczną dla programistów, w której rozwijane są nowe możliwości na nadchodzący stabilny wydanie 3.2.0. W porównaniu do gałęzi 3.0 występuje szereg niezgodności na poziomie API i nie gwarantuje się niezmienności ABI między pośrednimi wydaniami 3.1.x.
Zestaw narzędzi jest napisany w języku C++ i jest dostępny na licencji wolnej , zatwierdzonej przez Fundację SW i organizację OSI. Licencja opiera się na LGPL i różni się tym, że pozwala na użycie własnych warunków do dystrybucji prac pochodnych w formie binarnej. Oprócz rozwijania programów w C/C++ wxWidgets zapewnia powiązania dla większości popularnych języków programowania, w tym dla , , i . W przeciwieństwie do innych zestawów narzędzi, wxWidgets zapewnia aplikacji naprawdę natywny wygląd dla docelowego systemu oraz metody interakcji, dzięki wykorzystaniu systemowych API, a nie symulacji GUI.
Główne nowości:
- Nowy system budowania oparty na CMake. Do systemu budowania dodano wsparcie dla nowych kompilatorów (MSVC 2019, g++ 10) oraz systemów operacyjnych (macOS 10.14 i macOS 11 dla ARM);
- Nowy eksperymentalny port wxQt;
- Przeprojektowano wsparcie dla OpenGL, poprawiono obsługę nowych wersji OpenGL (3.2+);
- Dodano obsługę zdarzeń dla gestów sterujących, wywoływanych za pomocą myszy;
- W wxFont i wxGraphicsContext dodano możliwość określenia wartości niecałkowitych przy definiowaniu rozmiarów czcionek i szerokości pędzla;
- W wxStaticBox wdrożono możliwość przypisywania dowolnych etykiet do okien;
- Poprawiono wsparcie dla ekranów o wysokiej gęstości pikseli (High DPI);
- Dodano wsparcie dla kompresji LZMA i plików ZIP 64;
- Wprowadzono nowe klasy: wxActivityIndicator, wxAddRemoveCtrl,
wxAppProgressIndicator, wxNativeWindow, wxPowerResourceBlocker,
wxSecretStore i wxTempFFile; - Dodano wsparcie dla zamrażania kolumn i wierszy w wxGrid;
- Wprowadzono nowe metody: wxDataViewToggleRenderer::ShowAsRadio(), wxDateTime::
GetWeekBasedYear(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(),
wxHtmlEasyPrinting::SetPromptMode(), wxJoystickEvent::GetButtonOrdinal(),
wxListBox::GetTopItem(), wxProcess::Activate(), wxTextEntry::ForceUpper(), wxStandardPaths::GetUserDir(),
wxToolbook::EnablePage(), wxUIActionSimulator::Select(); - Wprowadzono znaczące ulepszenia w klasach wxBusyInfo, wxDataViewCtrl,
wxNotificationMessage, wxStaticBox, wxStyledTextCtrl i wxUIActionSimulator; - Zwiększone bezpieczeństwo na etapie kompilacji dzięki możliwości wyłączenia niebezpiecznych, niejawnych konwersji między ciągami typu wxString a „char*”.
- Zaktualizowane wszystkie zewnętrzne biblioteki w zestawie. Dodano wsparcie dla WebKit 2 i GStreamer 1.7.
- Wprowadzono ulepszenia związane z wsparciem standardu C++11. Dodano wsparcie dla kompilacji z użyciem C++20.
- Wiele poprawek w portach wxGTK3 i wxOSX/Cocoa.
Źródło: opennet.ru
