Menu on click event : Menu « SmartClient « JavaScript DHTML






Menu on click event

 
<!--
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

1.Menu with separator
2.sub menu demo
3.Add shortcut key to menu
4.CheckBox menu
5.Menu with icon
6.Create a File menu
7.Create MenuBar from Menu
8.Dynamic menu items
9.Menu tree
10.Dropdown menu and action listener
11.Menu item icon, shortcut key, sub menu and checkbox menu
12.Listen to showContentMenu event