Create MenuBar from Menu
<!-- Isomorphic SmartClient Copyright(c) 1998 and beyond Isomorphic Software, Inc. "SmartClient" is a trademark of Isomorphic Software, Inc. All rights reserved. Open Source License SmartClient source code, located under the source/ directory, and the resulting assembled modules in isomorphic/system/modules/, as well as JavaScript and CSS files under the isomorphic/skins directory are licensed under the terms of the GNU Lesser General Public License, version 3. The text of the LGPLv3 license is available online at http://www.gnu.org/licenses/lgpl-3.0.html If your project precludes the use of this license, or if you'd like to support SmartClient LGPL, we encourage you to buy a commercial license. Icon Experience Collection Selected 16x16 icons within the isomorphic/skins directory are part of the Icon Experience collection (http://www.iconexperience.com) and may be freely used with any SmartClient components without charge, but may not be used as part of screen designs separate from SmartClient components without a purchase of a license from Icon Experience. We are working to replace these icons as soon as possible. All other media found under the isomorphic/skins directory may be used under the LGPLv3. Commercial Licenses A number of commercial licenses are available for purchase. Please see http://smartclient.com/license. Warranty Disclaimer This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. Copyright 2001 and beyond Isomorphic Software, Inc. Last revised July 20, 2008. --> <!-- The following code is revised from SmartClient demo code(SmartClient_70rc2_LGPL.zip).--> <HTML><HEAD> <SCRIPT>var isomorphicDir="isomorphic/";</SCRIPT> <SCRIPT SRC=isomorphic/system/modules/ISC_Core.js></SCRIPT> <SCRIPT SRC=isomorphic/system/modules/ISC_Foundation.js></SCRIPT> <SCRIPT SRC=isomorphic/system/modules/ISC_Containers.js></SCRIPT> <SCRIPT SRC=isomorphic/system/modules/ISC_Grids.js></SCRIPT> <SCRIPT SRC=isomorphic/system/modules/ISC_Forms.js></SCRIPT> <SCRIPT SRC=isomorphic/system/modules/ISC_DataBinding.js></SCRIPT> <SCRIPT SRC=isomorphic/skins/SmartClient/load_skin.js></SCRIPT> </HEAD><BODY> <SCRIPT> Img.create({ ID:"widget", autoDraw:false, left:200, top:60, width:100, height:100, src:"yinyang.gif" }); Canvas.create({ ID:"boundingBox", autoDraw:false, height:260, backgroundColor:"white", children:[widget] }); Menu.create({ ID:"imageMenu", autoDraw:false, cellHeight:18, menuButtonWidth:60, data:[ {title:"Visible", keys:"V", checkIf:"widget.isVisible()", click:"widget.isVisible() ? widget.hide() : widget.show()" }, {title:"Reset", click:"widget.setRect(200,60,100,100); widget.show()", icon:"yinyang_icon.gif", iconWidth:20, iconHeight:20, keys:{keyName:"R", shiftKey:true}, keyTitle:"Shift-R" } ], title:"Image" }); Menu.create({ ID:"sizeMenu", autoDraw:false, cellHeight:18, menuButtonWidth:60, data: [ {title:"Small", checkIf:"widget.getWidth() == 50", click:"widget.resizeTo(50, 50);widget.moveTo(225, 100);", keys:"S", enableIf:"widget.isVisible()"}, {title:"Medium", checkIf:"widget.getWidth() == 100", click:"widget.resizeTo(100, 100);widget.moveTo(200, 80);", keys:"M", enableIf:"widget.isVisible()"}, {title:"Large", checkIf:"widget.getWidth() == 200", click:"widget.resizeTo(200, 200);widget.moveTo(150, 25);", keys:"L", enableIf:"widget.isVisible()"} ], title:"Size" }); Menu.create({ ID:"positionMenu", autoDraw:false, cellHeight:18, menuButtonWidth:60, data:[ {title:"Up", click:"moveUp()", keys:"U", enableIf:"widget.isVisible()"}, {title:"Right", click:"moveRight()", keys:"K", enableIf:"widget.isVisible()"}, {title:"Down", click:"moveDown()", keys:"J", enableIf:"widget.isVisible()"}, {title:"Left", click:"moveLeft()", keys:"H", enableIf:"widget.isVisible()"} ], title:"Position" }); Menubar.create({ ID:"menuBar", autoDraw:false, backgroundColor:"#CCCCCC", menus:[imageMenu, sizeMenu, positionMenu] }); VStack.create({ top:75, left:50, width:500, members:[menuBar, boundingBox] }); function moveUp() { if (widget.getTop() >= 20) widget.moveBy(0,-20); } function moveRight() { if (widget.getLeft() <= (480 - widget.getWidth())) widget.moveBy(20,0); } function moveDown() { if (widget.getTop() <= (240 - widget.getHeight())) widget.moveBy(0,20); } function moveLeft() { if (widget.getLeft() >= 20) widget.moveBy(-20,0); } </SCRIPT> </BODY> </HTML>
Related examples in the same category