## MenuItem.Enabled

### Introduced

v5.0

### Description

Sets or returns a Boolean indicating whether the menu item is enabled (true) or not. Menu objects can also be enabled or disabled which means all menu items defined in a menu are affected. This property is typically used for updating a menu item based on a specific context.

### C# Syntax

    // get accessor

    Boolean rtn = MenuItem.Enabled;

    // set accessor

    MenuItem.Enabled = Boolean;

### Examples

#### JScript Example

    /*

    	This example showing how to enable/disable custom menus defined in

    	a self-installing plug-in.

    	Adds a menu in the top menu bar with 3 menu items.

    	The first item is a greyed out menu item

    	The second item is greyed out submenu item

    	The third item allows you to enable or disable the first and second item.

    */

    function XSILoadPlugin( in_reg )

    {

    	in_reg.Author = "Softimage SDK team";

    	in_reg.Name = "DemoMenuPlugin";

    	in_reg.Major = 1;

    	in_reg.Minor = 0;

    	var bSubmenu = true; // value ignored for top level menus

    	var bDynamic = true;

    	in_reg.RegisterMenu(siMenuMainTopLevelID,"Demo Menu",bSubmenu,bDynamic);

    	return true;

    }

    function DemoMenu_Init( ctxt )

    {

    	if ( ctxt.UserData == undefined )

    	{

    		// disable demo menu items if the user data is not set yet

    		ctxt.UserData = false;

    	}

    	var menu = ctxt.Source;

    	var bEnabled = ctxt.UserData;

    	var strTitle = "Demo menu item is enabled";

    	var strSubmenuTitle = "Demo sub menu is enabled";

    	if ( bEnabled == false )

    	{

    		strTitle = "Demo menu item is disabled";

    		strSubmenuTitle = "Demo sub menu is disabled";

    	}

    	var menuitem = menu.AddCallbackItem(strTitle,"OnDemoMenuItem");

    	menuitem.Enabled = bEnabled;

    	var submenu = menu.AddItem( strSubmenuTitle, siMenuItemSubmenu );

    	submenu.AddCallbackItem(strTitle,"OnDemoMenuItem");

    	submenu.Enabled = bEnabled;

    	menu.AddCallbackItem("Toggle Demo menu","OnToggleDemoMenuItem");

    	return true;

    }

    function OnDemoMenuItem( in_ctxt )

    {

    	LogMessage( "OnDemoMenuItem" );

    }

    function OnToggleDemoMenuItem( in_ctxt )

    {

    	// toggles the enabled flag

    	if ( in_ctxt.UserData == true )

    	{

    		in_ctxt.UserData = false;

    	}

    	else

    	{

    		in_ctxt.UserData = true;

    	}

    }