// Copyright (C) 1997-2004 Alias Systems Corp.
// 
// The information in this file is provided for the exclusive use of the
// licensees of Alias.  Such users have the right to use, modify,
// and incorporate this code into other products for purposes authorized
// by the Alias license agreement, without fee.
// 
// ALIAS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
// INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
// EVENT SHALL ALIAS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
// CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
// DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
// PERFORMANCE OF THIS SOFTWARE.

//
//  Alias|Wavefront Script File
//
//  Creation Date:	June 3, 1997
//
//  Procedure Name:
//	AEpointConstraintTemplate
//
//  Description Name;
//	Creates the attribute editor controls for the pointConstraint Node
//
//  Input Value:
//	nodeName 
//
//  Output Value:
//	None
// 


global proc AEconstraintOffsetPolarityNew( string $attrName )
{
	setUITemplate -pst attributeEditorTemplate;	
 	attrFieldSliderGrp -attribute $attrName -l "Offset Polarity"
            constraintOffsetPolaritySlider;
    setUITemplate -ppt;
}

global proc AEconstraintOffsetPolarityReplace( string $attrName )
{
 	attrFieldSliderGrp -e -attribute $attrName -l "Offset Polarity"
            constraintOffsetPolaritySlider;
}

global proc AEenableRestPointCallback( string $nodeName )
{
	int $enable = `getAttr ($nodeName+".enableRestPosition")`;
	editorTemplate -dimControl $nodeName "restTranslate" (! $enable);
}


global proc AEpointConstraintTemplate ( string $nodeName )
{
	editorTemplate -beginScrollLayout;
		

		// include/call base class/node attributes
		AEtransformMain $nodeName;
		
		editorTemplate -beginLayout "Point Constraint Attributes" -collapse 0;
		    editorTemplate -addControl "lockOutput";
			editorTemplate -addControl "offset";
		editorTemplate -callCustom "AEconstraintOffsetPolarityNew" 
			"AEconstraintOffsetPolarityReplace" "constraintOffsetPolarity";

			editorTemplate -addSeparator;

			editorTemplate -addControl "constraintTranslate";
			editorTemplate -addControl "enableRestPosition" "AEenableRestPointCallback";
			editorTemplate -addControl "restTranslate";			
	
			// suppressed attributes
			editorTemplate -suppress "constraintRotatePivot";
			editorTemplate -suppress "constraintParentInverseMatrix";
			editorTemplate -suppress "constraintRotateTranslate";
			editorTemplate -suppress "target";
		editorTemplate -endLayout;

		ccAttributeDispatcher( $nodeName );

		// include/call base class/node attributes
		AEtransformNoScroll $nodeName;

	editorTemplate -suppress "constraintOffsetPolarity";

	editorTemplate -addExtraControls;
	editorTemplate -endScrollLayout;
}
