// =========================================================================== // Copyright 2018 Autodesk, Inc. All rights reserved. // // Use of this software is subject to the terms of the Autodesk license // agreement provided at the time of installation or download, or which // otherwise accompanies this software in either electronic or hard copy form. // =========================================================================== // // // Creation Date: 2008 // // Procedure Name: // buildAssets // // Description: // This procedure creates the main menubar Assets menu. // // Input Arguments: // Parent window that menu will be a part of. // // Return Value: // None. // global proc buildAssetsMenu ( string $assetInfo, string $parent ) // // Description: // Build the Assets menu // // Inputs: // $parent : parent for this menu // $assetInfo : Asset Editor information, if this menu is being built // from an asset editor // Return Value: // None. // { setParent -menu $parent; if( `menu -q -ni $parent` != 0 ) { // // Menu is built already // return; } string $refreshCmd; string $preCmd, $postCmd; if( $assetInfo != "" ){ $refreshCmd = "; rebuildRightWin(\"" + $assetInfo + "\");"; $preCmd = "{ string $editContainer = getEditedContainer(\"" + $assetInfo + "\"); " + "int $addToSelection = (($editContainer!=\"\")&&(size(`ls -sl $editContainer`) == 0)); " + "if( $addToSelection ) { select -add $editContainer; } "; $postCmd = "; if( $addToSelection) { select -d $editContainer; } " + " rebuildRightWin(\"" + $assetInfo + "\"); " + "}"; } menuItem -label (uiRes("m_buildAssetsMenu.kCreateAssetWithTransform")) -annotation (getRunTimeCommandAnnotation("CreateDagContainer")) -allowOptionBoxes true -dmc "performCreateDagContainer 2" -command CreateDagContainer; menuItem -optionBox true -annotation (getRunTimeCommandAnnotation("CreateDagContainerOptions")) -c CreateDagContainerOptions; menuItem -label (uiRes("m_buildAssetsMenu.kAddToAsset")) -allowOptionBoxes true -annotation (getRunTimeCommandAnnotation("AddToContainer")) -dmc "performAddToContainer 2" -c ($preCmd + "AddToContainer" + $postCmd ); menuItem -optionBox true -annotation (getRunTimeCommandAnnotation("AddToContainerOptions")) -c ($preCmd + "AddToContainerOptions" + $postCmd ); menuItem -label (uiRes("m_buildAssetsMenu.kRemoveFromAsset")) -allowOptionBoxes true -annotation (getRunTimeCommandAnnotation("RemoveFromContainer")) -dmc "performRemoveFromContainer 2" -c ("RemoveFromContainer" + $refreshCmd ); menuItem -optionBox true -annotation (getRunTimeCommandAnnotation("RemoveFromContainerOptions")) -c ("RemoveFromContainerOptions" + $refreshCmd ); menuItem -divider true; if( $assetInfo == "" ){ menuItem -ecr false -label (uiRes("m_buildAssetsMenu.kAssetEditorLabel")) -annotation (getRunTimeCommandAnnotation("AssetEditor")) -c "AssetEditor"; } menuItem -label (uiRes("m_buildAssetsMenu.kExportProxyAsset")) -annotation (getRunTimeCommandAnnotation("ExportProxyContainer")) -command ExportProxyContainer; $cmd = "ExportProxyContainerOptions"; menuItem -optionBox true -annotation (getRunTimeCommandAnnotation($cmd)) -command ($cmd) exportProxyContainerOptions; menuItem -label (uiRes("m_buildAssetsMenu.kPublishAttributes")) -annotation (getRunTimeCommandAnnotation("PublishAttributes")) -dmc "performPublishAttribute 2" -allowOptionBoxes true -command ("PublishAttributes" + $refreshCmd ); menuItem -optionBox true -annotation (getRunTimeCommandAnnotation("PublishAttributesOptions")) -c ("PublishAttributesOptions" + $refreshCmd ); menuItem -label (uiRes("m_buildAssetsMenu.kUnpublishAttributes")) -annotation (getRunTimeCommandAnnotation("UnpublishAttributes")) -command ("UnpublishAttributes" + $refreshCmd ); menuItem -label (uiRes("m_buildAssetsMenu.kPublishConnections")) -annotation (uiRes("m_buildAssetsMenu.kPublishConnectionsAnnot")) -command ("PublishConnections" + $refreshCmd ); menuItem -optionBox true -annotation (getRunTimeCommandAnnotation("PublishConnectionsOptions")) -c ("PublishConnectionsOptions" + $refreshCmd ); menuItem -label (uiRes("m_buildAssetsMenu.kLockContainer")) -annotation (getRunTimeCommandAnnotation("LockContainer")) -command LockContainer; menuItem -label (uiRes("m_buildAssetsMenu.kUnlockContainer")) -annotation (getRunTimeCommandAnnotation("UnlockContainer")) -command UnlockContainer; menuItem -label (uiRes("m_buildAssetsMenu.kPublishNode")) -allowOptionBoxes false -annotation( getRunTimeCommandAnnotation("PublishNode")) -c ($preCmd + "PublishNode" + $postCmd ); menuItem -label (uiRes("m_buildAssetsMenu.kUnpublishNode")) -allowOptionBoxes false -annotation( getRunTimeCommandAnnotation("UnpublishNode")) -c ($preCmd + "UnpublishNode" + $postCmd ); setParent -menu ..; menuItem -divider true; menuItem -label (uiRes("m_buildAssetsMenu.kNewTemplate")) -annotation (getRunTimeCommandAnnotation("AssignTemplate")) -c "AssignTemplate" ; menuItem -optionBox true -annotation (getRunTimeCommandAnnotation("AssignTemplateOptions")) -command "AssignTemplateOptions" ; menuItem -label (uiRes("m_buildAssetsMenu.kSelectContainerContent")) -command SelectContainerContents -annotation (getRunTimeCommandAnnotation("SelectContainerContents")); menuItem -divider true; if( $assetInfo != "" ){ // Transfer attribute values and connections // menuItem -divider true; menuItem -label (uiRes("m_buildAssetsMenu.kTransferAttributeValues")) -allowOptionBoxes true -annotation (getRunTimeCommandAnnotation("TransferAttributeValues")) -dmc "performTransferContainer 2" -c ("TransferAttributeValues" + $refreshCmd ); menuItem -optionBox true -annotation (getRunTimeCommandAnnotation("TransferAttributeValuesOptions")) -c ("TransferAttributeValuesOptions" + $refreshCmd ); } menuItem -label (uiRes("m_buildAssetsMenu.kAdvancedAssets")) -subMenu true -tearOff true -allowOptionBoxes true; menuItem -label (uiRes("m_buildAssetsMenu.kCreate")) -annotation (getRunTimeCommandAnnotation("CreateContainer")) -allowOptionBoxes true -dmc "performCreateContainer 2" -command CreateContainer; menuItem -optionBox true -annotation (getRunTimeCommandAnnotation("CreateContainerOptions")) -c CreateContainerOptions; menuItem -label (uiRes("m_buildAssetsMenu.kContainerPublishing")) -subMenu true -tearOff true -allowOptionBoxes true; menuItem -label (uiRes("m_buildAssetsMenu.kPublishSelTransform")) -annotation (getRunTimeCommandAnnotation("PublishRootTransform")) -allowOptionBoxes true -command ($preCmd + "PublishRootTransform" + $postCmd ); menuItem -optionBox true -annotation (getRunTimeCommandAnnotation("PublishRootTransformOptions")) -c ($preCmd + "PublishRootTransformOptions" + $postCmd); menuItem -label (uiRes("m_buildAssetsMenu.kPublishParentAnchor")) -allowOptionBoxes false -annotation( getRunTimeCommandAnnotation("PublishParentAnchor")) -c ($preCmd + "PublishParentAnchor" + $postCmd ); menuItem -optionBox true -annotation (getRunTimeCommandAnnotation("PublishParentAnchorOptions")) -c ($preCmd + "PublishParentAnchorOptions" + $postCmd ); menuItem -label (uiRes("m_buildAssetsMenu.kPublishChildAnchor")) -allowOptionBoxes false -annotation( getRunTimeCommandAnnotation("PublishChildAnchor")) -c ($preCmd + "PublishChildAnchor" + $postCmd ); menuItem -optionBox true -annotation (getRunTimeCommandAnnotation("PublishChildAnchorOptions")) -c ($preCmd + "PublishChildAnchorOptions" + $postCmd ); setParent -menu ..; menuItem -label (uiRes("m_buildAssetsMenu.kContainerUnpublishing")) -subMenu true -tearOff true -allowOptionBoxes true; menuItem -label (uiRes("m_buildAssetsMenu.kUnpublishSelTransform")) -allowOptionBoxes false -annotation( getRunTimeCommandAnnotation("UnpublishRootTransform")) -c ($preCmd + "UnpublishRootTransform" + $postCmd ); menuItem -label (uiRes("m_buildAssetsMenu.kUnpublishParent")) -allowOptionBoxes false -annotation( getRunTimeCommandAnnotation("UnpublishParentAnchor")) -c ($preCmd + "UnpublishParentAnchor" + $postCmd ); menuItem -label (uiRes("m_buildAssetsMenu.kUnpublishChild")) -allowOptionBoxes false -annotation( getRunTimeCommandAnnotation("UnpublishChildAnchor")) -c ($preCmd + "UnpublishChildAnchor" + $postCmd ); setParent -menu ..; string $sccSubmenu = `menuItem -label (uiRes("m_buildAssetsMenu.kSetCurrentAsset")) -annotation (uiRes("m_buildAssetsMenu.kSetCurrentAssetAnnot")) -sm true setCurrentContainerItem`; menu -e -pmc ("buildSetContainerMenu \"" + $sccSubmenu + "\"") setCurrentContainerItem; setParent -menu ..; setParent -menu ..; }