Eine neue Funktion in AIR 2.6 sind sogenannte „owned windows”. Im Wesentlichen geht es darum, kleine Utilityfenster erzeugen zu können, die in Abhängigkeit zu einem Hauptfenster reagieren (z.B. eine Toolpalette). Christian Cantrell, Product Manager bei Adobe, hat die neue Funktion vorgestellt.

Die Vorteile oder Eigenschaften eines solchen Fensters sind:

  • Sie liegen immer auf einer höheren Ebene (z-Achse) als das Hauptfenster. Sie sind somit immer zu sehen und verschwinden nicht hinter dem Hauptfenster.
  • Beim Minimieren des Hauptfenster verschwindet das dazugehörige „owned window”.
  • Ebenso wird beim Schließen des Hauptfenster das dazugehörige „owned window” geschlossen.

Gibt man beim Initialisieren eines Fensters einen Besitzer (Owner) an, so verhält es sich wie oben beschrieben. In ActionScript funktioniert dies so: initOptions.owner = this.nativeWindow.

Hier ein Beispielscreenshot, der zeigt, wie es aussieht:

Sourcecode

Actionscript:
  1. xml version="1.0" encoding="utf-8"?>
  2. "http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx">
  3.    
  4.         [CDATA[
  5.             private function openNewWindow(owned:Boolean):void
  6.             {
  7.                 // neues Objekt mit Einstellungen für Window erzeugen
  8.                 var initOptions:NativeWindowInitOptions = new NativeWindowInitOptions();
  9.  
  10.                 // Utility als Fenster festlegen
  11.                 initOptions.type = NativeWindowType.UTILITY;
  12.  
  13.                 // true: owned window erzeugen
  14.                 // false: normales fenster erzeugen
  15.                 if (owned) initOptions.owner = this.nativeWindow;
  16.  
  17.                 // neues Fenster mit den eingestellten Optionen
  18.                 var newWin:NativeWindow = new NativeWindow(initOptions);
  19.  
  20.                 // Titel des Fensters vergeben
  21.                 newWin.title = (owned) ? "Owned Window" : "Normal Window";
  22.                 newWin.activate();
  23.             }
  24.         ]]>
  25.    
  26.     width="100%" height="100%" verticalAlign="middle" horizontalAlign="center">
  27.         Button label="Open Ownded Window" click="openNewWindow(true);"/>
  28.         Button label="Open Regular Window" click="openNewWindow(false);"/>
  29.    

Demovideo

Hier die passende Demo von Christian Cantrell:

Link: Owned Windows in AIR 2.6