# Selector de opciones

> Opciones registradas sobre un punto, como teclas o como lista, que muestran en cuál está realmente la planta.

**Selector de opciones** ofrece al operador un conjunto cerrado de elecciones registradas (un modo
de operación, una receta, un escalón de velocidad) sobre un punto escribible. Elegir una escribe el
valor de esa opción; el mismo punto leído de vuelta es lo que enciende la opción activa. Esa
lectura de vuelta es toda la razón de ser del tipo: una fila de [Botones](component-button) que
escriban cada uno un valor fijo escribe igual de bien y no muestra nada. Es un componente de
*Mando*; uno nuevo ocupa 5 × 1 celdas.

## Datos {#data}

| Campo | Qué hace | Valores | Por defecto |
|---|---|---|---|
| Dirección | La dirección de Logic con raíz en la que se escribe la elección y de la que se lee de vuelta: una variable de memoria o un tag escribible. La lista se estrecha a los puntos que se pueden escribir realmente. | Texto libre; sugerencias de puntos escribibles | vacío |

## Opciones {#options}

| Campo | Qué hace | Valores | Por defecto |
|---|---|---|---|
| Muestra | Cómo se ofrecen las opciones: una tecla por opción, una junto a otra, con todas las elecciones legibles a la vez, o una lista que se abre a demanda, para una celda sin sitio para una fila de teclas. | `Una tecla por opción` · `Una lista que se abre` | `Una tecla por opción` |

Cada opción es una tarjeta con las dos cosas que una opción *es*:

| Campo | Qué hace | Valores | Por defecto |
|---|---|---|---|
| texto | La palabra que el operador lee en la tecla o en la lista. En blanco recae en el propio valor, porque una tecla sin nada encima no dice nada. | Texto libre | vacío |
| valor | El valor que se escribe cuando se elige esta opción, y la lectura que la muestra activa. Es un código, comparado exactamente: lo que queda entre dos códigos no es una elección. | Cualquier número | vacío (no declara nada hasta que se escribe) |

El orden de las tarjetas es el orden de las teclas bajo la mano del operador: las flechas de subir
y bajar reordenan; aquí nada se ordena solo. Dos opciones que nombran el mismo valor no pueden
dibujar las dos una tecla (el punto solo podría informar de una de ellas, y el mando no podría
decir de cuál); el panel lo dice y la duplicada no dibuja nada.

Todas las teclas comparten un mismo tamaño de letra, reservado a partir de la palabra registrada
más ancha, así que la fila se lee como un solo mando y no como una fila de teclas sin relación. Un
Selector de opciones sin opciones dice "No hay ninguna opción registrada." en lugar de dibujar una
fila vacía que parece un sinóptico que todavía carga.

## Qué se enciende, y cuándo {#what-lights-and-when}

La tecla encendida (o la selección de la lista) es la lectura propia del punto, nunca el clic:

| Situación | El mando muestra |
|---|---|
| El punto informa de un valor registrado | Esa opción encendida, o seleccionada en la lista |
| El punto informa de un valor que ninguna opción registra | Nada encendido: encender la tecla más cercana sería el sinóptico inventando el modo de la planta |
| El punto no está leyendo | Nada encendido, y el componente lleva la marca compartida de mala lectura |

Una elección no pide ninguna lectura primero (la opción lleva un valor absoluto), así que la mala
calidad deja el mando *utilizable* mientras retira la indicación.

## Semántica de la escritura {#write-semantics}

Elegir una opción escribe su valor por el punto único de escritura de la lógica de la estación,
bajo la misma autorización que pasan todos los comandos. Un punto que no puede contener un número
rechaza la escritura con el motivo en la línea de respuesta del mando ("Este punto contiene fecha y hora,
así que 2 no es un valor que admita."); una elección lograda responde con la palabra de la opción
("Escrito Automático"). La línea de respuesta caduca a los pocos segundos, y la autorización se
vuelve a comprobar en cada elección. Donde las opciones se muestran como teclas, en una celda sin
sitio para esa línea y sin título de esquina sobre la fila, la respuesta ocupa la palabra de la
tecla que se pulsó mientras se muestra, un rechazo con la tinta de error. La tecla conserva su
ancho, así que lo que no cabe termina en puntos suspensivos, con la respuesta entera en la
información emergente; ninguna tecla se mueve, y la palabra vuelve cuando la respuesta caduca.
Donde las opciones se muestran como lista, la respuesta ocupa del mismo modo el lugar de lo que
muestra la lista cerrada: la lista conserva su ancho y su flecha, y lo que mostraba vuelve
cuando la respuesta caduca.

Sobre un tag con la etapa **Límites** habilitada, una opción cuyo valor queda fuera de esos
límites se rechaza del mismo modo, con un motivo que nombra esos límites, y
no se escribe nada: tomada en el borde, pondría la planta en una opción distinta de la
elegida, y la línea confirmaría la elegida.

Sobre un punto que contiene enteros (un tag de tipo entero cuya Escala y Calibración dejan el valor sin cambios, o una variable de memoria que contiene enteros), una opción cuyo valor tiene decimales se rechaza del mismo modo en lugar de redondearse ("Este punto admite un entero, así que 2.5 no se escribe."), y no se escribe nada.

## Permisos y el candado {#permissions-and-the-lock}

Operar el Selector de opciones necesita el permiso del rol para operar los paneles de control. Una
pulsación bloqueada deshabilita las teclas y dibuja la marca compartida de candado con el motivo en
la información emergente del componente (véase la
[página de los paneles de control](home)).

Las secciones compartidas Apariencia, Identificación, Posición y capa y Acciones se describen en la
[página de los componentes](components#the-shared-property-sections).
