亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? windowmanagersimple.as

?? flex 實現的一個showcase 喜歡flex的朋友可以
?? AS
字號:
// ActionScript file
package com.teknision.window
{
    import flash.display.NativeWindow;
    import flash.display.NativeWindowInitOptions;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    import flash.events.Event;
    import flash.events.NativeWindowBoundsEvent;
    import flash.utils.Dictionary;
    import mx.core.WindowedApplication;
    import mx.containers.Canvas;
    import mx.core.Application;
    import mx.core.UIComponent;
    import mx.events.FlexEvent;
    import mx.managers.FocusManager;
    import mx.managers.IFocusManagerContainer;
    
    /**
     * A simplistic window manager for Apollo native windows hosting Flex controls.
     * Used by a more fully featured window manager such as
     * com.partlyhuman.apollo.WindowManager, or code that doesn't require advanced window
     * management.
     * 
     * Simplifies creation and destruction of windows. Encapsulates Daniel Dura's
     * Flex-components-in-native-windows fix posted at 
     * http://www.danieldura.com/archive/apollo-multi-window-support-using-flex
     * 
     * Handles creation and destruction of native windows.
     * 
     * @author Roger Braunstein
     */
    public class WindowManagerSimple
    {
        protected const DEFAULT_WINDOW_WIDTH:int = 500;
        protected const DEFAULT_WINDOW_HEIGHT:int = 300;
        
        protected var viewLookup:Dictionary;
        protected var windowLookup:Dictionary;
        protected var mainWindow:NativeWindow;
        
        protected var mainWindowCanvas:Canvas;
        protected var app:WindowedApplication;
        
        protected var _isReady:Boolean = false;
        public function get isReady():Boolean {return _isReady;}
        
        protected static var instance:WindowManagerSimple;
        
        public function WindowManagerSimple(key:SingletonEnforcer):void
        {
            if (key == null) throw new ArgumentError();
            
            app = WindowedApplication(Application.application);
            
         
            
            mainWindow = app.nativeWindow;// app.window;
            
            
            
            mainWindowCanvas = new Canvas();
            mainWindowCanvas.includeInLayout = false;
            mainWindowCanvas.visible = false;
            app.addChild(mainWindowCanvas);
            mainWindowCanvas.addEventListener(FlexEvent.CREATION_COMPLETE, onReady);
            
            viewLookup = new Dictionary(true);
            windowLookup = new Dictionary(true);
        }
        
        /**
         * It takes at least one frame advance for the window manager to be ready, so 
         * I recommend you call WindowManagerSimple.getInstance() in the initializer of your
         * application.
         */
        public static function getInstance():WindowManagerSimple
        {
            if (!instance) instance = new WindowManagerSimple(new SingletonEnforcer());
            return instance;
        }
        
        /**
         * The window creation method. Windows are created asynchronously, and will appear
         * when they are ready, but their handle is returned synchronously.
         * 
         * This method will throw an error if it is called before it has time to create
         * the temporary canvas on the root stage (necessary for the Apollo Alpha).
         * 
         * Allows an anonymous object to specify window options that override the defaults.
         * This allows you to specify options much more concisely.
         * @see flash.display.NativeWindowInitOptions
         * 
         * uses:
         *   newWindow(AboutView);
         *   newWindow(new Panel(), "empty");
         *   newWindow(AboutView, "About", {resizable: false, minimizable: true}, 300, 400);
         *   newWindow(myComponent, "empty", myWindowInitOptions, 800, 600);
         * 
         * @param viewOrViewClass
         *   The view object or view class which will fill up the window. Must be a Flex component
         *   that can accept focus, or the class of one.
         * @param title
         *   Title of the window
         * @param options
         *   Either a NativeWindowInitOptions object or an Object containing keys that are 
         *   valid properties of NativeWindowInitOptions.
         * @param width
         *   Width of the window
         * @param height
         *   Height of the window
         */
        public function newWindow(viewOrViewClass:Object, title:String = "", options:Object = null, width:int = 0, height:int = 0):NativeWindow
        {
            if (!_isReady) throw new Error("WindowManager isn't ready to add windows yet.");
            
            //prepare window options
            var windowOptions:NativeWindowInitOptions = new NativeWindowInitOptions();
            if (options is NativeWindowInitOptions)
            {
                windowOptions = options as NativeWindowInitOptions;
            } else if (options is Object) {
                for (var key:String in options)
                try
                {
                    windowOptions[key] = options[key];
                } catch (e:Error) {}
            }
            
            //prepare window
            var win:NativeWindow = new NativeWindow(windowOptions);
            win.width = width || DEFAULT_WINDOW_WIDTH;
            win.height = height || DEFAULT_WINDOW_HEIGHT;
            win.title = title;

            win.stage.align = StageAlign.TOP_LEFT;
            win.stage.scaleMode = StageScaleMode.NO_SCALE;
            
            //prepare view
            var view:UIComponent;
            if (viewOrViewClass is Class)
            {
                view = UIComponent(new viewOrViewClass());
            } else {
                view = UIComponent(viewOrViewClass);
            }
            
            view.width = win.stage.stageWidth;
            view.height = win.stage.stageHeight;
            mainWindowCanvas.addChild(view);
            
            view.addEventListener(FlexEvent.CREATION_COMPLETE, newWindowStep2);
            
            //add cross-references
            viewLookup[win] = view;
            windowLookup[view] = win;
            
            return win;
        }
        
        protected function newWindowStep2(event:Event):void
        {
            var view:UIComponent = UIComponent(event.target);
            var win:NativeWindow = NativeWindow(windowLookup[view]);

            view.removeEventListener(FlexEvent.CREATION_COMPLETE, newWindowStep2);
        
            mainWindowCanvas.removeChild(view);
            win.stage.addChild(view);
            
            // view.focusManager = new FocusManager(IFocusManagerContainer(view), true);
            // view.focusManager.activate();
            // view.focusManager.showFocus();

            win.addEventListener(NativeWindowBoundsEvent.RESIZE, onWindowResize);
            win.addEventListener(Event.CLOSE, onWindowClose);

            win.visible = true;
        }
        
        protected function onWindowResize(event:NativeWindowBoundsEvent):void
        {
            var window:NativeWindow = NativeWindow(event.target);
            var view:UIComponent = UIComponent(viewLookup[window]);
            if (!view) throw new Error("View not registered for a resized window");
            view.width = window.stage.stageWidth;
            view.height = window.stage.stageHeight;
        }
        
        protected function onWindowClose(event:Event):void
        {
            var win:NativeWindow = NativeWindow(event.target);
            var view:UIComponent = UIComponent(viewLookup[win]);
            
            win.removeEventListener(NativeWindowBoundsEvent.RESIZE, onWindowResize);
            win.removeEventListener(Event.CLOSE, onWindowClose);
            
            delete windowLookup[view];
            delete viewLookup[win];
            
            win.stage.removeChild(view);
            view = null;
            win = null;
        }
        
        protected function onReady(event:FlexEvent):void
        {
            _isReady = true;
        }
        
    }
}
class SingletonEnforcer{}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区视频在线| yourporn久久国产精品| 亚洲v精品v日韩v欧美v专区| 一区二区理论电影在线观看| ...av二区三区久久精品| 久久精子c满五个校花| 国产精品青草综合久久久久99| 亚洲一区日韩精品中文字幕| 亚洲欧洲一区二区在线播放| 欧美高清在线精品一区| 国产亚洲午夜高清国产拍精品 | 懂色av一区二区在线播放| 紧缚奴在线一区二区三区| 精品一区二区三区免费播放| 极品少妇xxxx精品少妇| 国产一区欧美日韩| 国产精品系列在线播放| 成人免费视频一区| 一本一本大道香蕉久在线精品| 91免费国产在线| 91福利在线免费观看| 欧美三区在线观看| 欧美一区二区三区的| 久久只精品国产| 天天综合天天综合色| 免费成人在线播放| 国产99精品视频| av成人老司机| 欧美日韩国产综合一区二区| 日韩欧美你懂的| 国产色一区二区| 亚洲男帅同性gay1069| 午夜精品一区在线观看| 美脚の诱脚舐め脚责91| 国产成人精品免费视频网站| 99re这里只有精品首页| 7878成人国产在线观看| 久久综合久久鬼色中文字| 国产精品久久久久久久久免费相片 | 国产精品一区二区你懂的| 91在线观看成人| 91麻豆精品国产91久久久久久| 久久香蕉国产线看观看99| 中文字幕一区二区日韩精品绯色| 亚洲综合区在线| 国内精品久久久久影院薰衣草 | 久久久久99精品一区| 亚洲精品欧美激情| 麻豆精品国产传媒mv男同| 成人不卡免费av| 5566中文字幕一区二区电影 | 婷婷成人综合网| 国产91色综合久久免费分享| 欧美色精品天天在线观看视频| 久久综合色8888| 亚洲电影一区二区| 国产精品白丝jk黑袜喷水| 精品视频一区二区三区免费| 久久久精品综合| 舔着乳尖日韩一区| 99精品在线免费| 精品剧情在线观看| 亚洲图片自拍偷拍| 不卡一卡二卡三乱码免费网站| 日韩女优视频免费观看| 亚洲精品老司机| 国产99精品视频| 日韩精品一区二区三区视频播放| 一区二区不卡在线播放| 国v精品久久久网| 欧美一级片在线看| 一二三四社区欧美黄| 国产精选一区二区三区 | 丝袜美腿亚洲一区二区图片| 成人免费视频app| 日韩免费电影网站| 香蕉久久夜色精品国产使用方法 | 欧美一级夜夜爽| 伊人夜夜躁av伊人久久| 国产成人精品免费在线| 精品日韩在线观看| 午夜精品一区二区三区三上悠亚| 99国产精品99久久久久久| 国产性天天综合网| 九九九精品视频| 777久久久精品| 亚洲bt欧美bt精品777| 色欧美88888久久久久久影院| 一区二区三区日韩精品| 盗摄精品av一区二区三区| 欧美精品一区二区久久久| 男人的j进女人的j一区| 欧美午夜精品一区二区三区| 亚洲女人的天堂| 色婷婷av一区二区| 一区二区三区成人| 99re免费视频精品全部| 一区在线播放视频| 国产不卡免费视频| 久久久久久影视| 国产精品综合一区二区三区| 久久这里只有精品6| 国产美女视频91| 久久亚洲精品小早川怜子| 精品一区二区三区的国产在线播放 | 日本道精品一区二区三区| 中文字幕亚洲在| 成人av电影观看| 亚洲免费毛片网站| 色av一区二区| 一区二区三区高清| 欧美日韩国产成人在线91| 五月综合激情婷婷六月色窝| 欧美日韩一区二区三区四区五区 | 亚洲成人一区二区| 欧美精品乱码久久久久久| 日韩在线卡一卡二| 91精品国产欧美一区二区18| 老汉av免费一区二区三区| 欧美videofree性高清杂交| 韩国成人福利片在线播放| 国产日韩欧美精品综合| 白白色 亚洲乱淫| 亚洲一区在线观看网站| 欧美日韩国产a| 狠狠色丁香久久婷婷综合_中| 久久综合成人精品亚洲另类欧美 | 成人免费av网站| 亚洲人成伊人成综合网小说| 91精品福利视频| 五月天丁香久久| 欧美xxxxx牲另类人与| 东方aⅴ免费观看久久av| 亚洲日本在线天堂| 欧美视频一区在线观看| 美女在线观看视频一区二区| 国产日韩欧美麻豆| 91精品1区2区| 国产一区亚洲一区| 中文字幕一区二区三区不卡在线| 欧美午夜精品久久久久久超碰| 极品美女销魂一区二区三区免费| 国产精品免费丝袜| 欧美亚洲禁片免费| 久久99国内精品| 亚洲乱码国产乱码精品精小说 | 中文字幕日韩欧美一区二区三区| 欧美少妇xxx| 国产精品亚洲第一区在线暖暖韩国| 亚洲国产精品黑人久久久| 欧美亚洲国产bt| 韩国av一区二区三区| 亚洲精品大片www| 2020国产成人综合网| 色哟哟精品一区| 国产乱对白刺激视频不卡| 一区二区三区**美女毛片| 久久综合久色欧美综合狠狠| 在线观看网站黄不卡| 国产一区二区福利视频| 精品一区二区三区蜜桃| 悠悠色在线精品| 国产午夜精品福利| 欧美日韩一卡二卡| 成人一区二区三区| 日本成人在线网站| 日韩伦理av电影| 久久久久久久久岛国免费| 在线观看亚洲精品视频| 成人少妇影院yyyy| 久久精品国产网站| 亚洲福利一区二区| 最近日韩中文字幕| 国产亚洲精品aa午夜观看| 日韩欧美国产三级| 欧美日韩一二三| 91视频一区二区| 国产成人免费网站| 久久av中文字幕片| 三级欧美韩日大片在线看| 亚洲免费观看高清完整版在线| 国产亚洲欧美一级| 精品国产一区二区三区四区四 | 石原莉奈一区二区三区在线观看| 日韩理论在线观看| 国产精品全国免费观看高清 | 久久综合丝袜日本网| 欧美福利一区二区| 欧美日免费三级在线| 色哟哟国产精品| 91一区二区三区在线观看| 国产99久久久国产精品潘金网站| 久久99九九99精品| 青娱乐精品视频在线| 爽爽淫人综合网网站| 亚洲国产成人91porn| 一区二区三区不卡在线观看| 一区二区三区四区亚洲| 一区二区三区在线播放| 亚洲欧美日韩一区二区三区在线观看|