<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="primary-windows" xml: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>
    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Daniel Mustieles</mal:name>
      <mal:email>daniel.mustieles@gmail.com</mal:email>
      <mal:years>2011 - 2021</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Alex Puchades</mal:name>
      <mal:email>alex94puchades@gmail.com</mal:email>
      <mal:years>2015</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Nicolás Satragno</mal:name>
      <mal:email>nsatragno@gnome.org</mal:email>
      <mal:years>2013</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Benjamín Valero Espinosa</mal:name>
      <mal:email>benjavalero@gmail.com</mal:email>
      <mal:years>2011</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Jorge González</mal:name>
      <mal:email>jorgegonz@svn.gnome.org</mal:email>
      <mal:years>2009</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Rosa Elena Pérez</mal:name>
      <mal:email>rozydicemiau@gmail.com</mal:email>
      <mal:years>2014</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Oscar Rafael Arachi</mal:name>
      <mal:email>arachi910@gmail.com</mal:email>
      <mal:years>2014 - 2015</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Miguel Ajuech</mal:name>
      <mal:email>miguel.ann.28@gmail.com</mal:email>
      <mal:years>2014</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Adrián Pérez Domínguez</mal:name>
      <mal:email>adrian@aztli.org</mal:email>
      <mal:years>2015</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Celina Osorio Ochoa</mal:name>
      <mal:email>chelinoska@gmail.com</mal:email>
      <mal:years>2015</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Dario Amigon Espinoza</mal:name>
      <mal:email>daramigon@gmail.com</mal:email>
      <mal:years>2015</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Yenisei Ramírez Pérez</mal:name>
      <mal:email>yeniseirape@gmail.com</mal:email>
      <mal:years>2015</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>José Roberto Ramíres Mendoza</mal:name>
      <mal:email>aczella@gmail.com</mal:email>
      <mal:years>2015</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Bernardo Sánchez Romero</mal:name>
      <mal:email>b.sanchez.rom@gmail.com</mal:email>
      <mal:years>2015</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Emmanuel Márquez Juárez</mal:name>
      <mal:email>resident3333@gmail.com</mal:email>
      <mal:years>2015</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>David Romero Serrano</mal:name>
      <mal:email>lemi136@hotmail.com</mal:email>
      <mal:years>2015</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Omar Garcia Guzman</mal:name>
      <mal:email>garciag.omar91@gmail.com</mal:email>
      <mal:years>2015</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Edilberto Huerta Niño</mal:name>
      <mal:email>edilberto.huerta0290@gmail.com</mal:email>
      <mal:years>2015</mal:years>
    </mal: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>
