Uitgave van de Libadwaita 1.3-bibliotheek voor het maken van interfaces in GNOME-stijl

Het GNOME Project heeft de release van Libadwaita 1.3 gepubliceerd, die een set componenten bevat voor de styling van de gebruikersinterface die de GNOME HIG (Human Interface Guidelines) volgt. De bibliotheek bevat kant-en-klare widgets en objecten voor het bouwen van applicaties die voldoen aan de algemene GNOME-stijl, waarvan de interface adaptief kan worden aangepast aan schermen van elk formaat. De bibliotheekcode is geschreven in C en wordt gedistribueerd onder de LGPL 2.1+ licentie.

De libadwaita-bibliotheek wordt gebruikt in combinatie met GTK4 en bevat componenten van het Adwaita-thema dat in GNOME wordt gebruikt en die uit GTK naar een aparte bibliotheek zijn verplaatst. Door GNOME-stijlelementen naar een aparte bibliotheek te verplaatsen, kunnen GNOME-specifieke wijzigingen afzonderlijk van GTK worden ontwikkeld, waardoor GTK-ontwikkelaars zich kunnen concentreren op de kernzaken en GNOME-ontwikkelaars sneller en flexibeler de stijlveranderingen kunnen doorvoeren die ze willen, zonder dat dit gevolgen heeft voor GTK zelf.

De bibliotheek bevat standaardwidgets die verschillende interface-elementen bestrijken, zoals lijsten, panelen, bewerkingsblokken, knoppen, tabbladen, zoekformulieren, dialoogvensters, enz. Met de voorgestelde widgets kunt u universele interfaces creëren die naadloos functioneren, zowel op grote pc- en laptopschermen als op kleine touchscreens van smartphones. De applicatie-interface verandert dynamisch, afhankelijk van de schermgrootte en beschikbare invoerapparaten. De bibliotheek bevat ook een reeks Adwaita-stijlen die het uiterlijk in overeenstemming brengen met de GNOME-richtlijnen zonder dat handmatige aanpassing nodig is.

Grote veranderingen in libadwaita 1.3:

  • Er is een AdwBanner-widget geïmplementeerd die kan worden gebruikt in plaats van de GTK GtkInfoBar-widget om bannervensters weer te geven met een titel en één optionele knop. De inhoud van de widget verandert afhankelijk van de grootte, en er kan animatie worden toegepast bij het weergeven en verbergen.
    Uitgave van de Libadwaita 1.3-bibliotheek voor het maken van interfaces in GNOME-stijl
  • De AdwTabOverview-widget toegevoegd, ontworpen voor een visueel overzicht van tabbladen of pagina's die worden weergegeven met behulp van de AdwTabView-klasse. De nieuwe widget kan worden gebruikt om het werk met tabbladen op mobiele apparaten te organiseren zonder uw eigen implementatie van de schakelaar te creëren.
    Uitgave van de Libadwaita 1.3-bibliotheek voor het maken van interfaces in GNOME-stijlUitgave van de Libadwaita 1.3-bibliotheek voor het maken van interfaces in GNOME-stijl
  • Een AdwTabButton-widget toegevoegd om knoppen weer te geven met informatie over het aantal geopende tabbladen in AdwTabView, die op een mobiel apparaat kan worden gebruikt om de tabbladweergave te openen.
    Uitgave van de Libadwaita 1.3-bibliotheek voor het maken van interfaces in GNOME-stijl
  • De AdwViewStack-, AdwTabView- en AdwEntryRow-widgets ondersteunen nu toegankelijkheidsfuncties.
  • Er is een eigenschap toegevoegd aan de klasse AdwAnimation om het uitschakelen van animaties in de systeeminstellingen te negeren.
  • De klasse AdwActionRow heeft nu de mogelijkheid om ondertitels te markeren.
  • De eigenschappen titelregels en ondertitelregels zijn toegevoegd aan de klasse AdwExpanderRow.
  • De methode grab_focus_without_selecting() is toegevoegd aan de klasse AdwEntryRow, vergelijkbaar met GtkEntry.
  • De asynchrone methode Choose() is toegevoegd aan de klasse AdwMessageDialog, vergelijkbaar met GtkAlertDialog.
  • API-aanroepen gerelateerd aan de drag-n-drop-interface zijn toegevoegd aan de AdwTabBar-klasse.
  • De AdwAvatar-klasse zorgt voor een correcte beeldschaling.
  • De mogelijkheid toegevoegd om de donkere stijl en de hoogcontrastmodus te gebruiken bij het werken op het Windows-platform.
  • Geselecteerde elementen van lijsten en rasters worden nu gemarkeerd met de kleur die wordt gebruikt om actieve elementen te markeren (accent).

Bron: opennet.ru

Voeg een reactie