'popupmanager'에 해당되는 글 1건

  1. 이게 싱글톤인감?! 2008/09/22

이게 싱글톤인감?!

from flex 2008/09/22 13:27
타일윈도우 팝업창을 이용하여 메소드를 실행하는 방법이다..
그 뭐냐..
어플리케이션에서는 바로 되는 듯 한데 컴퍼넌트에서 팝업을 실행하면 뭔가 안되는 듯..;
단순하게 pop 에서 
var mc:Object = this.parent ;
mc.FFF('asdfasdf');
이렇게가 안된다는거다..;
pop의 parent 는 SystemManager 인가.. 암튼.. 안된다..; 깊이는 들어가기 싫어서;;
아무튼..
요래했다.. 도움은 검쉰님이.. 생유!!


====== main.mxml ======
public function FFF(value:String) : void
{
    trace(value);
}

var target:pop = pop.showPop(this, true);
target.metho = FFF;


====== pop.mxml ======
<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" showCloseButton="false" 
    title="SAVE" width="250" height="150" creationPolicy="all" borderColor="#212121" cornerRadius="0">

    <mx:Script>
        <![CDATA[
            import mx.core.UIComponent;
            import mx.events.CloseEvent;
            import mx.managers.PopUpManager;
            import mx.controls.Alert;

            public function init():void
            {
                pUserName = txtInputData.text;
                if(pUserName != '')
                {
                    parentMethod(pUserName);
                    PopUpManager.removePopUp(this);
                }
                else
                {
                    Alert.show('뭐라도 적어야 합니다');
                }
            }        
            
            private var parentMethod:Function;
            private static var instance:pop;
            public static function getInstance() : pop
            {
                if(instance == null)
                {
                    instance = new pop;
                }
                
                return instance;
            }
            
            public function set method(value:Function) : void
            {
                this.parentMethod = value;
            }
            
            public static function showPopup(parent:DisplayObject, modal:Boolean = false) : pop
            {
                var target:pop = pop.getInstance();
                PopUpManager.addPopUp(target, parent, modal)
                
                return target;
            }
        ]]>
    </mx:Script>
    <mx:Canvas x="0" y="0" width="100%" height="100%" borderColor="#212121" backgroundColor="#BBBBBB" cornerRadius="0">
        <mx:Label x="10" y="10" text="INPUT ALBUM NAME"/>
        <mx:TextInput x="10" y="36" width="210" id="txtInputData"/>
        <mx:Button x="72" y="78" label="OK" width="70" id="btnOK" click="init()"/>
        <mx:Button x="150" y="78" label="Cancel" width="70" id="btnCancel" click="PopUpManager.removePopUp(this)"/>
    </mx:Canvas>
</mx:TitleWindow>

싱글톤이라고 그랬는데..
움.. 예전에 싱글톤을 들어서 어케 좀 해볼까 했었는데 뭐같은 용어에 좌절을..
잊고 있었는데 이게 싱글톤이라 그랬는데..;
내가 늘상 해오던 짓 아닌가..;
나도 모르게 싱글톤을 사용했던건가..;;;;;; 아놔~
뭐 암튼.. 
윤택한 플렉스/에어 개발을 위해..한보전진..!
2008/09/22 13:27 2008/09/22 13:27

댓글을 달아 주세요