// Copyright (C) 1997-2014 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.

//
//<doc>
//<name scriptToShelf>
//<owner "Internal">
//
//<synopsis>
//	scriptToShelf (string $label, string $script, int $isMEL)
//
//<returns>
//  None.
//
//<description>
//  Creates a shelf item on the currently active shelf that will
//	execute the given script of the given type.
//
//<flags>
//	string $label The label to give the new shelf item.
//	string $script The script to be executed when the shelf item is clicked.
//	int $isMEL whether the script is of type MEL or Python
//
//<examples>
//  scriptToShelf ("Sel", "select -all", true);
//
//</doc>

global proc scriptToShelf (string $label, string $script, int $isMEL) {

	global string $gShelfTopLevel;

	if (`tabLayout -exists $gShelfTopLevel`) {

		string $currentShelf = `tabLayout -query -selectTab $gShelfTopLevel`;
		setParent $currentShelf;

		string $sourceType = ($isMEL ? "mel" : "python");
		// TODO: get real python shelf command button icon
		string $sourceIcon = ($isMEL ? "commandButton.png" : "pythonFamily.png");
		//  Create the shelf button on the current shelf.
		//  Give it the default MEL script icon,
		//  and set the short label too.
		//
		shelfButton 
			-command $script
			-sourceType $sourceType
			-label $label
			-annotation $script
			-imageOverlayLabel $label
			-image1 $sourceIcon
			-style `shelfLayout -query -style $currentShelf`
			-width `shelfLayout -query -cellWidth $currentShelf`
			-height `shelfLayout -query -cellHeight $currentShelf`;
	}
}
