Ventanas secundarias que aparecen sobre las ventanas padre, primarias
Allan Day
aday@gnome.org
Calum Benson
Adam Elman
Seth Nickell
Colin Robertson
Daniel Mustieles
daniel.mustieles@gmail.com 2011 - 2020
Alex Puchades
alex94puchades@gmail.com 2015
Nicolás Satragno
nsatragno@gnome.org 2013
Benjamín Valero Espinosa
benjavalero@gmail.com 2011
Jorge González
jorgegonz@svn.gnome.org 2009
Rosa Elena Pérez
rozydicemiau@gmail.com 2014
Oscar Rafael Arachi
arachi910@gmail.com 2014 - 2015
Miguel Ajuech
miguel.ann.28@gmail.com 2014
Adrián Pérez Domínguez
adrian@aztli.org 2015
Celina Osorio Ochoa
chelinoska@gmail.com 2015
Dario Amigon Espinoza
daramigon@gmail.com 2015
Yenisei Ramírez Pérez
yeniseirape@gmail.com 2015
José Roberto Ramíres Mendoza
aczella@gmail.com 2015
Bernardo Sánchez Romero
b.sanchez.rom@gmail.com 2015
Emmanuel Márquez Juárez
resident3333@gmail.com 2015
David Romero Serrano
lemi136@hotmail.com 2015
Omar Garcia Guzman
garciag.omar91@gmail.com 2015
Edilberto Huerta Niño
edilberto.huerta0290@gmail.com 2015

# Ventanas de diálogo

Los diálogos son ventanas secundarias que aparecen sobre una ventana padre, primaria. Se utilizan para presentar información adicional o controles, incluyendo las preferencias y propiedades, o para presentar mensajes o preguntas.

GTK provides a number of stock dialogs that can be used, such as for printing or color selection.

Hay tres tipos básicos de diálogos.

# Cuándo usarlas

Los diálogos son comúnmente un patrón de diseño reconocido, y hay convenios establecidos para los diferentes tipos de diálogos que tal vez quiera usar. Las directrices sobre cada tipo de diálogo proporcionan información adicional sobre esto.

Mientras que los diálogos pueden ser una forma efectiva de divulgar controles adicionales o información, también pueden ser una fuente de interrupción para los usuarios. Por esta razón, pregúntese siempre si es necesario un diálogo, y trabaje para evitar las situaciones en las que se requieren.

Hay muchas formas de evitar el uso de diálogos:

Utilice la redacción en línea para nuevos mensajes, registros o contactos.

En las aplicaciones, las notificaciones son una alternativa a los mensajes de dialogo.

Las Ventanas emergentes pueden ser una forma de mostrar controles u opciones adicionales de una manera menos invasiva.

# Mensajes de diálogo

Los diálogos de mensajes son el tipo más sencillo de diálogo. Muestran un mensaje o una pregunta, junto con 1-3 botones con los que responder. Son siempre modales, lo que significa que evitan el acceso a la ventana padre. Los diálogos de mensajes son una elección apropiada cuando es imprescindible que el usuario vea y responda a un mensaje.

## Ejemplos

Los diálogos de confirmación utilizan un mensaje de diálogo para comprobar (o confirmar) que el usuario quiere realizar una acción. Tienen dos botones: uno para confirmar que la acción debe llevarse a cabo y otro para cancelar la acción.

Los diálogo de confirmación ser reconocerán a menudo accidentalmente o automáticamente y no siempre evitarán que se produzcan errores. A menudo es mejor proporcionar una funcionalidad de deshacer en su lugar.

Los diálogos de error presentan al usuario un mensaje de error. A menudo incluyen solo un botón que permite al usuario reconocer y cerrar el diálogo.

Los diálogos de error son generalmente un último recurso. Debe diseñar su aplicación para que no ocurran errores, y para que se recupere automáticamente si algo sale mal.

# Diálogos de acción

Los diálogos de acción presentan opciones e información sobre una acción específica antes de que se lleve a cabo. Tienen un título (que normalmente describe la acción) y dos botones primarios: uno que permite llevar a cabo la acción y uno que la cancela.

A veces, el usuario requiere elegir opciones antes de que una acción pueda llevarse a cabo. En estos casos, el botón de diálogo afirmativo debe ser insensible hasta que se hayan seleccionado las opciones necesarias.

## Ejemplos

Many of the stock GTK dialogs are action dialogs. The print dialog is a good example: it is displayed in response to the user using the print action, and presents information and options for that print action. The two header bar buttons allow the print action to either be cancelled or carried out.

