|
Packit |
1470ea |
|
|
Packit |
1470ea |
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="primary-windows" xml:lang="cs">
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<info>
|
|
Packit |
1470ea |
<link type="guide" xref="patterns#primary"/>
|
|
Packit |
1470ea |
<desc>Hlavní okno či okna pro vaši aplikaci</desc>
|
|
Packit |
1470ea |
<credit type="author">
|
|
Packit |
1470ea |
<name>Allan Day</name>
|
|
Packit |
1470ea |
<email>aday@gnome.org</email>
|
|
Packit |
1470ea |
</credit>
|
|
Packit |
1470ea |
<include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
|
|
Packit |
1470ea |
</info>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<title>Hlavní okna</title>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<media type="image" mime="image/svg" src="figures/patterns/primary-windows.svg"/>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Hlavní okno je základní kontejner nejvyšší úrovně pro uživatelské rozhraní vaší aplikace a měl by nabízet základní funkcionalitu vaší aplikace.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<section id="when-to-use">
|
|
Packit |
1470ea |
<title>Kdy použít</title>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Každá aplikace by měla mít aspoň jedno hlavní okno, které k ní patří.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
</section>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<section id="application-types">
|
|
Packit |
1470ea |
<title>Typy aplikací</title>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Existují dva hlavní modely pro hlavní okna:
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<section id="single-instance-applications">
|
|
Packit |
1470ea |
<title>Aplikace s jednou instancí</title>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Aplikace s jednou instancí má jedno hlavní okno. Jedná se o model běžný v komunikačních aplikacích pro účely, jako je e-mail, diskuze nebo kontakty.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
</section>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<section id="multiple-instance-applications">
|
|
Packit |
1470ea |
<title>Aplikace s více instancemi</title>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Aplikace s více instancemi mohou mít více hlavních oken. Typicky jsou všechna hlavní okna stejná. K aplikacím s více instancemi patří často prohlížeče a editory, například pro dokumenty nebo obrázky.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Jak aplikace s jednou instancí, tak aplikace s více instancemi mohou umožňovat otevřít více položek obsahu, buď pomocí použití <link xref="tabs">karet</link> nebo pomocí navigace ve stylu prohlížeče. Více oken ale nabízí dodatečné schopnosti, včetně:
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<list>
|
|
Packit |
1470ea |
<item>Zobrazení několika položek obsahu vedle sebe naráz. </item>
|
|
Packit |
1470ea |
<item>Umístění obsahu na různé pracovní plochy. </item>
|
|
Packit |
1470ea |
<item>Uspořádání skupin obsahu do různých oken (pokud používají karty). </item>
|
|
Packit |
1470ea |
</list>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<section id="parent-child-primary-windows">
|
|
Packit |
1470ea |
<title>Rodičovská/dceřiná okna</title>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Aplikace s více instancemi má typicky identická hlavní okna (například více oken webového prohlížeče). Ale nemusí tomu tak být ve všech případech.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Hlavní okna mohou mít vztah rodič/potomek. V takovémto typu aplikace je vždy jen jedno rodičovské okno. Typicky obsahuje přehled položek, které mohou být otevřeny v rodičovském okně nebo v oddělených dceřiných oknech. Díky tomu lze otevřít více položek obsahu současně.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
I když bylo dceřiné okno otevřeno z rodičovského okna, není na něm závisle v tom, jestli má zůstat otevřeno – zavření rodičovského okna nemá za následek zavření dceřiných oken v aplikaci.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
Aplikace <app>Poznámky</app> z GNOME je dobrým příkladem hlavních oken se vztahem rodič/potomek.
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
</section>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
</section>
|
|
Packit |
1470ea |
</section>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<section id="general-guidelines">
|
|
Packit |
1470ea |
<title>Obecné rady</title>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<list>
|
|
Packit |
1470ea |
<item>Když je vaše aplikace spuštěna, mělo by se vždy zobrazit jedno hlavní okno. </item>
|
|
Packit |
1470ea |
<item>Když je spouštěč vaší aplikace aktivován ve chvíli, kdy aplikace běží, měla by se zobrazit všechna její hlavní okna. </item>
|
|
Packit |
1470ea |
<item>Hlavní okno by se mělo starat o hlavní funkcionalitu vaší aplikace. Nespoléhejte se s poskytnutím základní funkcionality na dialogová nebo podřízená okna. </item>
|
|
Packit |
1470ea |
<item>Hlavní okno by mělo být nezávislé – zavření jednoho hlavního okna by nemělo mít za následek, že se zavřou další hlavní okna. </item>
|
|
Packit |
1470ea |
<item>Dialogová okna by měly být vždy závislá na hlavním okně. Viz pokyny k <link xref="dialogs">dialogovým oknům</link>. </item>
|
|
Packit |
1470ea |
<item>Pokyny pro <link xref="display-compatibility">kompatibilitu s displejem</link> jsou zvláště důležité pro hlavní okna: dávejte pozor, jestli je zajištěno, aby se řídila radami ohledně minimálních velikostí obrazovky, otočení displeje a přichytávání k polovině obrazovky. </item>
|
|
Packit |
1470ea |
<item><gui>Quit</gui> (<gui>Ukončit</gui>) by mělo zavřít všechna hlavní okna. </item>
|
|
Packit |
1470ea |
</list>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
</section>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<section id="api-reference">
|
|
Packit |
1470ea |
<title>Referenční příručka API</title>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
<list>
|
|
Packit |
1470ea |
<item><link href="https://developer.gnome.org/gtk3/stable/GtkWindow.html">GtkWindow</link> </item>
|
|
Packit |
1470ea |
<item><link href="https://developer.gnome.org/gtk3/stable/GtkApplicationWindow.html">GtkApplicationWindow</link> </item>
|
|
Packit |
1470ea |
</list>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
</section>
|
|
Packit |
1470ea |
|
|
Packit |
1470ea |
</page>
|