fastkey_tool_manage

 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<html>
<head>
<title>IBUS</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />


<%@ include file="common/tablib.jsp" %>

<link rel="stylesheet" type="text/css" href="css/skins/ibusblue/dhtmlxwindows_dhx_ibusblue.css" />

<link rel="STYLESHEET" type="text/css" href="css/dhtmlxtree.css">
<link rel="stylesheet" type="text/css" href="css/dhtmlxwindows.css" />
<link rel="stylesheet" type="text/css" href="css/css.css" />




<script src="js/dhtmlx/dhtmlxcommon.js"></script>
<script src="js/dhtmlx/dhtmlxcontainer.js"></script>
<script src="js/dhtmlx/dhtmlxwindows.js"></script>
<script  src="js/dhtmlx/dhtmlxtree.js"></script>

<script src="js/dhtmlx/dhtmlxtoolbar.js"></script>

<script src="js/util/ibus_util.js"></script>
<script src="js/util/jquery-1.4.4.js"></script>
<script src="js/ibus/boc_invoker.js"></script>
<script src="js/ibus/ToolEntity.js"></script>
<script src="js/ibus/ToolBarEntity.js"></script>
<script src="js/ibus/FastkeyEntity.js"></script>

</head>

<body style="background:#f1f8ff; ">
<form id="form1" name="form1" method="post" action="">
<input type="hidden" id="buttonArray" value=""/>
<input type="hidden" id="updateButtonId" value=""/>
<input type="hidden" id="targetId" value="<%=request.getParameter("targetId") %>"/>


<table width="500" border="0" cellspacing="0" cellpadding="0" style="margin:3px 0 0 3px;">
  <tr style="height:30px;">
  	<td width="200">系统菜单</td>
  	<td width="100"> </td>
  	<td width="200">当前显示快捷键</td>
  </tr>
  
  <tr>
	
  <td valign="top">
		<div id="templatemo">
			<div id="templatemo_tooltree" style="height:300px; width:200px">
				
			</div>
		</div>
	</td>
    
    
	<td align="center">
	  <p>
	    <input type="button" id="addButton" 		value="添加->" 	rel="no_init_style" 	class="toolbarbnt" 	οnclick="onClickAddButton()"/>
	    <input type="button" id="upButton"  		value="上  移" 		rel="no_init_style" 	class="toolbarbnt" 	οnclick="onClickUpButton()"/>
	    <input type="button" id="downButton"  		value="下  移" 		rel="no_init_style" 	class="toolbarbnt" 	οnclick="onClickDownButton()"/>    
	    <input type="button" id="removeButton" 		value="<-移除" 	rel="no_init_style" 	class="toolbarbnt" 	οnclick="onClickRemoveButton()"/>
	  </p>
    </td>
        
        
        <td style=" vertical-align:top">
		<div id="templatemo">
			<div id="templatemo_menu" onDragStart= "return   false "   onSelectStart= "return   false " >
				<ul id="currentButtonUl">
 
				</ul>
			</div>
		</div>
	</td>
    
    
  </tr>
</table>


<div id="srcDiv" style="position: relative;padding-top:5px; text-align:center; width:500px;">
	<table width="500" border="0" cellpadding="0" cellspacing="0">
  <tr>
	<td align="center">
		<input type="button" name="ensure" value="确 定" rel="no_init_style" class="winensurebnt" οnclick="ensureButton()"/>
		 
		<input type="button" name="cancel" value="取 消" rel="no_init_style" class="winclosedbnt" οnclick="closeWindow();"/>
    	 
    	<input type="button" name="apply" value="应 用" rel="no_init_style" class="winapplybnt" οnclick="applyButton();"/>
    </td>
  </tr>
</table>
</div>

</form>

