FastkeyEntity

本文详细介绍了快捷键实体的定义、属性及其获取和加载方法,并提供了将实体转换为XML描述的功能。同时,阐述了如何加载快捷键实体,包括菜单和按钮的属性配置和布局。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**
 * @description 快捷键实体
 * @param 快捷键的多个按钮
 * @return
 */
function FastkeyEntity(){
	
	//快捷键ID
	this.id="";	
	this.menus_per="70%";             //菜单栏显示百分数
	this.sysbutton_per="30%";         //按钮栏显示百分数
	//对齐方式left/right
	this.menus_align="left";       //菜单对齐格式
	this.sysbutton_align="left";   //按钮对齐格式
	this.version = "";
	
	//快捷菜单实体数组
	this.menusArray = new Array();
	//工具实体数组
	this.toolEntityArray = new Array();

	
	//获取快捷键实体的XML方式描述
	this.getFastkeyEntityXml = function(){
		var entityXml = "<fastkey id=\""+this.id
		                + "\" menus_per=\""+this.menus_per 
		                + "\" sysbutton_per=\""+this.sysbutton_per 
		                + "\" version=\""+this.version
		                +"\">";
		
		//获取快捷键菜单XML
		entityXml =entityXml + "<menus align=\""+this.menus_align+"\">";
		if (this.menusArray!=null) {
			for(var i = 0;i < this.menusArray.length; i++){
				var menuEntity=this.menusArray[i];
				var menuXML = "<menu id=\""+menuEntity.id+"\" code=\""+menuEntity.code+"\" name=\""+menuEntity.name
		                      +"\" img=\""+menuEntity.img+"\" targer=\""+menuEntity.targer+"\" />";
				//entityXml = entityXml + menuEntity.getMenuEntityXml();	
				entityXml = entityXml + menuXML;
			}
		}
		entityXml =entityXml + "</menus>";
		
		//获取快捷键按钮XML
		entityXml =entityXml + "<sysbutton align=\""+this.sysbutton_align+"\">";
		if (this.toolEntityArray!=null) {
			for(var i = 0;i < this.toolEntityArray.length; i++){
				var toolEntity=this.toolEntityArray[i];
				entityXml = entityXml + getToolEntityXml(toolEntity);	
			}
		}
		entityXml =entityXml + "</sysbutton>";
		
		entityXml =entityXml + "</fastkey>";
		return entityXml;
	};
	
	
	
	//加载快捷键实体
	this.loadFastkeyEntity = function(el){
		this.id=el.getAttribute("id");
		this.menus_per=el.getAttribute("menus_per");             //菜单栏显示百分数
		this.sysbutton_per=el.getAttribute("sysbutton_per");         //按钮栏显示百分数
		var tempArray = new Array();
		
		var menusNodes = el.getElementsByTagName("menus");
		var sysbuttonNodes = el.getElementsByTagName("sysbutton");
		
		if (menusNodes!=null) {
			this.menus_align = menusNodes[0].getAttributeNode("align").nodeValue; 
			var mNodes = menusNodes[0].childNodes;
			if (mNodes!=null) {
				for ( var i = 0; i < mNodes.length; i++) {
					var menuEntity = new FastMenuEntity();
					menuEntity.loadMenuEntity(mNodes[i]);
					tempArray[i] = menuEntity;
				}
				this.menusArray=tempArray;
			}
		}
		if (sysbuttonNodes!=null) {
			tempArray = new Array();
			this.sysbutton_align = sysbuttonNodes[0].getAttributeNode("align").nodeValue;   //按钮对齐格式
			var bNodes = sysbuttonNodes[0].childNodes;
			if (bNodes!=null) {
				for ( var i = 0; i < bNodes.length; i++) {
					var toolEntity = new ToolEntity();
					toolEntity.loadToolEntity(bNodes[i]);
					tempArray[i] = toolEntity;
				}
				this.toolEntityArray=tempArray;
			}
		}
	};
	
}

/**
 * @description 快捷键菜单实体
 * @param 
 * @return
 */
function FastMenuEntity(){
	this.id="";
	this.code="";
	this.name="";
	this.img="";
	this.targer="";
	
	//获取快捷键菜单的XML方式描述
	this.getMenuEntityXml = function(){
		var xml="<menu id=\""+this.id+"\" code=\""+this.code+"\" name=\""+this.name
		        +"\" img=\""+this.img+"\" targer=\""+this.targer+"\" />";
		return xml;
	};
	
	//初始化快捷键菜单的所有属性
	this.loadMenuEntity = function(element){
		this.id = element.getAttribute("id");
		this.code = element.getAttribute("code");
		this.name = element.getAttribute("name");
		this.targer = element.getAttribute("targer");
		this.img = element.getAttribute("img");
	};
}

function getFastkeyEntityXmlStr(fastkeyEntity){
	var entityXml = "<fastkey id=\""+fastkeyEntity.id
	                + "\" menus_per=\""+fastkeyEntity.menus_per 
	                + "\" sysbutton_per=\""+fastkeyEntity.sysbutton_per 
	                + "\" version=\""+fastkeyEntity.version
	                +"\">";
	
	//获取快捷键菜单XML
	entityXml =entityXml + "<menus align=\""+fastkeyEntity.menus_align+"\">";
	if (fastkeyEntity.menusArray!=null) {
		for(var i = 0;i < fastkeyEntity.menusArray.length; i++){
			var menuEntity=fastkeyEntity.menusArray[i];
			var menuXML = "<menu id=\""+menuEntity.id+"\" code=\""+menuEntity.code+"\" name=\""+menuEntity.name
	                      +"\" img=\""+menuEntity.img+"\" targer=\""+menuEntity.targer+"\" />";
			//entityXml = entityXml + menuEntity.getMenuEntityXml();	
			entityXml = entityXml + menuXML;
		}
	}
	entityXml =entityXml + "</menus>";
	
	//获取快捷键按钮XML
//	entityXml =entityXml + "<sysbutton align=\""+fastkeyEntity.sysbutton_align+"\">";
//	if (fastkeyEntity.toolEntityArray!=null) {
//		for(var i = 0;i < fastkeyEntity.toolEntityArray.length; i++){
//			var toolEntity=fastkeyEntity.toolEntityArray[i];
//			entityXml = entityXml + getToolEntityXml(toolEntity);	
//		}
//	}
//	entityXml =entityXml + "</sysbutton>";
	
	entityXml =entityXml + "</fastkey>";
	return entityXml;
}



 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值