// Copyright (C) 1997-2006 Autodesk, Inc., and/or its licensors.
// All rights reserved.
//
// The coded instructions, statements, computer programs, and/or related
// material (collectively the "Data") in these files contain unpublished
// information proprietary to Autodesk, Inc. ("Autodesk") and/or its licensors,
// which is protected by U.S. and Canadian federal copyright law and by
// international treaties.
//
// The Data is provided for use exclusively by You. You have the right to use,
// modify, and incorporate this Data into other products for purposes authorized 
// by the Autodesk software license agreement, without fee.
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND. AUTODESK
// DOES NOT MAKE AND HEREBY DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTIES
// INCLUDING, BUT NOT LIMITED TO, THE WARRANTIES OF NON-INFRINGEMENT,
// MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR ARISING FROM A COURSE 
// OF DEALING, USAGE, OR TRADE PRACTICE. IN NO EVENT WILL AUTODESK AND/OR ITS
// LICENSORS BE LIABLE FOR ANY LOST REVENUES, DATA, OR PROFITS, OR SPECIAL,
// DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES, EVEN IF AUTODESK AND/OR ITS
// LICENSORS HAS BEEN ADVISED OF THE POSSIBILITY OR PROBABILITY OF SUCH DAMAGES.

//
//  Alias Script File
//
//  Creation Date:	May 9, 1997
//
//  Procedure Name:
//	AEpointLightTemplate
//
//  Description:
//	Creates the attribute editor controls for the pointLightNode
//
//  Input Value:
//	nodeName
//
//  Output Value:
//	None
//



global proc AEpointLightFogNew (string $fogGeometry)
//
// Description:
//		Setup up button that makes fog.
//
{
	setUITemplate -pst attributeEditorTemplate;

	attrNavigationControlGrp -label (uiRes("m_AEpointLightTemplate.kLightFog"))
		-at $fogGeometry
		-ignoreNotSupported
		lightFogControl;

	setUITemplate -ppt;
}

global proc AEpointLightFogReplace (string $fogGeometry)
//
// Description:
//		Replace the button with the command to create fog
//		for the new light.
//
{
	attrNavigationControlGrp -edit
		-at $fogGeometry
		-ignoreNotSupported
		lightFogControl;
}


//
//  Procedure Name:
//	 AEpointLightGlowNew 
//
//

global proc AEpointLightGlowNew (string $lightGlow)
{
	setUITemplate -pst attributeEditorTemplate;

	attrNavigationControlGrp -label (uiRes("m_AEpointLightTemplate.kLightGlow"))
		-at $lightGlow
		-ignoreNotSupported
		lightGlowControl;

	setUITemplate -ppt;
}

//
//  Procedure Name:
//	AEpointLightGlowReplace
//
//

global proc AEpointLightGlowReplace (string $lightGlow)
{
	attrNavigationControlGrp -edit
		-at $lightGlow
		-ignoreNotSupported
		lightGlowControl;
}

//
//  Procedure Name:
//	AEpointLightTemplate
//
//

global proc AEpointLightTemplate ( string $nodeName )
{
	AEswatchDisplay $nodeName;

editorTemplate -beginScrollLayout;

	editorTemplate -beginLayout (uiRes("m_AEpointLightTemplate.kPointLightAttr")) -collapse 0;
		AElightCommon $nodeName;
		AEnonAmbientLightShapeNodeDecay $nodeName;
	editorTemplate -endLayout;

	ccAttributeDispatcher( $nodeName );

	editorTemplate -beginLayout (uiRes("m_AEpointLightTemplate.kLightEffects"));
			editorTemplate -callCustom 
				"AEpointLightFogNew" 		
				"AEpointLightFogReplace"
				"fogGeometry";
			editorTemplate -addControl "fogType";
			editorTemplate -addControl "fogRadius";
			editorTemplate -addControl "fogIntensity";

			editorTemplate -addSeparator;
			editorTemplate -callCustom 
				"AEpointLightGlowNew" 
				"AEpointLightGlowReplace" 
				"lightGlow";

			editorTemplate -suppress "fogGeometry";
			editorTemplate -suppress "fogType";
			editorTemplate -suppress "objectType";
			editorTemplate -suppress "pointWorld";
			editorTemplate -suppress "farPointWorld";
			editorTemplate -suppress "lightGlow";
			editorTemplate -suppress "farPointCamera";
	editorTemplate -endLayout;

	editorTemplate -beginLayout (uiRes("m_AEpointLightTemplate.kShadowsLabel"));
		editorTemplate -addControl "shadowColor";

		// include the depth part of the nonExtendedLightShapeNode first
		AEnonExtendedLightShapeDepthMapAttr $nodeName;

		AElightCommonShadow1 $nodeName;
	
		// include the main part of the nonExtendedLightShapeNode
		AEnonExtendedLightShapeShadowAttr $nodeName;

		// include the last part of the lightNode
		AElightCommonShadow2 $nodeName;
	editorTemplate -endLayout;	

	// mental ray light attributes
	AEmentalrayPointLight $nodeName;

	// include all other inherited attrs
	AEshapeTemplate $nodeName;

	//suppressed attributes
	editorTemplate -suppress "receiveShadows";

editorTemplate -addExtraControls;
editorTemplate -endScrollLayout;
}
