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

  <info>
    <link type="guide" xref="patterns#primary"/>
    <desc>Las ventanas principales de su aplicación</desc>
    <credit type="author">
      <name>Allan Day</name>
      <email>aday@gnome.org</email>
    </credit>
    <license xmlns="http://projectmallard.org/1.0/" href="http://creativecommons.org/licenses/by-sa/4.0/">

  <p>This work is licensed under a
  <link href="http://creativecommons.org/licenses/by-sa/4.0/">Creative
  Commons Attribution-Share Alike 4.0 International License</link>.</p>

</license>
  <credit type="translator copyright"><name>Daniel Mustieles</name><email>daniel.mustieles@gmail.com</email><years>2011 - 2021</years></credit><credit type="translator copyright"><name>Alex Puchades</name><email>alex94puchades@gmail.com</email><years>2015</years></credit><credit type="translator copyright"><name>Nicolás Satragno</name><email>nsatragno@gnome.org</email><years>2013</years></credit><credit type="translator copyright"><name>Benjamín Valero Espinosa</name><email>benjavalero@gmail.com</email><years>2011</years></credit><credit type="translator copyright"><name>Jorge González</name><email>jorgegonz@svn.gnome.org</email><years>2009</years></credit><credit type="translator copyright"><name>Rosa Elena Pérez</name><email>rozydicemiau@gmail.com</email><years>2014</years></credit><credit type="translator copyright"><name>Oscar Rafael Arachi</name><email>arachi910@gmail.com</email><years>2014 - 2015</years></credit><credit type="translator copyright"><name>Miguel Ajuech</name><email>miguel.ann.28@gmail.com</email><years>2014</years></credit><credit type="translator copyright"><name>Adrián Pérez Domínguez</name><email>adrian@aztli.org</email><years>2015</years></credit><credit type="translator copyright"><name>Celina Osorio Ochoa</name><email>chelinoska@gmail.com</email><years>2015</years></credit><credit type="translator copyright"><name>Dario Amigon Espinoza</name><email>daramigon@gmail.com</email><years>2015</years></credit><credit type="translator copyright"><name>Yenisei Ramírez Pérez</name><email>yeniseirape@gmail.com</email><years>2015</years></credit><credit type="translator copyright"><name>José Roberto Ramíres Mendoza</name><email>aczella@gmail.com</email><years>2015</years></credit><credit type="translator copyright"><name>Bernardo Sánchez Romero</name><email>b.sanchez.rom@gmail.com</email><years>2015</years></credit><credit type="translator copyright"><name>Emmanuel Márquez Juárez</name><email>resident3333@gmail.com</email><years>2015</years></credit><credit type="translator copyright"><name>David Romero Serrano</name><email>lemi136@hotmail.com</email><years>2015</years></credit><credit type="translator copyright"><name>Omar Garcia Guzman</name><email>garciag.omar91@gmail.com</email><years>2015</years></credit><credit type="translator copyright"><name>Edilberto Huerta Niño</name><email>edilberto.huerta0290@gmail.com</email><years>2015</years></credit></info>

<title>Ventanas primarias</title>

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

<p>Las ventanas primarias son el contenedor básico de más alto nivel para la interfaz de usuario de su aplicación, y debe mostrar la funcionalidad principal de su aplicación.</p>

<section id="when-to-use">
<title>Cuándo usarlas</title>

<p>Cada aplicación debe mostrar una ventana principal cuando se lanza. Esto incluye aplicaciones que proporcionen principalmente un servicio se segundo plano.</p>

</section>

<section id="application-types">
<title>Tipos de aplicaciones</title>

<p>Hay dos modelos principales de ventanas primarias:</p>

<section id="single-instance-applications">
<title>Aplicaciones con una única instancia</title>

<p>Las aplicaciones de una sola instancia tienen una sola ventana primaria. Este modelo es común en aplicaciones de mensajería tales como correo-e, chat o contactos.</p>

</section>

<section id="multiple-instance-applications">
<title>Aplicaciones con varias instancias</title>

<p>Las aplicaciones con varias instancias pueden tener varias ventanas primarias. Normalmente, cada ventana primaria será idéntica. Las aplicaciones con varias instancias son frecuentemente visores o editores, bien para documentos o para imágenes.</p>

<p>Las aplicaciones con una o varias instancias permiten abrir varios elementos de contenido, bien mediante el uso de <link xref="tabs">pestañas</link> o con un estilo de navegación tipo navegador. Sin embargo, las ventanas múltiples ofrecen opciones adicionales, entre las que se incluyen:</p>

<list>
<item><p>Ver varios elementos de contenido unos junto a otros.</p></item>
<item><p>Colocar contenido en distintas áreas de trabajo.</p></item>
<item><p>Organizar conjuntos de contenido en diferentes ventanas (si se usan pestañas).</p></item>
</list>

<section id="parent-child-primary-windows">
<title>Ventanas primarias padre/hijas</title>

<p>Las aplicaciones con varias instancias normalmente tienen ventanas primarias idénticas (en el caso de varias ventanas del navegador web, por ejemplo). Sin embargo, esto no es siempre así.</p>

<p>Las ventanas primarias pueden tener una relación padre/hijo. En este tipo de aplicaciones, sólo hay una ventana padre, que normalmente contiene una vista general de los elementos de contenido que se pueden abrir en la ventana padre o en una ventana hija aparte. Esto permite abrir a la vez varios elementos de contenido.</p>

<p>Aunque las ventanas hijas sólo se puede abrir mediante una ventana padre, no dependen de ella para permanecer abiertas: cerrar la ventana padre no cierra necesariamente las ventanas hijas de la aplicación.</p>

<p>La aplicación <app>Notas</app> de GNOME es un buen ejemplo de ventanas primarias padre/hijas.</p>

</section>

</section>
</section>

<section id="general-guidelines">
<title>Guías Generales</title>

<list>
<item><p>Siempre se debe mostrar una ventana primaria cuando se lance la aplicación.</p></item>
<item><p>Si se activa el lanzador de la aplicación cuando está en ejecución, se deben mostrar todas sus ventanas primarias.</p></item>
<item><p>La ventana principal debe contener la principal funcionalidad de su aplicación. No se base en diálogos o ventanas secundarias con el fin de preservar funcionalidades básicas.</p></item>
<item><p>Las ventanas primarias deben ser independientes; cerrar una ventana primaria no debe provocar que se cierren las demás ventanas primarias.</p></item>
<item><p>Las ventanas de diálogo deben depender siempre de una ventana padre. Consulte la guía de <link xref="dialogs">páginas de diálogos</link>.</p></item>
<item><p>La guía de <link xref="display-compatibility">compatibilidad de la pantalla</link> es especialmente relevante para las ventanas primarias: asegúrese de que sigue los consejos sobre tamaños mínimos de pantallas, orientación y ajuste a media pantalla.</p></item>
<item><p><gui>Salir</gui> debe cerrar todas las ventanas primarias.</p></item>
</list>

</section>

<section id="api-reference">
<title>Referencia de la API</title>

<list>
<item><p><link href="https://developer.gnome.org/gtk3/stable/GtkWindow.html">GtkWindow</link></p></item>
<item><p><link href="https://developer.gnome.org/gtk3/stable/GtkApplicationWindow.html">GtkApplicationWindow</link></p></item>
</list>

</section>

</page>
