📄 panel5.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 + -