2.13 FrameWork -- Estructura de aplicaciones interactivas (FrameWork)

Availability: Macintosh.

El módulo FrameWork contiene clases que proporcionan la estructura de una aplicación Macintosh interactiva. El programador construye una aplicación creando subclases que redefinen diversos métodos de las clases base. Se puede redefinir la funcionalidad a varios niveles, por ejemplo, para gestionar los clics de un diálogo de modo no estándar no es necesario redefinir completamente la gestión de eventos.

FrameWork todavía está en obras. La documentación describe sólo la funcionalidad más importante, y no de la manera más lógica. Examina los fuentes de los ejemplos para enterarte de más cosas. A continuación van algunos comentarios enviados al grupo de noticias de MacPython acerca de la potencia y las limitaciones de FrameWork:

El punto fuerte de FrameWork es que permite colarse en el flujo de control en muchos sitios diferentes. W, por ejemplo, utiliza un modo diferente de activar/desactivar menúes que simplemente se enchufa y deja el resto intacto. Los puntos débiles de FrameWork son que no tiene una interfaz de órdenes abstracta (lo que no resultaría complicado), que sus servicios de diálogos es mínimo y que sus servicios de controles/barras de herramientas brilla por su ausencia.

El módulo FrameWork define las siguientes funciones:

Application ()
Un objeto que representa la aplicación completa. Luego hay una descripción de los métodos. La rutina __init__() predeterminada crea un diccionario de ventanas vacío y una barra de menúes con un menú de manzana.

MenuBar ()
Un objeto que representa la barra de menúes. No suele crearlo el usuario.

Menu (bar, title[, after])
Un objeto que representa un menú. Tras la creación se le pasa la MenuBar en la que debe aparecer el menú, la cadena de título en title y la posición after (contando desde -1) en que debe aparecer el menú. Si no se indica after aparecerá al final.

MenuItem (menu, title[, shortcut, callback])
Crea un objeto elemento de menú. Los argumentos son el menú a crear, la cadena del texto del elemento title y, opcionalmente, el atajo de teclado y la rutina de respuesta. Los argumentos de la llamada a la rutina de respuesta son menu-id, orden del menú (contando desde 1), ventana activa y el registro de evento.

En lugar de un objeto invocable, se puede proporcionar una cadena. En tal caso, la selección del menú provoca la búsqueda del método en la ventana activa y en la aplicación. El nombre del método es la cadena de respuesta prefijada por 'domenu_'.

Se puede llamar al método fixmenudimstate() de MenuBar para actualizar el aspecto (activo o inactivo) de todos los elementos del menú, basándose en la ventana activa.

Separator (menu)
Añade un separador al final de un menú.

SubMenu (menu, label)
Crea un submenú denominado label bajo el menú menu. Devuelve un objeto menú.

Window (parent)
Crea una ventana (no modal). Parent es el objeto aplicación al que pertenece la ventana. No se muestra la ventana todavía.

DialogWindow (parent)
Crea una ventana de diálogo no modal.

windowbounds (width, height)
Devuelve una tupla (left, top, right, bottom), (izquierda, superior, derecha, inferior) adecuada para crear una ventana del tamaño indicado. La ventana estará apilada respecto a las ventanas anteriores y se intentará hacer que la ventana se mantenga dentro de la pantalla. No obstante, la ventana siempre tendrá el tamaño indicado, por lo que parte de ella puede quedar fuera de la pantalla.

setwatchcursor ()
Hace que el cursor del ratón sea un reloj.

setarrowcursor ()
Hace que el cursor del ratón sea una flecha.


Subsecciones

Ver Sobre este documento... para obtener información sobre sugerencias.