pynprcalc.calc.ui

Functions

run() Correr la interfaz.

Classes

UI() Controla la interfaz de usuario.

Interfaz de usuario en línea de comandos.

Utiliza ncurses.

class pynprcalc.calc.ui.UI[fuente]

Controla la interfaz de usuario.

_imprimir_stack()[fuente]

Limpia la pantalla y muestra el contenido del stack.

_loop()[fuente]

Loop principal del programa.

_procesar_entrada()[fuente]

Permite al usuario ingresar números o comandos.

En el caso que el comando ingresado sea inválido, vuelve a imprimir el stack, muestra un mensaje de error y espera un nuevo intento.

class pynprcalc.calc.ui._Terminal[fuente]

Implementa el código relacionado a curses.

curses es una librería que permite trabajar con la terminal, pero como es bastante engorrosa de usar, meto todo lo que necesito en esta clase.

Implementa una ventana en donde se puede escribir texto, y la última línea es un cuadro de texto en donde el usuario puede escribir.

alto

int – Alto de la pantalla en líneas.

ancho

int – Ancho de la pantalla en columnas.

actualizar()[fuente]

Refresca la pantalla para que se vean reflejados los cambios.

También refresca el cuadro de texto.

cerrar()[fuente]

Cierra curses correctamente.

Como curses cambia el comportamiento de la terminal, al cerrar hay que revertir los cambios sino la terminal queda medio desacomodada.

escribir(x, y, texto, estilo=0)[fuente]

Escribir texto en una posición específica de la pantalla.

Opcionalmente se puede especificar un estilo para el texto. Los estilos deben ser algunas de las constantes presentes en curses, como por ejemplo curses.A_BOLD.

leer_entrada()[fuente]

Dar foco al cuadro de texto y devolver lo ingresado por el usuario.

Da foco al cuadro de texto y bloquea hasta que el usuario haya terminado de escribir, luego devuelve lo ingresado y borra el cuadro de texto.

limpiar()[fuente]

Limpiar la pantalla.

No limpia el cuadro de texto.

pynprcalc.calc.ui.run()[fuente]

Correr la interfaz.