在方法中如何获取手工new的对象(laszlo)
请问通过按钮名称(bn1)获取到canvs中的bn1对象。然后修改其一些属性!<canvas title="Test Graph" debug="true" >
<include href="lib/boxview.lzx"></include>
<include href="lzmodules/sfgbox.lzx"/>
<dataset name="validusers" src="resources/test.xml" type="http" request="false"></dataset>
<datapointer name="userspt" xpath="validusers:/digraph">
<method event="ondata"><![CDATA[
//Debug.write("userdata loaded!");//
canvas.drawv.drawgraph();
]]></method>
</datapointer>
<method event="oninit"><![CDATA[
validusers.doRequest();
//Debug.write("validusers.doRequest()");//
]]></method>
<boxview width="100" height="200" name="drawv">
<method name="drawgraph"><![CDATA[
//Debug.write("Start drawgraph");
var graph = validusers.childNodes[0].childNodes[0];
//TODO 定义画布属性
var bb = graph.getAttr("bb").split(",");
var xmax = bb[1];
var ymax = bb[3];
var nodes = validusers.childNodes[0].childNodes[1];
//TODO 节点
var color = nodes.getAttr("color");
for(var i=0;i<nodes.childNodes.length;i++){
var posxy = nodes.childNodes
.getAttr("pos").split(",");
var x1=posxy[0];
var y1=posxy[1];
//Debug.write("x1:"+x1 + " :y1: "+ y1);
//Debug.write("drawRect"+i);
var width =nodes.childNodes.getAttr("width")*72;
var height =nodes.childNodes.getAttr("height")*72;
//Debug.write(x1 + " : " +y1 +" : "+ width +" : "+ height);
this.beginPath();
var label = nodes.childNodes.getAttr("label");
//this.drawRect(x1 - (width/2.0),ymax-y1-(height/2.0),width,height,label);
this.globalAlpha = 1;
var ncolor = nodes.childNodes.getAttr("color");
//Debug.write(ncolor);
this.strokeStyle = color;
if(ncolor!=undefined){
this.strokeStyle = ncolor;
}
this.stroke();
//Debug.write(nodes.childNodes.getAttr("width")*72);
//TODO 用view 画
//var v = new LzView();
//v.setAttribute()
var myview =new button();
myview.setName(label);
myview.setAttribute("text",label);
myview.setX(x1 - (width/2.0));
myview.setY(ymax-y1-(height/2.0));
myview.setWidth(width);
myview.setHeight(height);
myview.setBGColor(red);
Debug.write(myview);
}
]]></method>
</boxview>
<view name="aa" x="420" y="20" >
<edittext name="node" x="300" y="20"></edittext>
<button onclick="show()">
clike me
<method name="show" ><![CDATA[
var txt = canvas.aa.node.getAttribute("text");
Debug.write(txt);
canvas.drawv.aa.node.setAttribute("color",red);
/*
* 这儿如何得到 drawv中 drawgraph 上new的button;
*/
]]></method>
</button>
</view>
</canvas>