You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							140 lines
						
					
					
						
							6.1 KiB
						
					
					
				
			
		
		
	
	
							140 lines
						
					
					
						
							6.1 KiB
						
					
					
				<html> | 
						|
<head> | 
						|
	<title>Dojo Menu/MenuBar Programatic Test</title> | 
						|
	 | 
						|
	<script type="text/javascript"> | 
						|
		var djConfig = { //parseWidgets: false,// appears to make no difference, alas | 
						|
		  isDebug: true | 
						|
		 }; | 
						|
	</script> | 
						|
	<script language="JavaScript" src="../../dojo.js"></script> | 
						|
	<script type="text/javascript"> | 
						|
		dojo.require("dojo.widget.Menu2"); | 
						|
		dojo.hostenv.writeIncludes(); | 
						|
	</script> | 
						|
 | 
						|
	<script> | 
						|
		// Create a menu bar w/sub menus by simple static calls | 
						|
		function bar(){ | 
						|
			var menubar = dojo.widget.createWidget("MenuBar2", {id: "mbar"}); | 
						|
			document.body.appendChild(menubar.domNode); | 
						|
 | 
						|
			var menu1 = dojo.widget.createWidget("PopupMenu2", {id: "menu1"}); | 
						|
			menu1.addChild(dojo.widget.createWidget("MenuItem2", {caption: "MENU 1"})); | 
						|
			 | 
						|
			var menu2 = dojo.widget.createWidget("PopupMenu2", {id: "menu2"}); | 
						|
			menu2.addChild(dojo.widget.createWidget("MenuItem2", {caption: "Page Info"})); | 
						|
			menu2.addChild(dojo.widget.createWidget("MenuItem2", {caption: "Set Permissions"})); | 
						|
			menu2.addChild(dojo.widget.createWidget("MenuItem2", {caption: "List All Pages"})); | 
						|
			menu2.addChild(dojo.widget.createWidget("MenuItem2", {caption: "List My Pages"})); | 
						|
			menu2.addChild(dojo.widget.createWidget("MenuItem2", {caption: "List Recent Changes"})); | 
						|
			menu2.addChild(dojo.widget.createWidget("MenuItem2", {caption: "List Recent Comments"})); | 
						|
			menu2.addChild(dojo.widget.createWidget("MenuItem2", {caption: "Save Page"})); | 
						|
			menu2.addChild(dojo.widget.createWidget("MenuItem2", {caption: "Save {{NoWiki}}Space{{/NoWiki}}"})); | 
						|
			menu2.addChild(dojo.widget.createWidget("MenuItem2", {caption: "Load {{NoWiki}}Space{{/NoWiki}}"})); | 
						|
			 | 
						|
			var menu3 = dojo.widget.createWidget("PopupMenu2", {id: "menu3"}); | 
						|
			menu3.addChild(dojo.widget.createWidget("MenuItem2", {caption: "Edit Page"})); | 
						|
			menu3.addChild(dojo.widget.createWidget("MenuItem2", {caption: "Copy Page"})); | 
						|
			menu3.addChild(dojo.widget.createWidget("MenuItem2", {caption: "Rename Page"})); | 
						|
			menu3.addChild(dojo.widget.createWidget("MenuItem2", {caption: "Delete Page"})); | 
						|
			 | 
						|
			var menu4 = dojo.widget.createWidget("PopupMenu2", {id: "menu4"}); | 
						|
			menu4.addChild(dojo.widget.createWidget("MenuItem2", {caption: "Show All Notes"})); | 
						|
			menu4.addChild(dojo.widget.createWidget("MenuItem2", {caption: "Hide All Notes"})); | 
						|
			menu4.addChild(dojo.widget.createWidget("MenuSeparator2")); | 
						|
			menu4.addChild(dojo.widget.createWidget("MenuItem2", {caption: "Lists"})); | 
						|
			menu4.addChild(dojo.widget.createWidget("MenuItem2", {caption: "Commands"})); | 
						|
			menu4.addChild(dojo.widget.createWidget("MenuItem2", {caption: "Bookmarks"})); | 
						|
			 | 
						|
			var menu5 = dojo.widget.createWidget("PopupMenu2", {id: "menu5"}); | 
						|
			menu5.addChild(dojo.widget.createWidget("MenuItem2", {caption: "DojoTest"})); | 
						|
			menu5.addChild(dojo.widget.createWidget("MenuItem2", {caption: "Home Page"})); | 
						|
			menu5.addChild(dojo.widget.createWidget("MenuItem2", {caption: "Yadda Yadda"})); | 
						|
			 | 
						|
			var menu6 = dojo.widget.createWidget("PopupMenu2", {id: "menu6"}); | 
						|
			menu6.addChild(dojo.widget.createWidget("MenuItem2", {caption: "Change Settings"})); | 
						|
			menu6.addChild(dojo.widget.createWidget("MenuItem2", {caption: "Logout"})); | 
						|
			menu6.addChild(dojo.widget.createWidget("MenuItem2", {caption: "Manage Users"})); | 
						|
			menu6.addChild(dojo.widget.createWidget("MenuItem2", {caption: "Refresh QED Palette"})); | 
						|
			 | 
						|
			var menu7 = dojo.widget.createWidget("PopupMenu2", {id: "menu7"}); | 
						|
			menu7.addChild(dojo.widget.createWidget("MenuItem2", {caption: "About"})); | 
						|
			menu7.addChild(dojo.widget.createWidget("MenuItem2", {caption: "User Manual"})); | 
						|
			 | 
						|
			menubar.addChild(dojo.widget.createWidget("MenuBarItem2", {caption: "Help", submenuId: "menu7"})); | 
						|
			menubar.addChild(dojo.widget.createWidget("MenuBarItem2", {caption: "User", submenuId: "menu6"})); | 
						|
			menubar.addChild(dojo.widget.createWidget("MenuBarItem2", {caption: "History", submenuId: "menu5"})); | 
						|
			menubar.addChild(dojo.widget.createWidget("MenuBarItem2", {caption: "View", submenuId: "menu4"})); | 
						|
			menubar.addChild(dojo.widget.createWidget("MenuBarItem2", {caption: "Edit", submenuId: "menu3"})); | 
						|
			menubar.addChild(dojo.widget.createWidget("MenuBarItem2", {caption: "Page", submenuId: "menu2"})); | 
						|
			menubar.addChild(dojo.widget.createWidget("MenuBarItem2", {caption: "Home", submenuId: "menu1"}));			 | 
						|
	 	} | 
						|
 | 
						|
		// This is a JSON structure representing a menu | 
						|
		var myMenu = | 
						|
		[ | 
						|
			{ | 
						|
				caption: "File", | 
						|
				submenu: | 
						|
				[ | 
						|
					{ | 
						|
						caption: "Save", | 
						|
						iconSrc: "images/tools.gif" | 
						|
					}, | 
						|
					{ | 
						|
						caption: "Recent", | 
						|
						iconSrc: "images/plus.gif", | 
						|
						submenu:  | 
						|
						[ | 
						|
							{ caption: "foo.txt", iconSrc: "images/graph.gif", onClick: function(){ alert("opening foo"); } }, | 
						|
							{ caption: "bar.txt", iconSrc: "images/check.gif", onClick: function(){ alert("opening bar"); } }, | 
						|
							{ caption: "doh.txt", iconSrc: "images/graph.gif", onClick: function(){ alert("opening doh"); } } | 
						|
						] | 
						|
					} | 
						|
				] | 
						|
			}, | 
						|
 | 
						|
			{ | 
						|
				caption: "Edit", | 
						|
				submenu: | 
						|
				[ | 
						|
					{ caption: "Cut", accelKey: "Ctrl+X", iconSrc: "../../src/widget/templates/buttons/cut.gif" }, | 
						|
					{ caption: "Copy", accelKey: "Ctrl+P", iconSrc: "../../src/widget/templates/buttons/copy.gif" }, | 
						|
					{ caption: "Paste", accelKey: "Ctrl+V", iconSrc: "../../src/widget/templates/buttons/paste.gif" } | 
						|
				] | 
						|
			}, | 
						|
 | 
						|
			{ | 
						|
				caption: "Help", | 
						|
				onClick: function(){ alert("Help me!"); } | 
						|
			} | 
						|
		]; | 
						|
		 | 
						|
		function makeMenu(items, isTop){ | 
						|
			var menu2 = dojo.widget.createWidget("PopupMenu2", {contextMenuForWindow: isTop}); | 
						|
			dojo.lang.forEach(items, function(itemJson){ | 
						|
				// if submenu is specified, create the submenu and then make submenuId point to it | 
						|
				if(itemJson.submenu){ | 
						|
					var submenu = makeMenu(itemJson.submenu, false); | 
						|
					itemJson.submenuId = submenu.widgetId; | 
						|
				} | 
						|
				var item = dojo.widget.createWidget("MenuItem2",  itemJson); | 
						|
				menu2.addChild(item); | 
						|
			}); | 
						|
			return menu2; | 
						|
		} | 
						|
 | 
						|
		// Make a popup menu | 
						|
		function menu(){ | 
						|
			makeMenu(myMenu, true); | 
						|
			dojo.debug("Menu created, right-click to see it (ctrl-click on opera)"); | 
						|
		} | 
						|
	</script> | 
						|
</head> | 
						|
<body> | 
						|
<h1>Test of programatic creation of menu and menubar</h1> | 
						|
<button onClick="bar();">Create menu bar</button> | 
						|
<button onClick="menu();">Create context menu</button> | 
						|
</body> | 
						|
</html>
 | 
						|
 |