⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 breadcrumb.as

📁 QS我也没用过
💻 AS
字号:
package
{
	import mx.containers.HBox;
	import mx.controls.LinkButton;
	import flash.events.MouseEvent;
	import mx.core.UIComponent;
	import mx.events.DynamicEvent;
	import flash.utils.Dictionary;
	
	[Event(name="itemClick", type="mx.events.DynamicEvent")]
	public class BreadCrumb extends HBox
	{
		public function BreadCrumb()
		{
			super();
			setStyle("horizontalGap",0);
		}
		
		private var _leaf:XML;
		private var _labelField:String = "";
		private var _map:Dictionary;
		
		public function set leaf(value:XML):void
		{
			_leaf = value;
			invalidateProperties();
		}
		public function get leaf():XML
		{
			return _leaf;
		}
		public function get labelField():String
		{
			return _labelField;
		}
		public function set labelField(value:String):void
		{
			_labelField = value;
			invalidateProperties();
		}
		
		private function clickHandler(e:MouseEvent):void
		{
			var target:UIComponent = UIComponent(e.currentTarget);
			var node:XML = _map[target];			
			var de:DynamicEvent = new DynamicEvent("itemClick");
			de.data = node;
			dispatchEvent(de);
		}
		
		override protected function commitProperties():void
		{
			super.commitProperties();
			removeAllChildren();
			var node:XML = _leaf;
			var first:Boolean = true;
			_map = new Dictionary(true);
			while(node != null)
			{

				if(_labelField in node)
				{
					if(first == false)
					{
						lb = new LinkButton();
						lb.label = ">";
						lb.enabled = false;
						addChildAt(lb,0);
						lb.width = 20;
					}

					var lb:LinkButton = new LinkButton();
					_map[lb] = node;
					lb.label = node[_labelField];
					if(first == false)
						lb.setStyle("textDecoration","underline");
					else
						lb.enabled = false;
						
					lb.addEventListener(MouseEvent.CLICK,clickHandler);
					addChildAt(lb,0);

					first = false;					
				}
				node = node.parent();
			}
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -