Command.Enabled

説明

コマンドが有効か(true)無効か(false)を示すBooleanが戻されるか、設定されます。このフラグはユーザインターフェイスにのみ作用し、スクリプトから実行されるコマンドを妨げることはありません。このプロパティはよくMenuと併用されます。コマンドステートが更新されているか確認するために、Command.Updateを呼び出す必要があります。

JScript の例

/*
        Example showing how custom commands
        can be defined and added to custom menus inside a
        self installed plug-in.
        Adds two entries to the "Window" menu 
        The first item is greyed out
        The second item allows you to enable or disable the first item. 
*/
function XSILoadPlugin( in_reg )
{
        // Called on startup of Softimage to defined
        // what is contained in the script.  (We could potentially
        // implement many PluginItems in the same script)
        in_reg.Author = "Softimage SDK Team" ;
        in_reg.Name = "SDK Example - Enabled Command" ;
        in_reg.Major = 1 ;
        in_reg.Minor = 1 ;
        in_reg.RegisterMenu( siMenuMainWindowID, "DemoMenu", false ) ;
        in_reg.RegisterCommand( "DemoDisabled", "DemoDisabled" );
        in_reg.RegisterCommand( "EnableDemoDisabled", "EnableDemoDisabled" );
        return true ;
}
function DemoMenu_Init( in_oCtxt )
{
        var menu = in_oCtxt.Source
        menu.Name = "&Custom Deform" ;
        menu.AddCommandItem( "&Demo Disabled", "DemoDisabled" ) ;
        menu.AddCommandItem( "&Toggle Demo Disabled", "EnableDemoDisabled" ) ;
}
function DemoDisabled_Init(in_oCtxt)
{
        var cmd = in_oCtxt.Source ;
        cmd.Enabled = false ;
        cmd.ReturnValue = false ;
}
function DemoDisabled_Execute()
{
        LogMessage( "Thanks for enabling me finally" ) ;
}
function EnableDemoDisabled_Init(in_oCtxt)
{
        var cmd = in_oCtxt.Source ;
        cmd.Enabled = true ;
        cmd.ReturnValue = false ;
}
function EnableDemoDisabled_Execute()
{
        var cmd = Application.Commands( "DemoDisabled" ) ;
        // Toggle the enabled bit
        if ( cmd.Enabled )
                cmd.Enabled = false ;
        else
                cmd.Enabled = true ;
        // Update the definition
        cmd.Update() ;
}