<?xml version="1.0"  encoding="UTF-8" ?>

<sect1 id="widgets">
<sect1info>
<title
>Widgets</title>
<authorgroup>
<author
><firstname
></firstname
> <surname
></surname
> <affiliation
><address
> <email
></email>
</address
></affiliation>
</author>

<othercredit role="translator"
><firstname
>Juan Manuel</firstname
> <surname
>García Molina</surname
> <affiliation
><address
><email
>juanma@superiodico.net</email
></address
></affiliation
><contrib
>Traductor</contrib
></othercredit
> 

</authorgroup>
</sect1info>

<title
>Widgets</title>

<para
>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 tienen alguna funcionalidad extra que les permite tener una <quote
>asociación de texto</quote
>. El texto se asocia con el estado del widget o su slot de población. El número de estados depende del widget. Si un widget sólo tiene un estado, a este estado se le llama predefinido. </para>

<para
>Texto del widget bla bla</para>

<para
>El cuadro de diálogo tiene dos estados especiales para el texto de &kommander;. Son Initiate (iniciar) y Destroy (destruir). Se ejecutan cuando se inicializa el cuadro de diálogo y cuando se destruye. Protegen contra los llamados problemas de <quote
>race</quote
> (n.t. condiciones de fuga) al abrir y hacen que no sea necesario ningún procedimiento especial al cerrar para mantenerse a salvo.</para>


