Die Veröffentlichung des grafischen Toolkits wxWidgets 3.2.0

Nach 9 Jahren seit der Veröffentlichung der Version 3.0 wurde die erste stabile Version des plattformübergreifenden Toolkits wxWidgets 3.2.0 vorgestellt, das die Erstellung grafischer Benutzeroberflächen für Linux, Windows, macOS, UNIX und mobile Plattformen ermöglicht. Im Vergleich zu Version 3.0 gibt es einige Inkompatibilitäten auf der API-Ebene. Das Toolkit ist in C++ geschrieben und wird unter der freien Lizenz wxWindows Library License verbreitet, die von der Free Software Foundation und der OSI genehmigt wurde. Die Lizenz basiert auf LGPL und erlaubt die Verwendung eigener Bedingungen zur Verbreitung abgeleiteter Arbeiten in binärer Form.

Neben der Entwicklung von Programmen in C++ bietet wxWidgets Bindungen für die meisten gängigen Programmiersprachen, darunter PHP, Python, Perl und Ruby. Im Gegensatz zu anderen Toolkits sorgt wxWidgets dafür, dass die Anwendung ein wirklich natives Aussehen und Interaktionsmethoden für das Zielsystem hat, da systemeigene APIs und keine GUI-Imitation verwendet werden.

Hauptneuheiten:

  • Ein neuer experimenteller Port wxQt wurde implementiert, der die Ausführung von wxWidgets über das Qt-Framework ermöglicht.
  • Im Port wxGTK wurde eine vollständige Unterstützung des Wayland-Protokolls sichergestellt.
  • Die Unterstützung für Displays mit hoher Pixeldichte (High DPI) wurde hinzugefügt. Es besteht nun die Möglichkeit, unterschiedliche DPI für verschiedene Monitore festzulegen und die DPI dynamisch zu ändern. Ein neuer API wxBitmapBundle wurde vorgeschlagen, der es ermöglicht, mehrere Versionen eines Rasterbilds, die in verschiedenen Auflösungen vorliegen, als Ganzes zu manipulieren.
  • Ein neues Build-System basierend auf CMake wurde vorgeschlagen. Das Build-System unterstützt nun neue Compiler (einschließlich MSVS 2022, g++ 12 und clang 14) und Betriebssysteme.
  • Die Unterstützung für OpenGL wurde überarbeitet und die Nutzung neuerer Versionen von OpenGL (3.2+) verbessert.
  • Unterstützung für LZMA-Kompression und ZIP 64-Dateien wurde hinzugefügt.
  • Der Schutz während der Kompilierung wurde verstärkt, da gefährliche implizite Umwandlungen zwischen den Typen wxString und „char*“ deaktiviert werden können.
  • Die Unterstützung für Gestensteuerungsevents, die mit der Maus erzeugt werden, wurde hinzugefügt.
  • In den Klassen wxFont und wxGraphicsContext wurde die Möglichkeit hinzugefügt, nicht-ganzzahlige Werte bei der Festlegung der Schriftgröße und der Breite des Zeichenstifts anzugeben.
  • In der Klasse wxStaticBox wurde die Möglichkeit implementiert, beliebige Labels für Fenster festzulegen.
  • Im API wxWebRequest wurde die Unterstützung für HTTPS und HTTP/2 hinzugefügt.
  • In der Klasse wxGrid wurde die Unterstützung für das Einfrieren von Spalten und Zeilen hinzugefügt.
  • Neue Klassen wurden vorgestellt: wxActivityIndicator, wxAddRemoveCtrl, wxAppProgressIndicator, wxBitmapBundle, wxNativeWindow, wxPersistentComboBox, wxPowerResourceBlocker, wxSecretStore, wxTempFFile und wxUILocale.
  • Für alle neuen und einige vorhandene Klassen wurden neue XRC-Handler implementiert.
  • Neue Methoden wurden eingeführt: wxDataViewToggleRenderer::ShowAsRadio(), wxDateTime::GetWeekBasedYear(), wxDisplay::GetPPI(), wxGrid::SetCornerLabelValue(), wxHtmlEasyPrinting::SetPromptMode(), wxJoystickEvent::GetButtonOrdinal(), wxListBox::GetTopItem(), wxProcess::Activate(), wxTextEntry::ForceUpper(), wxStandardPaths::GetUserDir(), wxToolbook::EnablePage(), wxUIActionSimulator::Select().
  • Bedeutende Verbesserungen wurden an den Klassen wxBusyInfo, wxDataViewCtrl, wxNotificationMessage, wxStaticBox, wxStyledTextCtrl und wxUIActionSimulator vorgenommen.
  • Die Unterstützung für die Plattform macOS wurde verbessert, einschließlich der Möglichkeit, ein dunkles Farbschema zu verwenden, und Unterstützung für Geräte mit ARM-Prozessoren wurde hinzugefügt.
  • Es wurden Verbesserungen in Bezug auf die Unterstützung des C++11-Standards vorgenommen. Die Unterstützung für C++20-Compiler wurde hinzugefügt.
  • Alle im Paket enthaltenen Drittanbieter-Bibliotheken wurden aktualisiert. Unterstützung für WebKit 2 und GStreamer 1.7 wurde hinzugefügt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4