⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 panel5.as

📁 flash编程实例
💻 AS
字号:
class Scene.Manage.Panels.Group1.Panel5 extends MovieClip {
	var onResult:Function;
	var dgSO:SharedObject;
	//UI Assets
	var SOHeader:MovieClip;//0
	var RefreshBtn:MovieClip;//1
	var SOList:MovieClip;//2
	var Tree:MovieClip;//3
	//UI for interacting with the SO
	var ArgInput:MovieClip;//4
	var Btn1:MovieClip;//5
	//
	var Btn2:MovieClip;//6
	var Btn3:MovieClip;//7
	var Btn4:MovieClip;//8
	//
	var MethodTXT:MovieClip;//9
	var ArgsTXT:MovieClip;//10
	//
	function Panel5() {
		//Create UI
		attachMovie("SOHeader", "SOHeader", 0);
		attachMovie("Button", "RefreshBtn", 1);
		attachMovie("List", "SOList", 2);
		attachMovie("DumpableTree", "Tree", 3);
		attachMovie("TextInput", "ArgInput", 4);
		attachMovie("Button", "Btn1", 5);
		//
		attachMovie("Button", "Btn2", 6);
		attachMovie("Button", "Btn3", 7);
		//attachMovie("Button", "Btn4", 8);
		//
		attachMovie("TextInput", "MethodTXT", 9);
		attachMovie("TextInput", "ArgsTXT", 10);
		//Work UI
		SOHeader._x = SOHeader._y = 10;
		//
		RefreshBtn._x = 108;
		RefreshBtn._y = 22;
		RefreshBtn.setSize(30, 27);
		RefreshBtn.icon = "toolIcon_1";
		RefreshBtn.addEventListener("click", this);
		//
		SOList._x = 10;
		SOList._y = 60;
		SOList.iconFunction = function(item){
			return item.icon;
		}
		SOList.addEventListener("change", this);
		//
		Tree._y = 85;
		Tree.Tree.addEventListener("change", this);
		//
		ArgInput._y = 60;
		MethodTXT._y = ArgsTXT._y = Btn3._y = 25;
		MethodTXT.setSize(50, 22);
		MethodTXT.text = "Method";
		ArgsTXT.text = "Arguments";
		//
		MethodTXT.addEventListener("focusIn", this);
		ArgsTXT.addEventListener("focusIn", this);
		//
		MethodTXT.addEventListener("focusOut", this);
		ArgsTXT.addEventListener("focusOut", this);
		//
		Btn1.addEventListener("click", this);
		Btn1.label = "Set";
		Btn1.setSize(40, 22);
		Btn3.setSize(40, 22);
		//
		Btn1._y = 60;
		Btn2._y = Btn4._y = 22;
		//
		Btn2.setSize(40, 27);
		Btn4.setSize(40, 27);
		//
		Btn2.icon = "toolIcon_1";
		Btn3.label = "Send";
		Btn4.icon = "toolIcon_11";
		//
		Btn2.addEventListener("click", this);
		Btn3.addEventListener("click", this);
		//Btn4.addEventListener("click", this);
	}
	//
	function focusIn(evt){
		if(evt.target == ArgsTXT){
			if(ArgsTXT.text == "Arguments"){
				ArgsTXT.text = "";
			}
		}else{
			if(MethodTXT.text == "Method"){
				MethodTXT.text = "";
			}
		}
	}
	function focusOut(evt){
		if(evt.target == ArgsTXT){
			if(ArgsTXT.text == ""){
				ArgsTXT.text = "Arguments";
			}
		}else{
			if(MethodTXT.text == ""){
				MethodTXT.text = "Method";
			}
		}
	}
	//
	function connectSO(){
		var persist = false;
		if(SOList.selectedItem.icon == "toolIcon_8"){
			persist = true;
		}
		dgSO = SharedObject.getRemote(SOList.selectedItem.label, _global.Connection.AppNet.uri, persist);
		_root.so = dgSO;
		var p = this;
		dgSO.onSync = function(data){
			p.Tree.dataProvider = p.dgSO.data;
		}
		dgSO.connect(_global.Connection.AppNet);
	}
	//Event Triggerd
	//
	function change(evt){
		if(evt.target == SOList){
			ArgInput.text = "";
			connectSO();
		}else{
			//
			var node = Tree.Tree.selectedNode;
			if(node){
				if(node == Tree.Tree.getNodeDisplayedAt(0)){
					ArgInput.text = dgSO.data.toString();
				}else{
					var path = Tree.nodeToPath(node)+".";
					//
					var pArray = path.split(".");
					var prop = pArray[pArray.length-2];
					//Remove last two properties
					pArray.splice(pArray.length-2, 2);
					//
					var toSet = dgSO.data;
					for(var i=0;i<pArray.length;i++){
						toSet = toSet[pArray[i]];
					}
					var item = toSet[prop];
					if(typeof(item) == "string"){
						ArgInput.text = '"'+item+'"';
					}else{
						ArgInput.text = item.toString();
					}
				}
			}
		}
	}
	function click(evt){
		if(evt.target == RefreshBtn){
			populateSOList();
		}else if(evt.target == Btn1){
			if(Tree.Tree.selectedNode == Tree.Tree.getNodeDisplayedAt(0)){
				var arg = _global.ArgumentsParsor.GetArgumentes(ArgInput.text)[0];
				if(typeof(arg) == "object"){
					for(var i in dgSO.data){
						delete dgSO.data[i];
					}
					//
					for(var i in arg){
						dgSO.data[i] = arg[i];
					}
				}
			}else{
				//We are trying to save a property
				var path = Tree.nodeToPath(Tree.Tree.selectedNode)+".";
				//
				var pArray = path.split(".");
				var prop = pArray[pArray.length-2];
				//Remove last two properties
				pArray.splice(pArray.length-2, 2);
				//
				var toSet = dgSO.data;
				//
				for(var i=0;i<pArray.length;i++){
					toSet = toSet[pArray[i]];
				}
				//
				toSet[prop] = _global.ArgumentsParsor.GetArgumentes(ArgInput.text)[0];
				//
			}
		}else if(evt.target == Btn2){
			Tree.dataProvider = dgSO.data;
		}else if(evt.target == Btn3){
			//Send call
			var args = ArgsTXT.text;
			if(args == "Arguments" || args == ""){
				args = new Array();
			}else{
				args = _global.ArgumentsParsor.GetArgumentes(args);
			}
			//
			args.unshift(MethodTXT.text);
			//
			dgSO.send.apply(dgSO, args);
		}
	}
	function activate() {
		SOList.removeAll();
		populateSOList();
	}
	function deactivate() {
	}
	//
	function populateSOList(){
		_global.Connection.Net.call("getSharedObjects", new getSOResult(this), _global.selectedApplication);
	}
	function getSOResult(p){
		this.onResult = function(result){
			p.SOList.removeAll();
			//
			var data = result.data;
			if(data){
				for(var i=0;i<data.persistent.length;i++){
					var item = data.persistent[i];
					p.SOList.addItem({label:item, icon:"toolIcon_8"});
				}
				//
				for(var i=0;i<data.volatile.length;i++){
					var item = data.volatile[i];
					p.SOList.addItem({label:item, icon:"toolIcon_9"});
				}
			}
		}
	}
	//
	function setSize(w:Number, h:Number) {
		var aThird = Math.round(w/3);
		SOList.setSize(aThird, Math.round(h-70));
		//
		Btn2._x = Btn4._x = (20+aThird);
		Btn3._x = 
		Btn4._x += 90;
		//
		Tree._x = aThird + 9;
		Tree.setSize(w-(aThird+20), Math.round(h-95));
		//
		ArgInput._x = aThird + 14;
		ArgInput.setSize(w-(aThird+70), 22);
		Btn1._x = Btn3._x = (aThird + 14)+(w-(aThird+70))+5;
		//
		MethodTXT._x = (70+aThird);
		ArgsTXT._x = (130+aThird);
		ArgsTXT.setSize(w-ArgsTXT._x-57, 22);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -