It is easy to extend a method to set the panel tools.
$.extend($.fn.panel.methods, {
setTools:function(jq, param){
return jq.each(function(){
var opts = $(this).panel('options');
opts.tools = param;
var header = $(this).panel('header');
var tool = header.find('.panel-tool');
tool.find(':not(.panel-tool-close,.panel-tool-collapse,.panel-tool-max,.paenl-tool-min)').remove();
for(var i=opts.tools.length-1; i>=0; i--){
var t = $('<a href="javascript:void(0)"></a>').addClass(opts.tools[i].iconCls).prependTo(tool);
if (opts.tools[i].handler){
t.bind('click', eval(opts.tools[i].handler));
}
}
});
}
})
Usage example:
$('#p').panel('setTools', [{
iconCls:'icon-save',
handler:function(){alert('save')}
},{
iconCls:'icon-cancel',
handler:function(){alert('cancel')}
}])