GoSurface — kabuk
Açılır pencereler, sayfalar ve açılır listeler hep bunu kullanır. Güvenli alanı, sanal klavyeyi, sabit başlık ve alt bilgiyi, kaydırılan gövdeyi, hangi pencerenin en üstte olduğunu, odağın geri verilmesini, geri tuşunun sahipliğini ve sürükleyerek yeniden boyutlandırmayı üstlenir.
| Yerleşim | Nasıl görünür | Nerede kullanılır |
|---|---|---|
CENTER | Ortada bir kart | Onaylar, ayarlar |
BOTTOM | Alttan yükselen bir sayfa | Listeler, yönetim sayfaları |
ANCHOR | Bir denetimin yanına sabitlenmiş kart | Açılır listeler, bağlam menüleri |
close_requested sinyaline tepki vermek — gizlemek ya da bellekten
silmek — sahibi olan ekranın işidir, çünkü kabuk neden kapandığını bilemez (kaydedip kapatmak mı,
yoksa atmak mı).
GoSheet — alttan gelen bir sayfa
var sheet := GoSheet.new()
add_child(sheet)
sheet.open("Envanter")
sheet.toolbar().add_child(GoStyle.line_edit("Ara…"))
sheet.toolbar().visible = true
sheet.footer().add_child(GoStyle.button("Kapat", sheet.close, GoStyle.Tone.PRIMARY))
sheet.footer().visible = true
Kendi CanvasLayer'ına sahiptir, bu yüzden güvenilir biçimde HUD'ın üstünde durur.
open() gövdeyi temizler ve geri düğmesiyle sabit satırları kapatır — geri dönülecek
yeri olmayan bir ekrandaki ölü bir düğme bozuk gibi okunur.
GoDialogs — await ettiğiniz onaylar
if await dialogs.confirm("Kaydı sil", "Bu geri alınamaz."):
delete_save()
confirm(title, body, ok_text, cancel_text, extra, args, destructive) — gövdeden sonraki her şey
isteğe bağlıdır ve alert() tek düğmeyle aynı şekilde çalışır. Geri alınamayacak bir şey için
destructive verin: onay düğmesi dolgulu GoStyle.Tone.DANGER_SOLID düğmesine dönüşür.
Açık bir temada tonlanmış bir tehlike etiketi siyah yazı gibi okunana dek koyulaşmak zorundadır; dolgulu düğme
ise kırmızı üstünde beyaz yazıyı korur. Tek bir pencere yeniden kullanıldığı için ton her çağrıda yeniden
uygulanır; biri açıkken ikinci bir confirm() anında false döndürür.
confirm_key() çeviri anahtarları alır.
Düğme yerleşimi. action_layout varsayılan olarak VERTICAL'dır (uzun çeviriler
için güvenli), tek sırada ve her biri yarı genişlikte olması için HORIZONTAL, ya da
AUTO — bu da yalnızca iki etiket de kartın yarısına tek satırda sığdığında tek sıra kullanır,
aksi hâlde alt alta dizer. action_gap düğmeler arasındaki boşluk, body_gap ise
üstlerindeki boşluktur — soru ile seçimin iki ayrı parça olarak okunması için ikincisini düğme boşluğundan
geniş tutun. Yalnızca tek bir iletişim kutusu için, açmadan önce set_next_action_layout()
çağırın. Sıra ilk kez bir iletişim kutusu açıldığında kurulur; yani autoload edilmiş bir
GoDialogs açılışta hiçbir şey eklemez.
GoForm — genişliği sınırlı bir form
GoScroll — dokunmatik kaydırma
İçine tek bir şey koyun. Başlıklar ve düğme sıraları dışarıda kalır — uzun bir liste onları
ekrandan dışarı itmemelidir. use_panel_edge(), içerik kendi girintisini korurken kaydırma
çubuğunu kartın var olan iç boşluğuna taşır.