Na drie jaar ontwikkeling is de platformonafhankelijke toolkit wxWidgets 3.3.0 uitgebracht, waarmee je grafische interfaces kunt maken voor Linux, Windows, macOSUNIX-achtige systemen en mobiele platformen. De toolkit is geschreven in C++ en wordt gedistribueerd onder de gratis wx-licentie.Windows De Library License, goedgekeurd door de Free Software Foundation en de OSI-organisatie, is gebaseerd op de LGPL en staat aangepaste distributievoorwaarden toe voor afgeleide werken in binaire vorm.
Naast C++-ondersteuning biedt wxWidgets bindingen voor de meeste populaire programmeertalen, waaronder PHP, Python, Perl, Haskell en Ruby. De interface in applicaties die wxWidgets gebruiken, heeft een native look-and-feel voor het doelsysteem, dankzij het gebruik van systeem-API's in plaats van een imitatie-GUI.
wxWidgets 3.3.0 is gepositioneerd als een ontwikkelbranch, waar nieuwe functies worden ontwikkeld voor de volgende stabiele release 3.4.0. Tegelijkertijd is de wxWidgets 3.3.0-branch gemarkeerd als geschikt voor gebruik in werkende projecten. Het verschil met stabiele branches is dat in tussenliggende releases van ontwikkelbranch wijzigingen in de ABI en API die de compatibiliteit verbreken, zijn toegestaan. De wijzigingen die de compatibiliteit verbreken, zijn geïsoleerd en over het algemeen is de 3.3-branch bijna volledig compatibel met wxWidgets 3.2 op API-niveau.
Belangrijkste innovaties:
- Er is een nieuwe wxWebView-backend geïmplementeerd op basis van de Chromium-engine, waarmee u functies voor het verwerken en weergeven van webinhoud in applicaties kunt insluiten.
- De wxImage-klasse is bijgewerkt ter ondersteuning van WebP-afbeeldingen.
- Naar de wxMSW-poort, die specifieke Windows functies en bedieningselementen, experimentele ondersteuning voor de donkere modus is toegevoegd, werkend vanaf Windows 10De ondersteuning is stopgezet. Windows XP en Vista. De dubbelgebufferde uitvoermodus is standaard ingeschakeld, net als in de wxGTK-versies van Wayland en wxOSX.
- De wxAUI-bibliotheek biedt de mogelijkheid om tabbladposities vast te zetten en tabbladen met meerdere regels te maken.
- Er is een variant van de wxWebRequest-klasse toegevoegd voor het verwerken van verzoeken in synchrone (blokkerende) modus.
- API toegevoegd voor het op laag niveau verwerken van gebeurtenissen via touchscreens en touchpads.
- De wxGrid-klasse implementeert toegankelijkheidsfuncties.
- Voor UNIX-achtige systemen worden wxEVT_POWER_XXX-gebeurtenissen geïmplementeerd om de status van het stroomverbruik te bewaken.
- De wxGTK-poort maakt nu waar mogelijk gebruik van native bestandsdialogen.
- De klasse wxTextCtrl, die elementen genereert voor het weergeven en bewerken van tekst, implementeert ondersteuning voor tekst met opmaak (RTF).
- Ondersteuning toegevoegd voor animatie en cursors voor schermen met hoge DPI.
- Ondersteuning toegevoegd voor het bouwen met de nieuwe gcc 15-, clang 19- en Xcode 16-compilers.
- Op UNIX-achtige systemen wordt de map ~/.config/appname.conf gebruikt om configuratiebestanden van toepassingen op te slaan in plaats van ~/.appname (het laden van bestaande configuratiebestanden blijft behouden).
- wxMotif- en wxGTK1-poorten verwijderd.
- De mogelijkheid om te bouwen zonder Unicode te gebruiken (wxUSE_UNICODE=0) is verwijderd.
Bron: opennet.ru
