# Widgets

Los bloques de construcción de un cuadro de diálogo de &kommander; son los widgets. Son como cualquier otro widget de las bibliotecas de &Qt; y de &kde;, salvo que poseen alguna funcionalidad extra que les permite tener una asociación de texto. El texto se asocia con el estado del widget o su slot populate. El número de estados depende del widget. Si un widget sólo tiene un estado, a este estado se le llama predefinido.

Texto del widget bla bla

El cuadro de diálogo tiene dos estados especiales para el texto de &kommander;. Son Initiate (iniciar) y Destroy (destruir), y se ejecutan cuando se inicializa y destruye el cuadro de diálogo. Protegen contra las llamadas condiciones de carrera en la apertura y eliminan la necesidad de procedimientos especiales al cierre.

ButtonGroup

- Un contenedor para organizar botones en grupo. Se puede establecer un título opcional con la propiedad title (título). El marco se puede ajustar con la propiedad lineWidth (ancho de línea). El grupo de botones se puede definir como exclusivo estableciendo la propiedad exclusive (exclusivo) a «verdadero», con lo que, cuando se haga clic sobre un botón, los demás se desactivarán, excepto en los botones de radio, que siempre son mutuamente exclusivos aunque el grupo no lo sea. Los botones de radio se pueden definir como no exclusivos usando la propiedad radioButtonExclusive (botón de radio exclusivo) (No es seguro que esta propiedad funcione realmente).

  Un ButtonGroup tiene un estado, el predefinido.

  El texto del widget para un ButtonGroup son las asociaciones de texto para cada uno de los botones, en el orden en que aparecen en el grupo.

CheckBox

- Un botón que puede estar marcado o sin marcar. También puede estar semimarcado si la propiedad tristate (triestado) está definida a «verdadero». La etiqueta asociada con el CheckBox se define en la propiedad text (texto). Estableciendo la propiedad checked (marcado), la casilla se marcará al inicio.

  Un CheckBox (casilla de verificación) tiene 3 estados, marcado, semimarcado y sin marcar.

  El texto del widget para un Checkbox es el valor de la propiedad text (texto).

CloseButton

- Un botón que, cuando se hace clic sobre él, ejecuta su asociación de texto y luego cierra el cuadro de diálogo. La etiqueta del botón se define con la propiedad text (texto). La salida de la asociación de texto (cómo decirlo) se mostrará en la salida estándar siempre que la propiedad writeStdout (n.t. escribir a salida estándar) esté definida a «verdadero».

  Un CloseButton tiene un estado, el predefinido.

  No han ningún texto de widget asociado con CloseButton.

ComboBox

- Un ComboBox (lista de selección) es un widget de selección que combina un botón y un menú desplegable. Muestra la opción actual del usuario en una lista de opciones en un espacio mínimo. Los elementos se añaden a la lista usando la ventana de edición. Si está definida la propiedad editable a «verdadero», el usuario puede introducir cadenas arbitrarias.

  Un ComboBox tiene un estado, el predefinido.

  El texto del widget de un ComboBox es el texto del elemento seleccionado.

ExecButton

- Un botón que, cuando se pulsa, ejecuta su asociación de texto. La etiqueta del botón se define con la propiedad text (texto). La salida de la asociación de texto (cómo decirlo) se mostrará en la salida estándar siempre que la propiedad writeStdout (n.t. escribir a salida estándar) esté definida a como «verdadero».

  Un ExecButton tiene un estado, el predefinido.

  No hay ningún texto de widget asociado con ExecButton.

FileChooser

- El widget FileChooser (selector de archivos) combina un LineEdit (editor de línea) con un botón que, al pulsarse, muestra un cuadro de selección de archivos o carpetas. El archivo o carpeta seleccionado se almacena en el LineEdit. El tipo de FileChooser se define con la propiedad selectionType (tipo de selección). Los tipos disponibles son Open (abrir), Save (guardar) y Directory (directorio). Se pueden seleccionar varios archivos o carpetas si la propiedad selectionOpenMultiple (selección de apertura múltiple) está definida a «verdadero». Se puede definir un título para el FileChooser con la propiedad selectionCaption (n.t. título de selección), que se mostrará como título del cuadro de diálogo. Si no se indica título, se mostrará el tipo de selección. Los archivos mostrados se pueden limitar mediante la propiedad selectionFilter (filtro de selección).

  Un FileChooser tiene un estado, el predefinido.

  El texto del widget para un FileChooser es el texto del LineEdit (el archivo seleccionado por el usuario).

GroupBox

- Un widget contenedor que alberga otros widgets. El marco se ajusta con la propiedad lineWidth (ancho de línea). Se puede añadir un título definiendo la propiedad title (título).

  Un GroupBox tiene un estado, el predefinido.

  El texto del widget GroupBox (caja de grupo) es la combinación del texto de cada uno de los widgets de texto que contiene, en el orden en que aparecen dentro del GroupBox.

LineEdit

