La biblioteca ConsoleLib también incluye variables de sistema de tipo PresentationAttributes. Las variables de sistema controlan los aspectos visuales de la salida visualizada; y para cambiar aspectos de la pantalla, puede cambiar dichas variables estableciendo los campos color, highlight e intensity de PresentationAttributes. Para obtener información detallada sobre estos campos, consulte el apartado Campos de PresentationAttributes en consoleUI de EGL.
Una ventana es un área rectangular donde puede colocar otras entidades visuales que se representan como variables.
Cuando se visualiza una ventana y no hay otras ventanas activas, la nueva ventana está dentro de la ventana de pantalla, que es un rectángulo que tiene las características básicas de cualquier ventana del sistema operativo. Para UNIX se aplica una diferencia cuando la biblioteca Curses está utilizándose; en este caso, la visualización de una ventana de consoleUI coloca la ventana de terminal existente en modalidad de ventanas.
Cualquier ventana adicional que visualice aparece en la parte de contenido de la ventana de pantalla, normalmente en la parte superior de la ventana que ya ha abierto. También es posible que las ventanas se visualicen una junto a la otra.
Al declarar una ventana, puede establecer varias propiedades. Position, por ejemplo, es la ubicación respecto a la esquina superior izquierda de la pantalla; y size es la altura y anchura de la ventana en número de caracteres.
myWindow WINDOW {name="myWindow", position = [2,2], size = [18,75], color = red, hasborder=yes};
Una ventana se visualiza utilizando una función EGL cuyo nombre empieza por ConsoleLib.openWindow. Si no ha visualizado una ventana al presentar otros datos, EGL le proporciona automáticamente una ventana.
myPrompt Prompt { message = "Type your ID: "};
Una solicitud se visualiza incluyendo la variable en una sentencia openUI, que enlaza la solicitud a una variable de tipo String, pero sólo para entrada. Puede configurar la solicitud para que acepte un único carácter o una serie.
myField ConsoleField ( name="myFieldName", position=[1,31], fieldLen=20, binding = "myVariable" );
* ConsoleField { position=[2,5], value="Title: " };
Se recomienda encarecidamente que cuando declare un consoleField con nombre, utilice el mismo nombre para el consoleField y para el valor del atributo de nombre del consoleField. Sin embargo, se permiten nombres distintos para estos dos usos. Podría hacer referencia al nombre de consoleField (como por ejemplo, myField) cuando el acceso al consoleField se resuelve durante la generación. Podría hacer referencia al valor de atributo de nombre (como por ejemplo, myFieldName) cuando el acceso se resuelve durante la ejecución, como ocurre cuando el consoleField se utiliza para definir un evento en la sentencia openUI.
El consoleForm es un registro de subtipo ConsoleForm y, aparte de incluir consoleFields, también puede incluir cualquiera de los campos que son válidos en cualquier registro EGL.
Para permitir la interacción de usuario con sólo un subconjunto de consoleFields del consoleForm, puede listar los consoleFields en la sentencia openUI, ya sea explícitamente o haciendo referencia a un diccionario. Al igual que el arrayDictionary, el diccionario se declara en el consoleForm y hace referencia a los consoleFields que también están declarados en el consoleForm.
EGL no visualiza ninguna variable primitiva que se declara en el consoleForm. Puede utilizar dicha variable para enlazar un consoleField, ya que se puede utilizar una variable declarada fuera del consoleForm.
Cualquier enlace especificado en la sentencia openUI altera temporalmente el enlace predeterminado en su conjunto; no queda ninguno de los enlaces de la declaración de consoleForm.
Para obtener información detallada sobre la propiedad isConstruct, consulte el apartado Sentencia OpenUI.
El orden de tabulación es el orden en que el usuario pasa de un consoleField a otro. De forma predeterminada, el orden de tabulación es el orden de los consoleFields en la declaración de consoleForm. Si incluye una lista de consoleFields en una sentencia openUI, el orden de tabulación es el orden de los consoleFields en dicha sentencia; de forma similar, si incluye un diccionario o arrayDictionary en una sentencia openUI, el orden de tabulación es el orden de los consoleFields en la declaración del diccionario o arrayDictionary.
De forma predeterminada, el usuario sale de una sentencia openUI relacionada con consoleForm pulsando la tecla Esc.
Un menú es un conjunto de etiquetas visualizadas horizontalmente. Una etiqueta es para el menú en su conjunto y una para cada menuItem del menú. Para garantizar que se obtiene una respuesta cuando el usuario selecciona un determinado menuItem, haga referencia al menú en su conjunto en la sentencia openUI y haga referencia al menuItem en una cláusula OnEvent de dicha sentencia.
Un menuItem muestra una etiqueta y se utiliza tal como se describe en el apartado anterior.
Conceptos relacionados
ArrayDictionary
Interfaz de usuario de consola
Diccionario
Consulta relacionada
Propiedades y campos de ConsoleField
Propiedades de ConsoleForm en consoleUI de EGL
Biblioteca ConsoleLib de EGL
Opciones de pantalla ConsoleUI para UNIX
Campos de Menu en consoleUI de EGL
Campos de MenuItem en consoleUI de EGL
openUI
Campos de PresentationAttributes en consoleUI de EGL
Campos de Prompt en consoleUI de EGL
Campos de Window en consoleUI de EGL
Tareas relacionadas
Crear una interfaz con consoleUI