Paneles y GUI
18 pasos en 5 series de Igor Pro.
Los procedimientos de Igor suelen terminar como herramientas para otras personas del laboratorio, y eso implica un panel de control. NewPanel, botones y la estructura WMButtonAction que te entregan, cajas de grupo, y luego los controles que guardan un valor: SetVariable, popups, checkboxes, sliders.
Siguen los controles más grandes: listboxes respaldados por waves, ValDisplay, pestañas, y construir controles en tiempo de ejecución cuando no sabes cuántos vas a necesitar. Conectarlo todo es la última serie: ControlInfo, deshabilitar cosas, hooks de ventana, Prompt y DoPrompt para un diálogo rápido, y bloques Menu para que tu herramienta aparezca donde la gente la busca.
Un panel
- Un panel de controlNewPanel abre una ventana que aloja controles en lugar de datos.
- BotonesUn botón nombra la función que llama, y esa función recibe una estructura.
- Agrupar controlesUn GroupBox es un marco con título, y con él un panel cargado sigue legible.
Valores que fija el usuario
- Números y texto que el usuario puede editarSetVariable liga un control a una global, así el valor sobrevive al clic.
- Reaccionar a una ediciónUna acción de SetVariable se dispara con cada tipo de cambio; revisa cuál te llegó.
- Menús emergentesLa lista de un popup puede ser una cadena literal o una expresión evaluada al abrirse.
- Casillas y botones de radioEl mismo control hace ambos: un modo compartido vuelve exclusivo al grupo.
- DeslizadoresUn deslizador es un SetVariable que puedes arrastrar, y reporta continuamente salvo que le pidas lo contrario.
Controles más grandes
- ListboxesUn listbox está respaldado por waves: una para el texto, otra para la selección.
- Mostrar un valor de vueltaValDisplay es de solo lectura, y su valor puede ser una expresión que se reevalúa.
- PestañasUn control de pestañas es un control más la disciplina de ocultar tú las otras páginas.
- Controles creados en tiempo de ejecuciónUn control se crea con un comando, así que un panel puede construirse desde los datos.
Conectarlo todo
- Leer un controlControlInfo le pregunta a un control qué contiene, sin que tú guardes una copia.
- Habilitar y deshabilitarTodo control acepta disable, y usándolo el panel se explica solo.
- Hooks de ventanaUna función hook ve lo que le pasa a la ventana misma, no a un solo control.
- Un diálogo sin panelPrompt más DoPrompt es un diálogo completo en seis líneas, y no necesita ventana.
- MenúsUn bloque Menu agrega elementos a los menús de Igor, y cada elemento nombra una llamada.
Bis
- control_panel.ipfUn panel funcional: globales, controles, acciones y un hook que limpia al final.