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