<script type="text/javascript">

	var tabarId = document.getElementById("targetId").value;
	
	var designerObj = parent.getSelfDesigner(tabarId);
	var appid = designerObj.appid;

	var add_newbutton_frame = null;
	var update_newButton_frame = null;
	var dhxWins = designerObj.dhxWins;
	var userMenusArray=new Array();//存放当前显示工具对象
	var userMenusMap=new Map();//存放菜单项对象
	
	var toolTree = new dhtmlXTreeObject("templatemo_tooltree" ,"100%","100%",0);
	toolTree.setImagePath("imgs/ibus/system/");

	loadSystemTreeXml();
	
	//加载当前显示工具
	loadUserToolEntity();
	//初始化按扭样式
	initButtonCss();
	
	
	//点击树节点触发事件(设置按扭的样式)
	toolTree.attachEvent("onSelect", function(id){
		
		initButtonCss();
		var selectLevel=toolTree.getLevel(id);
		var img = toolTree.getItemImage(id,0,null);
		
		if(selectLevel==4 || img=="toolimg02.gif"){
			jQuery("#addButton").removeAttr("disabled");
		}		
	});
	
	
	
	//双击树节点时添加工具到当前显示工具列表
	toolTree.attachEvent("onDblClick", function(curId){
		
		var selectLevel=toolTree.getLevel(curId);
		var img = toolTree.getItemImage(curId,0,null);
	    
		if(selectLevel==4 || img=="toolimg02.gif"){

			for(var i=0;i<userMenusArray.length;i++){
			
				if(curId == userMenusArray[i].id){
					alert("当前显示工具列表中已包括事件,不能重复添加!");
					return false;
				}
			}
			
			userMenusArray.push(userMenusMap.get(curId));
			viewUserTool();
			return true;
		}
	});
	

	//添加
	function onClickAddButton(){
	    var curId=toolTree.getSelectedItemId(); 
		var selectLevel=toolTree.getLevel(curId);
		var img = toolTree.getItemImage(curId,0,null);
	    
		if(selectLevel==4 || img=="toolimg02.gif"){

			for(var i=0;i<userMenusArray.length;i++){
			
				if(curId == userMenusArray[i].id){
					alert("当前显示工具列表中已包括事件,不能重复添加!");
					return false;
				}
			}
			
			userMenusArray.push(userMenusMap.get(curId));
			viewUserTool();
			return true;
		}
	}
	
	
	//上移
	function onClickUpButton(){
		var curElement = jQuery(".current");
		if(curElement == null);
		var curId=jQuery(curElement).attr("id");
		
		var tempElement = null;
		var tempIndex = -1;
		
		for(var i=0;i<userMenusArray.length;i++){
		
			if(curId == userMenusArray[i].id){
				tempIndex = i-1;
				tempElement = userMenusArray[i];
				userMenusArray[i] = userMenusArray[i-1];
				userMenusArray[i-1] = tempElement;
				break;
			}
		}
		viewUserTool();
		initButtonCss();
		jQuery(jQuery("li[name='currentButton']")[tempIndex]).trigger("onclick");
	}
	

	//下移
	function onClickDownButton(){
	    
		var curElement = jQuery(".current");
		if(curElement == null) return;
		
		var curId=jQuery(curElement).attr("id");
		
		var tempElement = null;
		var tempIndex = 0;
		
		for(var i=0; i<userMenusArray.length; i++){
		
			if(curId == userMenusArray[i].id){
				tempIndex = i+1;
				tempElement = userMenusArray[i];
				userMenusArray[i] = userMenusArray[i+1];
				userMenusArray[i+1] = tempElement;
				break;
			}
		}
		viewUserTool();
		initButtonCss();
		jQuery(jQuery("li[name='currentButton']")[tempIndex]).trigger("onclick");
	}
	
		
	//移除
	function onClickRemoveButton(){
	
		var curElement = jQuery(".current");
		if(curElement == null) return;
		
		
		var curId=jQuery(curElement).attr("id");
		var tempArray=new Array();
		for(var i=0;i<userMenusArray.length;i++){
		
			if(curId != userMenusArray[i].id){
					tempArray.push(userMenusArray[i]);
			}
		}
		
		userMenusArray=tempArray;
		viewUserTool();
		initButtonCss();
		
		if(jQuery("li[name='currentButton']").length < 1){
			jQuery("li").removeClass("current");
		}else{
			jQuery(jQuery("li[name='currentButton']")[0]).trigger("onclick");
		}	
		
	}

	
	
	//设置当前显示工具 选中状态CSS
	function setItemSelected(curElement){

		jQuery("li").removeClass("current");
		curElement.className = "current";
		
		initButtonCss();
		
		var buttonArray = jQuery("li[name='currentButton']");
		
		var curId=jQuery(curElement).attr("id");
		var firstId = jQuery(buttonArray[0]).attr("id");
		var lastID = jQuery(buttonArray[buttonArray.length-1]).attr("id");
			
		jQuery("#removeButton").removeAttr("disabled");
		if(curId != firstId){
			jQuery("#upButton").removeAttr("disabled");
		}
			
		if(curId != lastID){
			jQuery("#downButton").removeAttr("disabled");
		}			
	}


	//设置当前显示工具 的双击响应事件
	function moveToAnotherSize(element){
	
		var curId=jQuery(element).attr("id");
		var tempArray=new Array();
		for(var i=0;i<userMenusArray.length;i++){
		
			if(curId != userMenusArray[i].id){
					tempArray.push(userMenusArray[i]);
			}
		}
		
		userMenusArray=tempArray;
		viewUserTool();
		initButtonCss();
		
		if(jQuery("li[name='currentButton']").length < 1){
			jQuery("li").removeClass("current");
		}else{
			jQuery(jQuery("li[name='currentButton']")[0]).trigger("onclick");
		}	
	}
	
	//从父页面designerObj对象中读取快捷键数据, 采用复制方式加载数据
	function loadUserToolEntity(){

		var userArray=new Array();

		if (designerObj.fastkeyEntity.menusArray==null) {
			return;
		}
	
		for(var i=0; i<designerObj.fastkeyEntity.menusArray.length; i++){
			//userArray[i]=designerObj.fastkeyEntity.menusArray[i];
			userArray.push(designerObj.fastkeyEntity.menusArray[i]);
		}
		
		userMenusArray=userArray;
		viewUserTool();
	}
	
	//加载菜单项对象
	function loadMenusObject(treeXmlString){
	    var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
	    xmlDoc.loadXML(treeXmlString);
		//alert(serializeXml(xmlDoc));
		
		var mNodes = xmlDoc.childNodes[1].childNodes;
		if (mNodes!=null) {
		    treeXml(mNodes);	
		}
	}
	
	//递归解析树XML
	function treeXml(el){
	    for ( var i = 0; i < el.length; i++) {
			var menuEntity = new FastMenuEntity()
			menuEntity.id = el[i].getAttribute("id");
			menuEntity.code = el[i].getAttribute("code");
			menuEntity.name = el[i].getAttribute("text");
			menuEntity.img = el[i].getAttribute("img");
			menuEntity.targer = el[i].getAttribute("url");
			userMenusMap.put(menuEntity.id,menuEntity);
			var mNodes = el[i].childNodes;
			if (mNodes!=null) {
		        treeXml(mNodes);	
		    }
				
		}
	}
	
	//根据用户工具数组对象,显示工具
	function viewUserTool(){
		
		var innerHTML="";
		for(var i = 0; i < userMenusArray.length; i++){
			
			var menuEntity=userMenusArray[i];
			innerHTML=innerHTML+"<li name=\"currentButton\"  id=\""+menuEntity.id+"\"  οnclick=\"setItemSelected(this)\" οndblclick=\"moveToAnotherSize(this)\"><a><b><img src=\"imgs/ibus/system/toolimg02.gif" + "\" align=\"absmiddle\" /> "+menuEntity.name+"</b></a></li>";
		}
		jQuery("ul[id='currentButtonUl']").empty();
		jQuery(innerHTML).appendTo(jQuery("ul[id='currentButtonUl']"));	
		return true;
	}
	
	
	
	
	//加载系统菜单树数据
	function loadSystemTreeXml(){
		
		var clientController = new ClientBOController("fastkey_boc","loadTreeXml");
		clientController.addParameter("appid",appid);
		bocInvoker.bocName = "BOControllerAction";
		bocInvoker.bocMethod = "executeBoc";
	    var treeXml = bocInvoker.invokeSynchronized(clientController);
		toolTree.loadXMLString(treeXml,null);
		
		//加载菜单项对象
	    loadMenusObject(treeXml);
	}
	
	function initButtonCss(){
		
		jQuery("#addButton").attr("disabled","true");
		jQuery("#upButton").attr("disabled","true");
		jQuery("#downButton").attr("disabled","true");
		jQuery("#removeButton").attr("disabled","true");
		//jQuery("#updateButton").attr("disabled","true");
		//jQuery("#deleteButton").attr("disabled","true");
		
	}
	
	//点击取消时关闭窗口
	function closeWindow() {
		dhxWins.window("fastkey").close();				
	}



	//点击应用按钮
	function applyButton(){
		
		var toolbarObj = designerObj.ibusFastkey;
		toolbarObj.clearAll();
		
		parent.viewFastkey(toolbarObj, userMenusArray);
		
		var tempArray=new Array();
		designerObj.fastkeyEntity.menusArray = new Array();
		
		for(var j=0; j<userMenusArray.length; j++){
			tempArray[j]=userMenusArray[j];
			designerObj.fastkeyEntity.menusArray.push(userMenusArray[j]);
		}
		
		//designerObj.fastkeyEntity.menusArray=tempArray;
		var xmlStr = getFastkeyEntityXmlStr(designerObj.fastkeyEntity);
		//alert(xmlStr);
		//alert(designerObj.fastkeyEntity.menusArray);
		
		//alert(getFastkeyEntityXmlStr(designerObj.fastkeyEntity));
		
		var clientController = new ClientBOController("fastkey_boc","save");
		clientController.addParameter("xmlStr",xmlStr);
		bocInvoker.bocName = "BOControllerAction";
		bocInvoker.bocMethod = "executeBoc";
	    var returnStr = bocInvoker.invokeSynchronized(clientController);
	    alert(returnStr);
	}
	
	
	
	//点击确定按钮
	function ensureButton(){
		applyButton();
		closeWindow();
	}
	
	
