- onMouseDown : function(e, t){
- if(Ext.fly(t).hasClass(this.createId())){
- e.stopEvent();
- var index = this.grid.getView().findRowIndex(t);
- var record = this.grid.store.getAt(index);
- record.set(this.dataIndex, !record.data[this.dataIndex]);
+ /**
+ * @private
+ * Process and refire events routed from the GridView's processEvent method.
+ */
+ processEvent: function(type, view, cell, recordIndex, cellIndex, e) {
+ if (type == 'mousedown' || (type == 'keydown' && (e.getKey() == e.ENTER || e.getKey() == e.SPACE))) {
+ var record = view.panel.store.getAt(recordIndex),
+ dataIndex = this.dataIndex,
+ checked = !record.get(dataIndex);
+
+ record.set(dataIndex, checked);
+ this.fireEvent('checkchange', this, recordIndex, checked);
+ // cancel selection.
+ return false;
+ } else {
+ return this.callParent(arguments);