rem: else if (e.getKeyCode() == qx.event.types.KeyEvent.keys.space) 
add: else if (e.getKeyCode() == qx.event.type.KeyEvent.keys.space) 
context: qx.Proto.handleKeyDown = function(e){  var oldVal = this._getChangeValue();  // Temporary disabling of event fire  var oldFireChange = this.getFireChange();  this.setFireChange(false);  // this.debug("KeyCode: " + e.getKeyCode());  // Ctrl+A: Select all  if (e.getKeyCode() == 65 && e.getCtrlKey())  {    if (this.getMultiSelection())    {      this._selectAll();      // Update lead item to this new last      // (or better here: first) selected item      this.setLeadItem(this.getFirst());    };  }  // Default operation  else  {    var aIndex = this.getAnchorItem();    var itemToSelect = this.getItemToSelect(e);    // this.debug("Anchor: " + (aIndex ? aIndex.getLabel() : "null"));    // this.debug("ToSelect: " + (itemToSelect ? itemToSelect.getLabel() : "null"));    if (itemToSelect && this.getItemEnabled(itemToSelect))    {      // Update lead item to this new last selected item      this.setLeadItem(itemToSelect);      // Scroll new item into view      this.scrollItemIntoView(itemToSelect);      // Stop event handling      e.preventDefault();      // Select a range      if (e.getShiftKey() && this.getMultiSelection())      {        // Make it a little bit more failsafe:        // Set anchor if not given already. Allows us to select        // a range without any previous selection.        if (aIndex == null) {          this.setAnchorItem(itemToSelect);        };        // Select new range (and clear up current selection first)        this._selectItemRange(this.getAnchorItem(), itemToSelect, true);      }      else if (!e.getCtrlKey())      {        // Clear current selection        this._deselectAll();        // Update new item to be selected        this.renderItemSelectionState(itemToSelect, true);        // Add item to new selection        this._selectedItems.add(itemToSelect);        // Update anchor to this new item        // (allows following shift range selection)        this.setAnchorItem(itemToSelect);      }      else if (e.getKeyCode() == qx.event.types.KeyEvent.keys.space)      {        if (this._selectedItems.contains(itemToSelect))        {          // Update new item to be selected          this.renderItemSelectionState(itemToSelect, false);          // Add item to new selection          this._selectedItems.remove(itemToSelect);          // Fix anchor item          this.setAnchorItem(this._selectedItems.getFirst());        }        else        {          // Clear current selection          if (!e.getCtrlKey() || !this.getMultiSelection()) {            this._deselectAll();          };          // Update new item to be selected          this.renderItemSelectionState(itemToSelect, true);          // Add item to new selection          this._selectedItems.add(itemToSelect);          // Update anchor to this new item          // (allows following shift range selection)          this.setAnchorItem(itemToSelect);        };      };    };  };  // Recover change event status  this.setFireChange(oldFireChange);  // Dispatch change Event  if (oldFireChange && this._hasChanged(oldVal)) {    this._dispatchChange();  };};
meta: 1005	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/1005/38710fb756ef4603abbb6bd91cb02c58b687fdd2/SelectionManager.js/buggy/qooxdoo/source/script/qx/manager/selection/SelectionManager.js