<?xml version="1.0" encoding="utf-8"?>
<!--
////////////////////////////////////////////////////////////////////////////////
// 株式会社　アイエルエス
// Copyright 2008 ILS
// All Rights Reserved.
//
// NOTICE:
////////////////////////////////////////////////////////////////////////////////
-->
<Button xmlns:mx="http://www.adobe.com/2006/mxml"
	xmlns="commonLibrary.sharedComponent.*"
	label="{btnName}" click="clickBtnRun();" width="100%" height="22" left="10" right="10"
	creationComplete="onCreationComplete();">
	<mx:Script>
		<![CDATA[
			import cls.com.ils.biz.model.enum.ActionMode;
			import cls.com.ils.biz.component.TsAbstructPanel;
			import mx.messaging.channels.StreamingAMFChannel;
			import mx.managers.FocusManager;
			import mx.managers.SystemManager;
			import mx.managers.PopUpManager;

			public var dspParent:DisplayObject;
			public var dspObj:Class;
			public var params:Array;
			
			// ステータス
			public var openStats:Boolean = false;
			
			// サブボタン管理用
			public var _dspSubObj:Class;
			
			// 呼出すときのアクションモード：デフォルトはＮＯＮＥ
			public var actionMode:String = ActionMode.NONE;
			
			[Bindable]
			public var btnName:String; 
						
			[Bindable]
			public var source:Object;
			
			[Bindable]
			public var dspIcon:Class;
			
			[Bindable]
			private var _btnStyleName:String;
			
			// ダミー用
			public var srchFcsObject:Object;
		
			// ダミー用
			public function setFocusSrchObj():void{};
			
			public function set btnStyleName(value:String):void{
				_btnStyleName = value;
			}
			
			public function get btnStyleName():String{
				return _btnStyleName;
			}

			// ダミー用　chain of responsibility パターン実現のために必要。
			// 画面間にパネルオブジェクトが挟まるため、画面の親オブジェクトが
			// パネルになる。子オブジェクトから、親オブジェクトに
			// 処理の受け渡し処理が実施できなくなる。そのためダミー用に
			// EshiftPanelが持っている処理を実装している。logoffメソッドも同様の
			// 理由で実装している。
			public function onCreationComplete():void{
				this.openStats = false;
				parentDocument.onSetTabEnabled(true);
			}

			private function clickBtnRun():void{
				if(this.openStats == false){
					if (dspObj != null) {
						
						parentDocument.onSetTabEnabled(false);
						
						var win:TsAbstructPanel;
						
						win =TsAbstructPanel(PopUpManager.createPopUp(dspParent,dspObj,true));
						
						win.focusManager.activate();
						this.focusManager.deactivate();

						// アクションモードを定義する
						win.actionMode = this.actionMode;
						win.parentParams = params;
						win.parentDisplay = this;
	
						PopUpManager.centerPopUp(win);
	
						this.openStats = true;
						
					}					
				}
			}
						
			// ログオフ時親のlogoffを実行する
			public function logoff():void{
				parentDocument.logoff();	
			}
			
		]]>
	</mx:Script>
</Button>