# Diálogos de presentación

Los diálogos de presentación muestran información o controles. Como diálogos de acción, tienen una barra de cabecera y un tema. Sin embargo, en lugar de determinar una acción, su contenido es relativo a una aplicación o un elemento de contenido.

## Ejemplos

Las preferencias y propiedades son ejemplos de diálogos de presentación, y ambos presentan información y ajustes en relación a una entidad específica (una aplicación o un elemento de contenido). Los diálogos de propiedades son un buen ejemplo de cómo los diálogos pueden utilizarse para revelar información adicional que no siempre se necesita en la ventana principal de la aplicación.

Resista la tentación de ofrecer una ventana de preferencia para su aplicación. Siempre cuestione si los ajustes adicionales son realmente necesarios. La mayoría de la gente no se molestará en investigar las preferencias que proporcione, y las opciones de configuración contribuirán a la complejidad de su aplicación. Haga un esfuerzo para asegurar que el diseño de su aplicación funcione para todos sin necesidad de cambiar su configuración.

## Aplicar instantánea y explícitamente

Los diálogos de presentación son de aplicación instantánea o explícita. En los diálogos de aplicación instantánea, los cambios en la configuración se actualizan automáticamente, mientras que los diálogos de aplicación explícita incluyen un botón para aplicar los cambios.

La aplicación instantánea debe utilizarse siempre que sea posible. Los diálogos de presentación aplicados al instante tienen un botón cerrar en la barra de cabecera, igual que una ventana primaria.

La aplicación explícita sólo es necesaria si los cambios en el diálogo se deben aplicar simultáneamente para ver el comportamiento esperado. Los diálogos de aplicación explícita incluyen los botones Hecho y Cancelar (Cancelar restablece todos los valores del diálogo al estado anterior a cuando se abrió y Hecho aplica todos los cambios y cierra la ventana).

# Botones primarios

Los diálogos de mensaje y acción incluyen botones primarios que afectan a toda la ventana. El orden de estos botones, así como las etiquetas utilizadas, son una parte clave del diálogo.

## Orden

Cuando un diálogo incluye un botón afirmativo y un botón para cancelar, asegúrese siempre de que el botón Cancelar aparece primero, antes de que el botón afirmativo. En posición de izquierda a derecha, esto está a la izquierda.

Este orden de los botones asegura que los usuarios tomen conciencia, y recuerden, la posibilidad de cancelar antes de encontrar el botón afirmativo.

## Etiquetas

Etiquete el botón primario afirmativo con un verbo imperativo específico, por ejemplo: Guardar, Imprimir, Eliminar. Esto es más claro que una etiqueta genérica del tipo Aceptar o Hecho.

Normalmente, los diálogos de error incluyen un único botón que descarta el diálogo. En este caso no es necesario referenciar una acción específica, y puede ser una buena oportunidad para usar el humor. Disculpa aceptada o Lo entiendo son ejemplos de buenas etiquetas.

## Acción predeterminada y escape

Asigne la tecla Intro para activar el primer botón afirmativo en un diálogo (por ejemplo, Imprimir en un diálogo de impresión). Esto se denomina acción predeterminada, y se indica visualmente de manera distinta. No cree el botón predeterminado si dicha acción es irreversible, destructiva o de lo contrario será inconveniente para el usuario. Si no existe un botón apropiado para designarlo como botón predeterminado, no establezca ninguno.

También debe asegurarse de que la tecla Esc activa el botón de cancelar o el de cerrar, el que esté presente. Los diálogos de mensajes con un único botón pueden tener las teclas Esc e Intro asociadas al botón.

Asociar las teclas de Intro y Esc de esta forma proporciona una manera predecible y conveniente de continuar por el diálogo o volver atrás.

# Guías Generales

Las ventanas de diálogo no deben aparecer nunca inesperadamente, y sólo se deben mostrar como una respuesta inmediata a una acción deliberada del usuario.

Los diálogos deberían siempre tener una ventana padre.

Siga las guías de distribución cuando esté diseñando el contenido de ventanas.

Use conmutadores de vista o pestañas para dividir controles e información.

Evite apilar ventanas de diálogo unas sobre otras. Sólo se debe mostrar una ventana de diálogo a la vez.

Cuando abra un diálogo, proporcione el foco inicial del teclado al componente con el que espera que los usuarios operen primero. Este foco es especialmente importante para usuarios que deben usar un teclado para navegar por su aplicación.

# Referencia de la API

GtkAboutDialog

GtkDialog

GtkMessageDialog