<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="primary-windows" xml:lang="ru">

  <info>
    <link type="guide" xref="patterns" group="primary-windows"/>   
    <credit type="author">
      <name>Алан Дэй (Allan Day)</name>
      <email>aday@gnome.org</email>
    </credit>
    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
  </info>

<title>Главные окна</title>

<media type="image" mime="image/svg" src="figures/patterns/primary-windows.svg"/>

<p>Главные окна -- это основной высокоуровневый контейнер для пользовательского интерфейса вашего приложения, который должен предоставлять основную функциональность приложения.</p>

<section id="when-to-use">
<title>Когда использовать</title>

<p>Любое приложение должно иметь по крайней мере одно главное окно, связанное с приложением.</p>

</section>

<section id="application-types">
<title>Типы приложений</title>

<p>Существует две основные модели главных окон:</p>

<section id="single-instance-applications">
<title>Одноэкземплярные приложения</title>

<p>Одноэкзамплярные приложения имеют одно главное окно. Эта модель широко применяется для таких приложений как: клиенты для эл. почты, чаты, адресные книги, клиенты обмена мгновенными сообщениями.</p>

</section>

<section id="multiple-instance-applications">
<title>Мультэкземплярные приложения</title>

<p>Мультэкземплярные приложения могут иметь несколько главных окон. Обычно все главные окна идентичны друг другу. Эта модель часто применяется в приложениях для просмотра или в редакторах (документов, изображений и т. п.).</p>

<p>Обе модели позволяют открывать. Через <link xref="tabs">вкладки</link> или перемещение в браузерном стиле. Однако мультиоконная модель предоставляет дополнительные возможности:</p>

<list>
<item><p>одновременный просмотр содержимого нескольких элементов;</p></item>
<item><p>возможность перемещать содержимое на другие рабочие места;</p></item>
<item><p>возможность распологать наборы с содержимым в различных окнах (если применяются вкладки).</p></item>
</list>

</section>
</section>

<section id="general-guidelines">
<title>Общие рекомендации</title>

<list>
<item><p>Если ваше приложение ещё не было запущено, и была активирована его кнопка запуска, необходимо открыть одно главное окно. Не показывайте несколько окно при первоначальном запуске приложения.</p></item>
<item><p>Если кнопка запуска вашего приложения выбирается во время работы вашего приложение, необходимо показать все главные окна приложения.</p></item>
<item><p>Основная функциональность вашего приложения должна реализовываться через главные окна. Не используйте диалоговые или иные второстепенные окна для основной функциональности.</p></item>
<item><p>Главные окна должны быть независимыми: закрытие одного главного окна не должно заставлять закрываться другие главные окна.</p></item>
<item><p>Диалоговые окна должны всегда зависеть от главного окна. Подробнее см. <link xref="dialogs">диалоги</link>.</p></item>
<item><p>Ваше приложение должно всегда завершаться при закрытии всех его главных окон.</p></item>
<item><p>Действие <gui>Завершить</gui> должно закрывать все главные окна.</p></item>
</list>

</section>

</page>
