>", data:"forward"},
{label:"<<", data:"backward"},
{label:"<>", data:""} ]);
private var _iconImage:String = null;
private var _iconHTML:String = "";
private var _bg:String = "white";
private var _fg:String = "black";
private var _route:Object;
private function findSelected(role:String):Object {
for each ( var item:Object in routeDirs ) {
if ( item.data == role )
return item;
}
return routeDirs[2];
}
public function setRoute(route:Object, icon:XMLList):void {
_route = route;
var relation:Relation = route["relation"];
_iconHTML = Feature.makeHTMLIcon(icon, relation);
if ( icon.length() > 0 ) {
if (icon[0].hasOwnProperty("@image"))
_iconImage = icon[0].@image;
if (icon[0].hasOwnProperty("@foreground"))
_fg = icon[0].@foreground;
if (icon[0].hasOwnProperty("@background"))
_bg = icon[0].@background;
}
dispatchEvent(new Event("route_changed"));
}
[Bindable(event="route_changed")]
private function get iconImage():String {
return _iconImage;
}
[Bindable(event="route_changed")]
private function get iconHTML():String {
return _iconHTML;
}
[Bindable(event="route_changed")]
private function get role():String {
return _route["role"];
}
[Bindable(event="route_changed")]
private function get fg():uint {
return RuleSet.parseCSSColor(_fg);
}
[Bindable(event="route_changed")]
private function get bg():uint {
return RuleSet.parseCSSColor(_bg);
}
public function get route():Object {
return _route;
}
private function setRole(role:String):void {
var member:RelationMember = new RelationMember(_route["entity"], role);
_route["relation"].setMember(_route["index"], member);
}
]]>