Copyright | ⓒ Manuel Gómez, 2015 |
---|---|
License | BSD3 |
Maintainer | targen@gmail.com |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
Representación orientada a objetos de una ventana interactiva donde se puede
mostrar un Diagrama
con una parte enfocada, y obtener eventos de teclas
pulsadas en la ventana.
Documentation
cerrar :: Ventana -> IO () Source
Dada una Ventana
, hacer que se cierre y que no pueda producir
más eventos de teclado.
:: Integer | Número de píxeles de anchura de la |
-> Integer | Número de píxeles de altura de la |
-> IO Ventana | La |
Construye un objeto del tipo Ventana
dadas sus dimensiones en número
de píxeles.
leerTecla :: Ventana -> IO (Maybe String) Source
Dada una Ventana
, esperar por un evento de teclado.
Cuando sobre la ventana se haya pulsado alguna tecla que no haya sido
reportada a través de este cómputo, se producirá como resultado
, donde Just
teclatecla
será el nombre de la tecla.
Si la ventana ya ha sido cerrada, se producirá como resultado
Nothing
.
El texto correspondiente a cada tecla es aproximadamente igual al
nombre del símbolo en la biblioteca GDK sin el prefijo GDK_KEY_
.
La lista completa está disponible en
el código fuente de la biblioteca GDK.
Sin embargo, la mejor manera de descubrir cuál simbolo corresponde
a cada tecla es crear una Ventana
y hacer que se imprima el texto
correspondiente a cada tecla pulsada sobre ella.
mostrar :: Ventana -> [Paso] -> Diagrama -> IO () Source
Dada una Ventana
, un Diagrama
, y una lista de Paso
s,
representar gráficamente el Diagrama
dado sobre el lienzo de la
Ventana
, haciendo resaltar visualmente el nodo del árbol alcanzado
si se realizan los movimientos correspondientes a la lista de
Paso
s desde la raíz del árbol.
Los nodos se resaltan con un cuadro verde, y se colorean según el tipo de nodo. En el caso de nodos intermedios, se colorea en azul la región correspondiente al primer subárbol del nodo binario, y en rojo la región correspondiente al segundo subárbol. En el caso de nodos terminales (hojas), el rectángulo se colorea en amarillo.