Dentro del código (1): Definir aliases, construir el menu y comprobar la ventana

1.- Definir aliases

El archivo AIRAliases.js proporciona aliases a muchas clases de AIR, pero no a todas.
Para guardar la consistencia en el codigo, comenzaremos definiendo alguno más que vamos a utilizar para los menus (NativeMenu y NativeMenuItem) y para Loader:

air.NativeMenu = window.runtime.flash.display.NativeMenu;
air.NativeMenuItem = window.runtime.flash.display.NativeMenuItem;
air.Loader = window.runtime.flash.display.Loader;

 

 

2.-Construir el menu

A continuación vamos a construir el menu que más adelante adjuntaremos al icono. El sistema es idéntico al de crear menus para la aplicación:

  1. Se crea una instancia de NativeMenu (la llamamos “contextMenu”)
  2. Se añaden a la misma items que son instancias de NativeMenuItem (nosotros añadimos dos: “menuExit” y “menuRestore” para Salir y Restaurar. Los items llevan como parámetro el texto que se mostrará).

var contextMenu = new air.NativeMenu();
var menuExit = contextMenu.addItem(new air.NativeMenuItem("Salir"));
var menuRestore = contextMenu.addItem(new air.NativeMenuItem("Restaurar"));

Una vez creados los menus, podemos añadir los listeners de los mismos, que activarán las funciones encargadas de realizar las tareas de cada menu al seleccionarlo (cerrarAplicacion al salir y restaurarVentana al restaurar). estas funciones las crearemos más adelante:

menuExit.addEventListener(air.Event.SELECT,cerrarAplicacion);
menuRestore.addEventListener(air.Event.SELECT,restaurarVentana);

Con esto, hemos terminado los menus. Más adelante los adjuntaremos al icono.

 

 

3.- Controlar el estado de la ventana

Como hemos dicho, nuestra ventana desaparecerá al ser minimizada y mostrará el icono en su lugar.
En caso contrario, el icono no se muestra y la ventana tiene la apariencia normal.
Necesitamos por tanto otro listener que nos informe de los cambios en el estado de la ventana: Cuando el estado cambie, activará una función que llamaremos “mostrarOcultarIconoSistema” y que definiremos más adelante.
Para ello, nos aprovechamos del evento DISPLAY_STATE_CHANGE que se dispara cada vez que el estado cambia:

window.nativeWindow.addEventListener(air.NativeWindowDisplayStateEvent.DISPLAY_STATE_CHANGE,mostrarOcultarIconoSistema);

Paginas: 1 2 3 4