GoSurface — cangkangnya
Popup, lembar, dan dropdown semuanya memakai yang satu ini. Ia mengurus area aman, keyboard virtual, header dan footer yang menempel, body yang bergulir, jendela mana yang paling atas, pemulihan fokus, kepemilikan tombol kembali, dan tarik untuk mengubah ukuran.
| Penempatan | Tampak seperti | Dipakai untuk |
|---|---|---|
CENTER | Sebuah kartu di tengah | Konfirmasi, setelan |
BOTTOM | Sebuah lembar yang naik dari bawah | Daftar, halaman pengelolaan |
ANCHOR | Sebuah kartu yang disematkan di samping sebuah kontrol | Dropdown, menu konteks |
close_requested — menyembunyikan atau membebaskannya — adalah
tugas layar yang memilikinya, karena cangkangnya tidak bisa tahu kenapa ia ditutup (simpan lalu tutup, atau buang).
GoSheet — sebuah halaman dari bawah
var sheet := GoSheet.new()
add_child(sheet)
sheet.open("Inventaris")
sheet.toolbar().add_child(GoStyle.line_edit("Cari…"))
sheet.toolbar().visible = true
sheet.footer().add_child(GoStyle.button("Tutup", sheet.close, GoStyle.Tone.PRIMARY))
sheet.footer().visible = true
Ia memiliki CanvasLayer sendiri, jadi ia pasti berada di atas HUD. open() mengosongkan
body dan mematikan tombol kembali serta baris yang menempel — tombol mati di layar yang tidak punya tempat
untuk kembali akan terbaca sebagai rusak.
GoDialogs — konfirmasi yang bisa Anda await
if await dialogs.confirm("Hapus simpanan", "Tindakan ini tidak bisa dibatalkan."):
delete_save()
confirm(title, body, ok_text, cancel_text, extra, args, destructive) — semua yang ada setelah body bersifat
opsional, dan alert() bekerja dengan cara yang sama dengan satu tombol saja. Setel destructive untuk
sesuatu yang tak bisa dibatalkan: tombol konfirmasinya berubah menjadi tombol GoStyle.Tone.DANGER_SOLID
yang berisi penuh. Pada tema terang, label bahaya yang dironai harus digelapkan sampai terbaca seperti teks hitam; tombol berisi penuh
mempertahankan teks putih di atas merah. Nada warnanya diterapkan ulang pada setiap pemanggilan karena satu jendela dipakai berulang, dan
confirm() kedua ketika satu dialog masih terbuka langsung mengembalikan false. confirm_key() menerima
kunci terjemahan.
Tata letak tombol. action_layout secara default adalah VERTICAL (aman untuk terjemahan yang panjang),
HORIZONTAL untuk satu baris dengan lebar separuh-separuh, atau AUTO, yang memakai satu baris hanya bila kedua
labelnya muat pada separuh kartu dalam satu baris dan menumpuknya bila tidak. action_gap adalah jarak antar
tombol dan body_gap jarak di atasnya — buat yang terakhir lebih lebar daripada jarak antartombol agar pertanyaan dan
pilihannya terbaca sebagai dua bagian. Untuk satu dialog saja, panggil set_next_action_layout() sebelum membukanya.
Baris tombolnya dibangun saat sebuah dialog pertama kali dibuka, jadi GoDialogs yang di-autoload tidak menambah apa pun saat startup.
GoForm — formulir berlebar terbatas
GoScroll — gulir sentuh
Taruh satu hal saja di dalamnya. Header dan baris tombol tempatnya di luar — daftar yang panjang tidak boleh mendorongnya
keluar layar. use_panel_edge() memindahkan bilah gulirnya ke dalam padding kartu yang sudah ada
sementara kontennya mempertahankan indentasinya.