X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=Roo%2FButton.js;h=9bcd179fee600a788264317a202a48e24e5b6f17;hb=75cbc4ce04c9c01ac47671cb01320ce699128d00;hp=39747e01856483ee5bf119d7c957f8e2ca5f2be4;hpb=4d9cd83949f3c24871af08cebb30b1f8102ac4c9;p=roojs1 diff --git a/Roo/Button.js b/Roo/Button.js index 39747e0185..9bcd179fee 100644 --- a/Roo/Button.js +++ b/Roo/Button.js @@ -79,11 +79,13 @@ Roo.Button = function(renderTo, config) if(this.menu){ this.menu = Roo.menu.MenuMgr.get(this.menu); } + // register listeners first!! - so render can be captured.. + Roo.util.Observable.call(this); if(renderTo){ this.render(renderTo); } - Roo.util.Observable.call(this); + }; Roo.extend(Roo.Button, Roo.util.Observable, { @@ -119,7 +121,7 @@ Roo.extend(Roo.Button, Roo.util.Observable, { */ enableToggle: false, /** - * @cfg {Mixed} menu + * @cfg {Roo.menu.Menu} menu * Standard menu attribute consisting of a reference to a menu object, a menu id or a menu config blob (defaults to undefined). */ menu : undefined, @@ -259,6 +261,7 @@ Roo.extend(Roo.Button, Roo.util.Observable, { ); repeater.on("click", this.onClick, this); } + this.fireEvent('render', this); }, @@ -366,7 +369,23 @@ Roo.extend(Roo.Button, Roo.util.Observable, { this.hide(); } }, - + /** + * Similar to toggle, but does not trigger event. + * @param {Boolean} state [required] Force a particular state + */ + setPressed : function(state) + { + if(state != this.pressed){ + if(state){ + this.el.addClass("x-btn-pressed"); + this.pressed = true; + }else{ + this.el.removeClass("x-btn-pressed"); + this.pressed = false; + } + } + }, + /** * If a state it passed, it becomes the pressed state otherwise the current state is toggled. * @param {Boolean} state (optional) Force a particular state @@ -389,6 +408,8 @@ Roo.extend(Roo.Button, Roo.util.Observable, { } }, + + /** * Focus the button */ @@ -425,7 +446,8 @@ Roo.extend(Roo.Button, Roo.util.Observable, { }, // private - onClick : function(e){ + onClick : function(e) + { if(e){ e.preventDefault(); }