/**
 * @class Ext.menu.ColorMenu
 * @extends Ext.menu.Menu
 *

A menu containing a {@link Ext.ColorPalette} Component.


 *

Notes:

 *
 * @xtype colormenu
 */

 
Ext.menu.ColorMenu = Ext.extend(Ext.menu.Menu, {
   
/**
     * @cfg {Boolean} enableScrolling
     * @hide
     */

    enableScrolling
: false,
   
/**
     * @cfg {Function} handler
     * Optional. A function that will handle the select event of this menu.
     * The handler is passed the following parameters:

     */

   
/**
     * @cfg {Object} scope
     * The scope (
this reference) in which the {@link #handler}
     * function will be called.  Defaults to this ColorMenu instance.
     */
   
   
   
/**
     * @cfg {Boolean} hideOnClick
     * False to continue showing the menu after a color is selected, defaults to true.
     */

    hideOnClick
: true,
   
   
/**
     * @cfg {Number} maxHeight
     * @hide
     */

   
/**
     * @cfg {Number} scrollIncrement
     * @hide
     */

   
/**
     * @property palette
     * @type ColorPalette
     * The {@link Ext.ColorPalette} instance for this ColorMenu
     */

   
   
   
/**
     * @event click
     * @hide
     */

   
   
/**
     * @event itemclick
     * @hide
     */

   
    initComponent
: function(){
       
Ext.apply(this, {
            plain
: true,
            showSeparator
: false,
            items
: this.palette = new Ext.ColorPalette(this.initialConfig)
       
});
       
this.palette.purgeListeners();
       
Ext.menu.ColorMenu.superclass.initComponent.call(this);
       
/**
         * @event select
         * Fires when a color is selected from the {@link #palette Ext.ColorPalette}
         * @param {Ext.ColorPalette} palette The {@link #palette Ext.ColorPalette}
             * @param {String} color The 6-digit color hex code (without the # symbol)
         */

       
this.relayEvents(this.palette, ['select']);
       
this.on('select', this.menuHide, this);
       
if(this.handler){
           
this.on('select', this.handler, this.scope || this);
       
}
   
},

    menuHide
: function(){
       
if(this.hideOnClick){
           
this.hide(true);
       
}
   
}
});
Ext.reg('colormenu', Ext.menu.ColorMenu);