I would like to put text and clickable icons in the headers in my panels, like this:

I’ve found some old hacks from 2008 to do this, but can imagine that the newer versions of ExtJS allow you to put text and icons in panel headers in a more straightforward way.
What is the most straight-forward way to put text and clickable icons in a Ext.Panel header?
Addendum
thanks @Stefan that worked, here’s my solution:
Javascript:
var grid_shopping_cart = new Ext.grid.GridPanel({
headerCfg: {
tag: 'div',
cls: 'x-panel-header',
children: [
{ tag: 'div', cls: 'panel_header_main', 'html': 'Shopping Cart' },
{ tag: 'div', cls: 'panel_header_icon1', 'html': '<img src="images/icon_plus.png" />' },
{ tag: 'div', cls: 'panel_header_extra', 'html': 'Order Number: 2837428347' }
]
},
width: 600,
height: 390,
...
listeners: {
'afterrender' : function(p) {
p.header.on('click', function(e, h) {
alert('you clicked the plus');
}, p, {
delegate: '.panel_header_icon1',
stopEvent: true
});
},
...
CSS:
div.panel_header_main {
text-align: left;
float: left;
}
div.panel_header_extra {
text-align: left;
float: right;
margin-right: 10px;
}
div.panel_header_icon1 {
text-align: right;
float: right;
margin-left: 3px;
cursor: hand;
cursor: pointer;
}
div.panel_header_icon2 {
text-align: right;
float: right;
margin-left: 3px;
cursor: hand;
cursor: pointer;
}
Perhaps you can use the
headerCfgconfiguration option of the Ext.Panel:The clickable behavior must be added in the
afterrenderevent for example:You’ll need some css to style the header of course…