<variablelist>
<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="buttongroup.png" format="PNG"/>
</imageobject
></inlinemediaobject
> ButtonGroup </term>
<listitem>
<para
>Un contenedor para organizar los botones de un grupo. Se puede definir un título opcional usando la propiedad title (título). El marco se puede ajustar con la propiedad lineWidth (anchura de línea). El grupo de botones se puede definir para que sea exclusivo, definiendo la propiedad exclusive (exclusivo) como true (cierto). Esto significa que cuando se haga clic sobre un botón, todos los demás botones se desactivarán, con la excepción de los botones de radio, que siempre son mutuamente exclusivos aunque el grupo no sea exclusivo. los botones de radio se pueden definir para que no sean exclusivos usando la propiedad radioButtonExclusive (botón de radio exclusivo). (No estoy seguro de que esta propiedad funcione realmente). </para>
<para
>ButtonGroup tiene un estado, default (predefinido).</para>
<para
>El widget de texto para un grupo de botones son las asociaciones de texto para cada uno de los botones en el orden el que aparecen en el grupo de botones. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="checkbox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> CheckBox </term>
<listitem>
<para
>Un botón que puede estar marcado o sin marcar. También puede estar semimarcado si la proipedad tristate (triestado) está definida como true (cierto). La etiqueta asociada con la CheckBox (casilla de verificación) se define en la propiedad text (texto). Definiendo la propiedad cheched (marcado) tendrá marcada inicialmente la casilla de verificación. </para>
<para
>Una CheckBox (casilla de verificación) tiene 3 estados, checked (marcado), semichecked (semimarcado) y unchecked (sin marcar). </para>
<para
>El texto del widget para una Checkbox (casilla de verificación) es el valor de la propiedad text (texto). </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="pushbutton.png" format="PNG"/>
</imageobject
></inlinemediaobject
> CloseButton </term>
<listitem>
<para
>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 como true (cierto). </para>
<para
>CloseButton tiene un estado, default (predefinido). </para>
<para
>No han ningún texto de widget asociado con CloseButton. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="combobox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> ComboBox </term>
<listitem>
<para
>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 como true (cierto), el usuario puede introducir cadenas arbitrarias. </para>
<para
>ComboBox tiene un estado, default (predefinido). </para>
<para
>El texto del widget de un ComboBox es el texto del elemento que esté seleccionado. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="pushbutton.png" format="PNG"/>
</imageobject
></inlinemediaobject
> ExecButton </term>
<listitem>
<para
>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 como true (cierto). </para>
<para
>ExecButton tiene un estado, default (predefinido). </para>
<para
>No hay ningún texto de widget asociado con ExecButton. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="lineedit.png" format="PNG"/>
</imageobject
></inlinemediaobject
> FileChooser </term>
<listitem>
<para
>El widget FileChooser (selector de archivos) combina un LineEdit (editor de línea) con un botón que, cuando se usa, presenta un cuadro de diálogo para seleccionar 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 como true (cierto). Se muestra como el título de la ventana del cuadro de diálogo. Si no se indica el título, se mostrará como título el tipo de selección. Los archivos que se muestran en el cuadro de diálogo se pueden limitar usando la propiedad selectionFilter (filtro de selección). </para>
<para
>FileChooser (selector de archivos) tiene un estado, default (predefinido). </para>
<para
>El texto del widget para un FileChooser (selector de archivos) es el texto que tiene LineEdit (el archivo que haya seleccionado el usuario). </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="groupbox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> GroupBox </term>
<listitem>
<para
>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 si se define la propiedad title (título). </para>
<para
>GroupBox (caja de grupo) tiene un estado, default (predefinido). </para>
<para
>El texto del widget GroupBox (caja de grupo) es la combinación de las asociaciones del texto de cada uno de los widgets de texto que contiene. Estarán en el orden en el que aparezcan dentro del GroupBox. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="lineedit.png" format="PNG"/>
</imageobject
></inlinemediaobject
> LineEdit </term>
<listitem>
<para
>Un widget LineEdit (editor de línea) es un editor de textos de una línea. Permite que el usuario introduzca y modifique una sola línea de texto. El texto inicial para el 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). El modo se define con la propiedad echoMode (modo de eco). </para>
<para
>LineEdit tiene un estado, predefinido. </para>
<para
>El widget text (texto) para LineEdit es el texto que contiene el editor. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="listbox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> ListBox </term>
<listitem>
<para
>Un widget ListBox (lista de selección múltiple) proporciona una lista en la que los elementos son seleccionables. Normalmente, hay uno o ningún elemento seleccionado. Este comportamiento se puede cambiar con la propiedad selectionMode (modo de selección). Los elementos se añaden al ListBox usando la ventana de edición. </para>
<para
>Una ListBox (lista de selección múltiple) tiene sólo un estado, default (predefinido). </para>
<para
>El widget text (texto) para una ListBox son los elementos que contiene el ListBox. @selectedWidgetText sólo devolverá los elementos que estén seleccionados en ese momento. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="listview.png" format="PNG"/>
</imageobject
></inlinemediaobject
> ListView </term>
<listitem>
<para
>Este widget ahora está activado en &kommander;. Su funcionalidad es la misma que el widget de árbol, así que puede dirigirse allí para tener la referencia completa. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="pixlabel.png" format="PNG"/>
</imageobject
></inlinemediaobject
> PixmapLabel </term>
<listitem>
<para
>Un widget sencillo que contiene una imagen o una etiqueta de texto. El pixmap que se vaya a mostrar se define en la propiedad pixmap. El texto se define 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 true (cierto), la imagen se escalará hasta que ajuste con el tamaño del widget. El formato del texto se puede definir con la propiedad textFormat (formato de texto). </para>
<para
>Este widget no está activado en &kommander; y no tienen ningún estado o widget text (de texto). </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="radiobutton.png" format="PNG"/>
</imageobject
></inlinemediaobject
> RadioButton </term>
<listitem>
<para
>Un botón que se puede marcar o desmarcar, utilizado habitualmente en el ButtonGroup (grupo de botones) para hacer un selección exclusiva. Una 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 true (cierto). Si todos los RadioButtons (botones de radio) de un ButtonGroup tienen la propiedad checked (marcado) definida como true (cierto), el único que quedará marcado será el último. </para>
<para
>RadioButton (botón de radio) tiene 2 estados, checked (marcado) y unchecked (no marcado). </para>
<para
>No hay ningún widget de texto asociado con un RadioButton (botón de radio). </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="richtextedit.png" format="PNG"/>
</imageobject
></inlinemediaobject
> RichTextEditor </term>
<listitem>
<para
>Este widget proporciona un editor de textos que permite el formateo simple del texto. </para>
<para
>RichTextEditor (editor de texto rico) tiene un estado, default (predefinido). </para>
<para
>El widget text (de texto) para RichTextEditor (editor de texto rico) es el texto que contiene el editor, en formato de texto rico. El texto seleccionado se puede devolver con @selectedWidgetText. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="spinbox.png" format="PNG"/>
</imageobject
></inlinemediaobject
> SpinBoxInt </term>
<listitem>
<para
>Un widget que permite al usuario cambiar un valor entero bien 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 un valor de texto que se mostrará en lugar del valor mínimo. </para>
<para
>Este widget sólo tiene un estado, default (predefinido). </para>
<para
>El widget text (de texto) para SpinBoxInt (casilla de selección numérica entera) es el valor entero que se muestra actualmente. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="frame.png" format="PNG"/>
</imageobject
></inlinemediaobject
> SubDialog </term>
<listitem>
<para
>Un botón que hace funcionar otro cuadro de diálogo de &kommander; cuando se presiona. El cuadro de diálogo que se va a hacer funcionar se define en la propiedad kmdrFile (archivo kmdr). Si la propiedad default (predefinida) está definida como true (cierto), el cuadro de diálogo se hará funcionar si se pulsa Intro cuando el cuadro de diálogo tenga el foco. Creo que también se puede usar como contenedor, aunque tengo que jugar con esto un poco más. </para>
<para
>SubDialog (sub-cuadro de diálogo) tiene un estado, default (predefinido). </para>
<para
>El widget text (de texto) para SubDialog (sub-cuadro de diálogo) es la asociación de texto del cuadro de diálogo que ejecuta. </para>
<note
><para
>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 <function
>@dialog()</function
> en el texto de &kommander; u olvidarnos de ello? No está bien tal y como está.</para
></note>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="tabwidget.png" format="PNG"/>
</imageobject
></inlinemediaobject
> TabWidget </term>
<listitem>
<para
>Un widget que proporciona varias solapas, cada una de las cuales puede contener otros widgets. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="multilineedit.png" format="PNG"/>
</imageobject
></inlinemediaobject
> TextEdit </term>
<listitem>
<para
>Un editor de texto simple con varias líneas. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="label.png" format="PNG"/>
</imageobject
></inlinemediaobject
> TextLabel </term>
<listitem>
<para
>Un widget sencillo que contiene un trozo de texto. Este widget le permite también definir un pixmal. De acuerdo, el editor dice que ambos son QLabels. Entonces, ¿por qué tenemos 2 widgets que parecen ser la misma cosa pero con dos nombres diferentes? Está planificado para que se corrija en A7. </para>
<para
>En la alpha 6, este widget está parcialmente activado, y se puede definir usando llamadas DCOP externas. </para>
</listitem>
</varlistentry>

<varlistentry>
<term>
<inlinemediaobject
><imageobject>
<imagedata fileref="listview.png" format="PNG"/>
</imageobject
></inlinemediaobject
> TreeWidget </term>
<listitem>
<para
>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 alpha 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 <quote
>/</quote
> como separador. Para añadir los datos de la columna, use el carácter de tabulador con escape <quote
>\t</quote
> entre las columnas. </para>
</listitem>
</varlistentry>
</variablelist>
</sect1>