- Un widget LineEdit (editor de línea) es un editor de textos de una línea, que permite que el usuario introduzca una y la modifique. El texto inicial del editor se puede definir en la propiedad text (texto). El widget se puede definir como de sólo lectura con la propiedad readOnly (sólo lectura). Hay 3 modos para el widget: Normal, NoEcho (sin eco) y Password (contraseña), que se definen con la propiedad echoMode (modo de eco).

  Un LineEdit tiene un estado, predefinido.

  El texto del widget LineEdit es el texto que contiene el editor.

ListBox

- Un widget ListBox (lista de selección múltiple) proporciona una lista de elementos seleccionables. Normalmente, hay uno o ninguno seleccionado. Este comportamiento se puede modificar con la propiedad selectionMode (modo de selección). Los elementos se añaden al ListBox usando la ventana de edición.

  Un ListBox tiene sólo un estado, el predefinido.

  El texto del widget ListBox son los elementos que contiene. @selectedWidgetText sólo devolverá los elementos que estén seleccionados en ese momento.

ListView

- Este widget ahora está activado en &kommander;. Su funcionamiento es el mismo que en el widget de árbol, así que puede consultar la referencia completa de este.

PixmapLabel

- Un widget sencillo que contiene una imagen o una etiqueta de texto. El pixmap a mostrar se define en la propiedad pixmap, y el texto en la propiedad text (texto). Sólo se puede definir una de las dos propiedades (eso creo, porque no puedo hacer que el editor defina ambas simultáneamente). Si scaledContents (contenido escalado) está definido como «verdadero», la imagen se escalará hasta ajustarse al tamaño del widget. El formato del texto se puede definir con la propiedad textFormat (formato de texto).

  Este widget no está activado en &kommander; y no tiene ningún estado o texto de widget.

RadioButton

- Un botón que se puede marcar o desmarcar, utilizado habitualmente en el ButtonGroup (grupo de botones) para hacer un selección exclusiva. La etiqueta asociada con el botón se puede definir en la propiedad text (texto). Se puede inicializar un botón como marcado si se define la propiedad checked (marcado) como «verdadero». Si todos los RadioButtons de un ButtonGroup tienen la propiedad checked (marcado) así definida, el único que quedará marcado será el último.

  Un RadioButton tiene 2 estados, marcado y sin marcar.

  No hay ningún texto de widget asociado con un RadioButton.

RichTextEditor

- Este widget proporciona un editor de texto que permite un formateo simple.

  Un RichTextEditor tiene un estado, el predefinido.

  El texto de widget para RichTextEditor es el texto que contiene el editor, en formato de texto rico. El texto seleccionado se puede devolver con @selectedWidgetText.

SpinBoxInt

- Un widget que permite al usuario cambiar un valor entero presionando las flechas arriba y abajo o introduciendo un valor en la casilla. Los valores mínimo y máximo del widget se pueden definir con las propiedades minValue(valor mín.) y maxValue (valor máx.). La propiedad specialValueText (texto de valor especial) se usa para definir el valor que se mostrará en lugar del valor mínimo.

  Este widget sólo tiene un estado, el predefinido.

  El texto del widget SpinBoxInt es el valor entero que se muestra en el momento.

SubDialog

- Un botón que, al presionarse, lanza otro cuadro de diálogo de &kommander;. Dicho cuadro de diálogo se define en la propiedad kmdrFile (archivo kmdr). Si la propiedad default (predefinida) está establecida a «verdadero», el nuevo cuadro de diálogo se ejecutará si se pulsa Intro cuando el actual tenga el foco. Creemos que también se puede usar como contenedor, aunque es necesario probarlo un poco más.

  Un SubDialog tiene un estado, el predefinido.

  El texto de widget de SubDialog (sub-cuadro de diálogo) es la asociación de texto del cuadro de diálogo que ejecuta.

  Esto es algo parecido a contener el cuadro de diálogo, que se ha quedado obsoleto con el nuevo concepto de proyecto. ¿Deberíamos dejarlo con `@dialog()` en el texto de &kommander; u olvidarnos de ello? No está bien tal y como está.

TabWidget

- Un widget que proporciona varias pestañas que a su vez pueden contener otros widgets.

TextEdit

- Un editor de texto simple con varias líneas.

TextLabel

- Un widget sencillo que contiene un trozo de texto. Este widget le permite también definir un pixmap. De acuerdo, el editor dice que ambos son QLabels. Entonces, ¿por qué tenemos 2 widgets que parecen lo mismo pero con dos nombres diferentes? Está planificado para que se corrija en la A7.

  En la alfa 6, este widget está parcialmente activado, y se puede definir usando llamadas DCOP externas.

TreeWidget

- Un widget que proporciona una lista con forma y estructura de árbol. Este widget no está activado completamente para añadir o eliminar elementos en la alfa 6. Puede añadir elementos hijo y datos de varias columnas. La limitación actual es que no puede modificar las columnas. Para añadir un nodo hijo, use / como separador. Para añadir los datos de la columna, use el carácter de tabulador con escape \t entre las columnas.