WindowedApplication,Applicationは、Airのメイン画面のクラスのことね...と思っていたぐらいの所に、StageだのNativeWindowだの出てきて、混乱気味。
...という事で、関連しそうな所をクラス図にしてみました。
NativeApplicationというクラスは、自分自身のインスタンスをstaticに取れるようなので、これがAirアプリのルートと想像。
その中に、NativeWindowが複数格納されているようです。
このNativeWindowにはStageというクラスがあって、これがいろんな表示オブジェクトを保持しているみたい。
ブラウザ (Flash® Player) で実行されている SWF コンテンツの場合、Stage は Flash コンテンツが表示されている全体の領域を表します。AIR で実行されているコンテンツの場合、各 NativeWindow オブジェクトが、対応する Stage オブジェクトを持ちます。
...とのことなので、Flashの時はこのStageがRootの表示領域だったけど、AirはNativeWindowが保持している...つまり、NativeWindowが複数あれば、Stageも複数存在するってことですかね。
WindowedApplicationやApplicationは何処に入っているんだろ?とみていたのですが、クラスの関連からは見えなくて。。
NativeWindowの説明で
Flex コンポーネントを、NativeWindow インスタンスの表示リストに直接追加することはできません。この場合、Flex mx:WindowedApplication コンポーネントおよび mx:Window コンポーネントを使用してウィンドウを作成し、これらのオブジェクトに他の Flex コンポーネントを子として追加します。Flex ベースの SWF が、その SWF のアプリケーションドメインにロードされていて、アプリケーションコンテンツである場合は、この SWF を NativeWindow ウィンドウに直接追加することができます。
なんて事が書いてありました。
そこで試しに、Airのメイン画面をWindowedApplicationにして、そこからWindowの画面をもう一つ表示させてみた時点で、
trace(NativeApplication.nativeApplication.openedWindows);
としてみたら、NativeWindowが2つ入っていました。
ってことで。。。多分、WindowedApplicationとかはNativeWindowとして作られているのかな。
...こぅいぅ情報って、しっかりとした情報が何処かにないのかなぁ?