gohud

Fenêtres flottantes

← Widgets

GoSurface — la coque

GoSurface — Une fenêtre flottante : centrée, venue du bas, ou ancrée à un contrôle.
CENTER
GoSurface — Une fenêtre flottante : centrée, venue du bas, ou ancrée à un contrôle.
BOTTOM
GoSurface — Une fenêtre flottante : centrée, venue du bas, ou ancrée à un contrôle.
ANCHOR

Les fenêtres surgissantes, les feuilles et les listes déroulantes passent toutes par elle. Elle gère la zone sûre, le clavier virtuel, l'en-tête et le pied fixes, un corps défilant, la fenêtre qui est au premier plan, la restauration du focus, la propriété du bouton Retour et le redimensionnement par glissement.

PlacementAspectSert à
CENTERUne carte au milieuConfirmations, réglages
BOTTOMUne feuille qui monte depuis le basListes, pages de gestion
ANCHORUne carte épinglée à côté d'une commandeListes déroulantes, menus contextuels
Elle ne se supprime pas elle-même. Réagir à close_requested — masquer ou libérer — revient à l'écran propriétaire, parce que la coque ne peut pas savoir pourquoi elle se ferme (enregistrer et fermer, ou abandonner).

GoSheet — une page venue du bas

GoSheet — Une feuille du bas avec des pages, le retour arrière et un pied fixe.
GoSheet
var sheet := GoSheet.new()
add_child(sheet)
sheet.open("Inventaire")
sheet.toolbar().add_child(GoStyle.line_edit("Rechercher…"))
sheet.toolbar().visible = true
sheet.footer().add_child(GoStyle.button("Fermer", sheet.close, GoStyle.Tone.PRIMARY))
sheet.footer().visible = true

Elle possède un CanvasLayer : elle se place donc de façon fiable au-dessus du HUD. open() vide le corps et désactive le bouton Retour et les rangées fixes — un bouton mort sur un écran d'où l'on ne peut revenir nulle part se lit comme une panne.

GoDialogs — des confirmations que vous await

GoDialogs — Des fenêtres de confirmation et d'alerte qu'on attend avec await ; les alertes attendent leur tour.
confirm()
GoDialogs — Des fenêtres de confirmation et d'alerte qu'on attend avec await ; les alertes attendent leur tour.
destructive
GoDialogs.choose — Un choix parmi quelques-uns : feuille du bas sur téléphone, carte sur ordinateur.
choose()
if await dialogs.confirm("Supprimer la sauvegarde", "Cette action est irréversible."):
    delete_save()

confirm(title, body, ok_text, cancel_text, extra, args, destructive) — tout ce qui suit le corps est facultatif, et alert() fonctionne de la même manière avec un seul bouton. Renseignez destructive pour ce qui ne peut pas être annulé : le bouton de confirmation devient le bouton plein GoStyle.Tone.DANGER_SOLID. Sur un thème clair, un libellé de danger teinté doit s'assombrir jusqu'à se lire comme du texte noir ; le bouton plein, lui, garde du texte blanc sur du rouge. La tonalité est réappliquée à chaque appel parce qu'une même fenêtre est réutilisée, et un second confirm() alors qu'une fenêtre est ouverte renvoie false immédiatement. confirm_key() accepte des clés de traduction.

Disposition des boutons. action_layout vaut VERTICAL par défaut (sûr pour les traductions longues), HORIZONTAL pour une seule rangée où chacun prend la moitié de la largeur, ou AUTO, qui ne passe sur une rangée que si les deux libellés tiennent sur une seule ligne dans la moitié de la carte, et les empile sinon. action_gap est l'espace entre les boutons et body_gap l'espace au-dessus d'eux — faites-le plus large que l'écart entre boutons pour que la question et le choix se lisent comme deux parties. Pour une seule boîte de dialogue, appelez set_next_action_layout() avant de l'ouvrir. La rangée est construite à la première ouverture : un GoDialogs chargé en autoload n'ajoute donc rien au démarrage.

GoForm — un formulaire à largeur plafonnée

GoForm — Un formulaire qui limite sa largeur et s'écarte du clavier et du HUD.
GoForm
Il garantit le retour à la ligne des libellés qu'il contient. Sans cela, une longue phrase s'étire sur une seule ligne dont la largeur minimale dépasse l'écran, et les côtés sont rognés — on ne peut même plus dire sur quel écran on se trouve. Activer le retour à la ligne à la main, scène par scène, s'oublie à tous les coups.

GoScroll — le défilement tactile

GoScroll — Un défilement tactile qui marche depuis n'importe où dans le contenu ; gère la droite-à-gauche.
GoScroll · GoScroll.horizontal()

Mettez-y une seule chose. Les en-têtes et les rangées de boutons se placent à l'extérieur — une longue liste ne doit pas les pousser hors de l'écran. use_panel_edge() déplace la barre de défilement dans la marge intérieure existante de la carte tandis que le contenu garde son retrait.