>", 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); } ]]>