One of the new desktop features in AIR 2.6 is owned windows. Owned windows are primarily designed for when you want a utility or a lightweight window to be related to another window as in the case of a tool pallet. The following describes the relationship between owned windows and their owners:
- Owned windows always have a higher z-order than their owners which means they always appear on top (you wouldn’t want a tool pallet to get lost behind your application window).
- When you minimize or hide the owner, all owned windows are minimized, as well. When you restore the owner, the owned windows are also restored.
- When you close the owner, all owned windows also close.
Here’s an example of owned windows in action:
And here’s the code:
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx">
private function openNewWindow(owned:Boolean):void
var initOptions:NativeWindowInitOptions = new NativeWindowInitOptions();
initOptions.type = NativeWindowType.UTILITY;
if (owned) initOptions.owner = this.nativeWindow;
var newWin:NativeWindow = new NativeWindow(initOptions);
newWin.title = (owned) ? "Owned Window" : "Normal Window";
<s:VGroup width="100%" height="100%" verticalAlign="middle" horizontalAlign="center">
<s:Button label="Open Ownded Window" click="openNewWindow(true);"/>
<s:Button label="Open Regular Window" click="openNewWindow(false);"/>