</script>

</body>
</html>

内容概要:本文档是一份计算机软考初级程序员的经典面试题汇编,涵盖了面向对象编程的四大特征(抽象、继承、封装、多态),并详细探讨了Java编程中的诸多核心概念,如基本数据类型与引用类型的区别、String和StringBuffer的差异、异常处理机制、Servlet的生命周期及其与CGI的区别、集合框架中ArrayList、Vector和LinkedList的特性对比、EJB的实现技术及其不同Bean类型的区别、Collection和Collections的差异、final、finally和finalize的作用、线程同步与异步的区别、抽象类和接口的区别、垃圾回收机制、JSP和Servlet的工作原理及其异同等。此外,还介绍了WebLogic服务器的相关配置、EJB的激活机制、J2EE平台的构成和服务、常见的设计模式(如工厂模式)、Web容器和EJB容器的功能、JNDI、JMS、JTA等J2EE核心技术的概念。 适合人群:正在备考计算机软考初级程序员的考生,或希望加深对Java编程及Web开发理解的初、中级开发人员。 使用场景及目标:①帮助考生系统复习Java编程语言的基础知识和高级特性;②为实际项目开发提供理论指导,提升编程技能;③为面试准备提供参考,帮助求职者更好地应对技术面试。 其他说明:文档不仅涉及Java编程语言的核心知识点,还包括了Web开发、企业级应用开发等方面的技术要点,旨在全面提高读者的专业素养和技术水平。文档内容详实,适合有一定编程基础的学习者深入学习和研究。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值