Další okna, která se objevují nad hlavním rodičovským oknem
Allan Day
aday@gnome.org
Calum Benson
Adam Elman
Seth Nickell
Colin Robertson

# Dialogová okna

Dialogové okna jsou podřízená okna, která se objevují nad hlavními (rodičovskými) okny. Používají se k zobrazení dodatečných informací a ovládacích prvků, včetně předvoleb a vlastností, nebo k zobrazení zpráv a dotazů.

GTK poskytuje řadu standardních dialogových oken, která můžete použít, například pro tisk nebo výběr barvy.

Existují tři základní typy dialogových oken.

# Kdy použít

Dialogová okna jsou běžně známé návrhové vzory a mají zavedené zvyklosti pro různé typy dialogů, které můžete potřebovat použít. Pokyny u jednotlivým typům dialogových oken k tomu poskytují další informace.

I když jsou dialogová okna účinným způsobem, jak dát dohromady doplňující ovládací prvky a informace, mohou být také zdrojem obtěžování uživatele. Proto si vždy položte otázku, jestli je dialogové okno nutné a dělejte věci tak, abyste se vyhnuli situacím, kdy je zapotřebí.

Existuje řada způsobů, jak se vyhnout používání dialogových oken:

Pro nové zprávy, záznamy nebo kontakty používejte vložené uspořádání.

Oznámení v rámci aplikace jsou alternativou k dialogovým oknům se zprávami.

Rozbalovací dialogy mohou být jedním ze způsobů, jako zobrazit doplňující ovládací prvky a volby méně rušivým stylem.

# Dialogová okna se zprávou

Dialogová okna se zprávou jsou nejjednodušším typem dialogových oken. Zobrazují zprávy nebo dotazy spolu s jedním až třemi tlačítky, kterými se dá na zprávu zareagovat. Vždy jsou modální, což znamená že brání v přístupu k jejich rodičovskému oknu. Dialogové okno se zprávou je vhodnou volbou, když je podstatné, aby se uživatel na zprávu podíval a zareagoval na ni.

## Příklady

Potvrzovací dialogová okna používají dialogové okno se zprávou ke kontrole, nebo potvrzení, že uživatel chce nějakou činnost provést. Mají dvě tlačítka: jedno k potvrzení, že činnosti by se měla provést, a druhé ke zrušení činnosti.

Tato dialogová okna bývají občas potvrzena nechtěně nebo automaticky a ne vždy zabrání chybnému průběhu. Proto je často lepší místo nich prostě poskytnou funkci pro vrácení následků činnosti zpět.

Chybová dialogová okna sdělují uživateli chybovou zprávu. Často obsahují jedno tlačítko, které uživatel potvrdí, že vzal zprávu na vědomí a okno uzavře.

Chybová dialogová okna jsou obecně poslední možností. Měli byste své aplikace navrhovat tak, aby se chyby nevyskytovaly, a když se něco vyvine špatně, vyřešit to automatizovaně.

# Akční dialogová okna

Akční dialogová okna zobrazují volby a informace ke konkrétní činnosti před tím, než je provedena. Mají hlavičku (která obvykle popisuje činnosti) a dvě hlavní tlačítka – jedno, které umožní činnost provést, a druhé, kterým ji můžete zrušit.

V některých případech je zapotřebí, aby uživatel před provedením činnosti nastavil nějaké volby. V takové situaci by potvrzující tlačítko nemělo být přístupné, dokud požadované volby nejsou nastavené.

## Příklady

Velká část standardních dialogových oken GTK jsou právě akční dialogová okna. Dobrým příkladem je dialogové okno tisku: zobrazí se jako odezva na uživatelův požadavek tisku a nabídne informace a volby pro tisk. Dvě tlačítka v hlavičkové liště dávají na výběr činnost zrušit nebo provést.

# Prezentační dialogová okna

Prezentační dialogová okna zobrazují informace nebo ovládací prvky. Podobně jako akční dialogová okna mají hlavičkovou lištu a uvedeno, čeho se týkají. Nejsou ale předzvěstí nějaké činnosti a jejich obsah se vztahuje k aplikaci nebo položkám obsahu.

## Příklady

Příkladem prezentačních dialogových oken jsou předvolby a vlastnosti. Oba zobrazují informace a nastavení vztahující se ke konkrétnímu subjektu (buď k aplikaci nebo k položce obsahu). Dialogové okno s vlastnostmi je dobrým příkladem, jak se dají podat doplňující informace, které nejsou v hlavním okně aplikaci zapotřebí pořád.

