<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="/2006/mxml"
fontFamily="simsun" fontSize="12"
layout="absolute" creationComplete="();" width="242" height="442" initialize="init()">
<mx:Script>
<![CDATA[
import ;
import ;
import ;
import ;
[Bindable]
private var strUrl:String = "";
[Bindable]
private var menus:XML;
[Bindable]
[Embed("")]
public var openicon:Class;
[Bindable]
[Embed("")]
public var closeicon:Class;
[Bindable]
[Embed("")]
public var leaficon:Class;
private function init():void
{
= ;
}
private function LoadMenu(event:ResultEvent):void
{
menus = XML();
var results:XMLList = ;
= results;
}
//Menu icon settings
private function treeIcon(item:Object):Class
{
var node:XML = XML(item);
trace('icon:' + node.@icon);
var str : String = node.@icon;
//Image already set
if(("@icon"))
{
if(node.@icon == 'openicon')
{
return openicon;
}
if(node.@icon == 'closeicon')
{
return closeicon;
}
if(node.@icon == 'leaficon')
{
return leaficon;
}
}
else
{
//If the icon is not defined, use the default one.
if(!(item))
{
return ("defaultLeafIcon");
}
if((item))
{
return ("folderOpenIcon");
}
else
{
return ("folderClosedIcon");
}
}
return null;
}
/**
* Menu tree single-item click event
* */
private function itemClickHandler(evt:ListEvent):void
{
var item:Object = Tree().selectedItem;
if ((item))
{
//(item, !(item), true);
}
else
{
//Get the node object
var node:XML = XML(item);
//If there is attribute href
if(("@href") && ("@target"))
{
openURL(node.@href,node.@target);
}
if(("@href") && (("@target") == false))
{
//No target is specified to open in a new window by default
openURL(node.@href,"_blank");
}
}
}
//How to jump to the page
private function openURL(url:String ,target:String):void
{
var request:URLRequest = new URLRequest(url);
navigateToURL(request,target);
}
]]>
</mx:Script>
<mx:HTTPService url="{strUrl}" useProxy="false"
showBusyCursor="true" result="LoadMenu(event)" resultFormat="xml"/>
<mx:Tree iconFunction="treeIcon" width="100%" height="100%" labelField="@label" itemClick="itemClickHandler(event)"/>
</mx:Application>