Revision: 3839
http://vexi.svn.sourceforge.net/vexi/?rev=3839&view=rev
Author: clrg
Date: 2010-05-12 02:12:45 +0000 (Wed, 12 May 2010)
Log Message:
-----------
Fix for script editing
Modified Paths:
--------------
trunk/widgets/org.vexi.guide/src/org/vexi/guide/script/pane.t
trunk/widgets/org.vexi.guide/src/org/vexi/guide/script/select.t
trunk/widgets/org.vexi.guide/src/org/vexi/guide/script/selectid.t
trunk/widgets/org.vexi.guide/src/org/vexi/guide/script/trap.t
Modified: trunk/widgets/org.vexi.guide/src/org/vexi/guide/script/pane.t
===================================================================
--- trunk/widgets/org.vexi.guide/src/org/vexi/guide/script/pane.t
2010-04-19 21:20:43 UTC (rev 3838)
+++ trunk/widgets/org.vexi.guide/src/org/vexi/guide/script/pane.t
2010-05-12 02:12:45 UTC (rev 3839)
@@ -17,29 +17,29 @@
</ui:box>
<tabpane id="editors" />
+ var editors = {};
+ var model = {};
+
thisbox.scriptobj ++= function(v) {
cascade = v;
- $scripts.scripts = scriptobj;
- var s = surface;
- if (s and s.guidemodel) s.guidemodel.scripts = scriptobj;
+ $scripts.scripts = v;
+ model.scripts = v;
}
- var editors = {};
-
$scripts.value ++= function(v) {
cascade = v;
var c = editors[v];
if (c == null) {
- c = script.trap(vexi.box);
+ c = new script.trap();
c.script = v;
editors[v] = c;
- $editors[$editors.numchildren] = c;
+ $editors.add(c);
}
$editors.show = c;
}
- var refreshTrap = function(v) {
- $scripts.scripts = scriptobj;
+ model.RefreshScripts ++= function(v) {
+ $scripts.scripts = model.scripts;
return;
}
@@ -48,10 +48,8 @@
cascade = v;
var s = surface;
if (s and s!=surf) {
+ s.scripts = model;
surf = s;
- surf.editors = editors;
- surf.scripts = scriptobj;
- surf.RefreshScripts ++= refreshTrap;
}
}
@@ -126,12 +124,13 @@
s.code = "return true;";
}
s.name = $addscript_name.text;
- if (!$func.selected)
- s.scriptid = $addscript_id.value.uiwidget.scriptid;
+ if (!$func.selected) {
+ s.scriptid = $addscript_idlabel.value;
+ }
var c = script.trap(vexi.box, [true]);
c.script = s;
editors[s] = c;
- $editors[$editors.numchildren] = c;
+ $editors.add(c);
surface.dialog.closeDialog($addscript);
return;
}
Modified: trunk/widgets/org.vexi.guide/src/org/vexi/guide/script/select.t
===================================================================
--- trunk/widgets/org.vexi.guide/src/org/vexi/guide/script/select.t
2010-04-19 21:20:43 UTC (rev 3838)
+++ trunk/widgets/org.vexi.guide/src/org/vexi/guide/script/select.t
2010-05-12 02:12:45 UTC (rev 3839)
@@ -10,13 +10,13 @@
thisbox.scripts ++= function(v) {
cascade = v;
- while(thisbox[0]) thisbox[0] = null;
+ thisbox.clear();
if (v!=null) {
- for (var i=0; v.length>i; i++) {
- var j = .item(vexi.box);
- j.value = v[i];
- j.text = v[i].scriptid+"."+v[i].name+" ("+v[i].type+")";
- thisbox[thisbox.numchildren] = j;
+ for (var i,v_i in v) {
+ var j = new .item();
+ j.value = v_i;
+ j.text = v_i.scriptid+"."+v_i.name+" ("+v_i.type+")";
+ thisbox.add(j);
}
}
}
Modified: trunk/widgets/org.vexi.guide/src/org/vexi/guide/script/selectid.t
===================================================================
--- trunk/widgets/org.vexi.guide/src/org/vexi/guide/script/selectid.t
2010-04-19 21:20:43 UTC (rev 3838)
+++ trunk/widgets/org.vexi.guide/src/org/vexi/guide/script/selectid.t
2010-05-12 02:12:45 UTC (rev 3839)
@@ -10,13 +10,13 @@
thisbox.scriptids ++= function(v) {
cascade = v;
- while (thisbox[0]) thisbox[0] = null;
+ thisbox.clear();
if (v!=null) {
- for (var k in v) {
- var i = .item(vexi.box);
+ for (var k,v_k in v) {
+ var i = new .item();
i.text = k; // the object scriptid
- i.value = v[k]; // target uiobject
- thisbox[thisbox.numchildren] = i;
+ i.value = v_k; // target uiobject
+ thisbox.add(i);
}
}
}
@@ -33,6 +33,7 @@
if (s and s!=surf) {
s.RefreshScriptIds ++= refreshTrap;
surf = s;
+ scriptids = s.scriptids;
}
}
Modified: trunk/widgets/org.vexi.guide/src/org/vexi/guide/script/trap.t
===================================================================
--- trunk/widgets/org.vexi.guide/src/org/vexi/guide/script/trap.t
2010-04-19 21:20:43 UTC (rev 3838)
+++ trunk/widgets/org.vexi.guide/src/org/vexi/guide/script/trap.t
2010-05-12 02:12:45 UTC (rev 3839)
@@ -58,11 +58,15 @@
b = $saveit;
break;
}
- // intercepted action key
if (b) {
- if (b.display and b.enabled) b.action = true;
- // defer back to textarea
- } else cascade = v;
+ // intercepted action key
+ if (b.display and b.enabled) {
+ b.action = true;
+ }
+ } else {
+ // defer back to textarea
+ cascade = v;
+ }
}
var newscript = arguments[0];
@@ -74,7 +78,9 @@
} else {
name = v.scriptid+"."+v.name+" <"+v.type.charAt(0)+">";
}
- if (newscript) name = name + " [new]";
+ if (newscript) {
+ name = name + " [new]";
+ }
$code.text = v.code;
$code.enabled = newscript;
$objectid.text = v.scriptid;
@@ -105,8 +111,7 @@
try {
var a = script.type=="write" ? "v" : "";
var s = "return function("+a+") { "+$code.text+" };";
- var scope = { obj:surface.guidemodel.scriptids, vexi:vexi,
fun:{} };
- vexi.log.info(s);
+ var scope = { obj:surface.scriptids, vexi:vexi, fun:{} };
var f = vexi.js.eval(s, scope);
if (script.type=="write") {
test ++= f;
@@ -134,11 +139,11 @@
// if new script, add to obj
if (newscript) {
var s = surface;
- s.editors[script] = thisbox;
- s.scripts[s.scripts.length] = script;
+ s.scripts.editors[script] = thisbox;
+ s.scripts.scripts.push(script);
}
// update any script references
- surface.guidemodel.RefreshScripts = true;
+ surface.scripts.RefreshScripts = true;
// no longer new
newscript = false;
// resets this editor
@@ -189,23 +194,30 @@
</ui:box>
</ui:box>
- $delete.action ++= function(v) { surface.dialog.showDialog($deltrap);
$deltrap_name.text = name; return; }
+ $delete.action ++= function(v) {
+ surface.dialog.showDialog($deltrap);
+ $deltrap_name.text = name;
+ return;
+ }
- $deltrap_cancel.action ++= function(v) {
surface.dialog.closeDialog($deltrap); return; }
+ $deltrap_cancel.action ++= function(v) {
+ surface.dialog.closeDialog($deltrap);
+ return;
+ }
$deltrap_apply.action ++= function(v) {
- var s = surface.guidemodel.scripts;
- for (var i=0; s.length>i; i++) {
- if (s[i] == script) {
+ var s = surface.scripts.scriptobj;
+ for (var i,s_i in s) {
+ if (s_i == script) {
s.splice(i, 1);
break;
}
}
- surface.guidemodel.RefreshScripts = true;
+ surface.scripts.RefreshScripts = true;
surface.dialog.closeDialog($deltrap);
thisbox = null;
return;
}
- </webit:cardsimple>
+ </ui:box>
</vexi>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
_______________________________________________
Vexi-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/vexi-svn