Snažte se odolat pokušení ve své aplikaci nabízet dialogové okno s předvolbami. Vždy se ptejte, jestli jsou další nastavení opravdu zapotřebí. Většina lidí se vůbec nebude obtěžovat tím, aby nabízené předvolby zkoumala, a volby nastavení jen dělají aplikaci složitější. Raději věnujte úsilí tomu, aby návrh vaší aplikace fungoval pro všechny, bez potřeby nějaká nastavení měnit.

## Okamžité a výslovné použití

U prezentačních dialogů se rozlišuje, jestli se nastavení použijí okamžitě, nebo až po výslovném potvrzení. U dialogových oken s okamžitým použitím se podle změn v nastavení nebo hodnotách ihned provádí aktualizace. Oproti tomu u dialogových oken s výslovným použitím najdete tlačítko pro potvrzení použití změn.

Kdekoliv je to možné, byste se měli přiklonit k okamžitému použití. Prezentační dialogové okno s okamžitým použitím má na své hlavičkové liště zavírací tlačítko, podobně jako hlavní okno.

Výslovné použití je nutné, jen když změny v dialogovém okně musí být použité naráz, aby se dosáhlo požadovaného chování. Tato dialogová okna obsahují tlačítka Done a Cancel (Hotovo a Zrušit). Tlačítko Cancel vrátí hodnoty na původní, do stavu před otevřením dialogového okna. Done zajistí použití změn a zavře okno.

# Hlavní tlačítka

Součástí dialogových oken se zprávou a akčních dialogových oken jsou tlačítka, která ovlivňují celé okno. Pořadí těchto tlačítek a jejich popisky jsou klíčovou částí dialogového okna.

## Pořadí

Pokud dialogové okno obsahuje tlačítka pro souhlas a zrušení, vždy se postarejte, aby tlačítko pro zrušení bylo v pořadí první. V národních prostředích s postupem zleva doprava to znamená umístit jej vlevo.

Toto pořadí tlačítek zajistí, že na tlačítko pro zrušení uživatel narazí, a uvědomí si jeho funkci, dříve, než tomu bude s tlačítkem pro potvrzení.

## Popisky

Hlavní potvrzovací tlačítko popište konkrétním rozkazovacím slovesem, například: Save, Print, Remove. V českých překladech použijte infinitiv a rozlišujte dokonavost (Uložit, Vytisknout, Odstranit). Je to srozumitelnější, než obecné popisky jako OK nebo Done (Budiž nebo Hotovo).

Chybové dialogové okno obvykle obsahuje jedno tlačítko pro zavření dialogového okna. V takovýchto situacích nebývá zapotřebí odkazovat na konkrétní činnosti a jsou dobrou příležitostí pro odlehčení špetkou humoru. Apology Accepted nebo Got It (Omluva se přijímá nebo Beru to) jsou dobrými příklady popisků.

## Výchozí činnost a zrušení

Přiřaďte klávesu Enter aktivaci hlavního potvrzovacího tlačítka v dialogovém okně (například tlačítku Print v dialogovém okně tisku). Nazývá se to výchozí činnost a je vyznačena odlišným vizuálním stylem. Nedělejte ale z tlačítka výchozí, pokud jeho činnost nezle vrátit, je destruktivní nebo jinak nepohodlná pro uživatele. Pokud neexistuje žádné vhodné tlačítko, které by mohlo být výchozí, tak žádné jako výchozí nenastavujte.

Měli byste také zajistit, že klávesa Esc aktivuje tlačítko, které vede ke zrušení nebo zavření, a aby toto tlačítko bylo přítomno. Dialogová okna se zprávou s jedním tlačítkem mohou mít na tlačítko navázánu zároveň klávesu Esc i Enter.

Zmíněné navázání kláves poskytuje předvídatelný a pohodlný způsob, jak pokračovat v tom, co dialogové okno nabízí, nebo jak se vrátit.

# Obecné zásady

Dialogová okna by se nikdy neměla objevovat neočekávaně a měla by se zobrazit jen jako bezprostřední odezva na záměrnou činnost uživatele.

Dialogové okno by vždy mělo mít rodičovské okno.

Když navrhujete obsah okna, řiďte se pokyny k rozvržení.

K rozdělení ovládacích prvků a informací použijte přepínače zobrazení nebo karty.

Vyvarujte se vršení dialogových oken jednoho na druhé. V jednu chvíli by mělo být zobrazeno jen jedno dialogové okno.

Když otevíráte dialogové okno, dejte na začátku zaměření klávesnice komponentě, u které očekáváte, že ji uživatel použije jako první. Toto zaměření je zvláště důležité pro uživatele, kteří musí používat pro ovládání aplikace klávesnici.

# Referenční příručka API

GtkAboutDialog

GtkDialog

GtkMessageDialog