rem: }) 
add: }); 
context: qx.Proto.openSearchDialog = function() {  var sel = this.getSelection();  if (!sel || !sel.length || this.isSearchInProgress()) {    return;  }  this._testClosePopup();  var me = this,    oldSelectedIndex = this.getSelectedIndex(),    startIndex = oldSelectedIndex;  //###searchField  function search() {    me._search(startIndex, searchField.getComputedValue(), checkCase.isChecked());  }  var searchField = new qx.ui.form.TextField;  searchField.set({    minWidth: this._field.getWidth(),    width: '100%'  })  searchField.addEventListener(qx.constant.Event.INPUT, function() {    search();  });  //###checkCase  var checkCase = new qx.ui.form.CheckBox('Case sensitive');  checkCase.set({    horizontalAlign: 'center',    marginBottom: 4  });  //###vbox  var vbox = new qx.ui.layout.VerticalBoxLayout;  vbox.set({    spacing: 6,    horizontalChildrenAlign: 'center',    height: '100%'  });  vbox.auto();  vbox.add(searchField, checkCase);  //###list, we reuse the same list in the popup  this._calculateDimensions();  var newListSettings = {    minHeight: this._list.getHeight(),    height: '1*',    border: qx.renderer.border.BorderPresets.getInstance().inset,    parent: vbox  };  // Save old list settings  var oldListSettings = {};  for (var prop in newListSettings) {    oldListSettings[prop] = this._list[qx.OO.getter[prop]]();  }  this._list.set(newListSettings);  //###buttons  var butNext = new qx.ui.form.Button('', 'icon/16/find.png');  butNext.set({    toolTip: new qx.ui.popup.ToolTip(this.getSetting('toolTipSearchNext'))  });  butNext.addEventListener(qx.constant.Event.EXECUTE, function() {    startIndex = (this.getSelectedIndex()+1) % sel.length;    search();  }, this);  var butOk = new qx.ui.form.Button('', 'icon/16/button-ok.png');  butOk.addEventListener('execute', function() {    oldSelectedIndex = null;    win.close();  }, this);  var butCancel = new qx.ui.form.Button('', 'icon/16/button-cancel.png');  butCancel.addEventListener('execute', function() {    win.close();  }, this);  var butBox = new qx.ui.layout.VerticalBoxLayout;  butBox.auto();  butBox.set({    spacing: 10  });  butBox.add(butNext, butOk, butCancel);  //###hbox  var hbox = new qx.ui.layout.BoxLayout;  hbox.auto();  hbox.setPadding(10);  hbox.set({    spacing: 8,    minHeight: 'auto',    height: '100%'  });  hbox.add(vbox, butBox);  //###Window  var win = new qx.ui.window.Window(this.getSetting('titleSearch'), 'icon/16/find.png');  win.add(hbox);  win.positionRelativeTo(this);  win.set({    autoHide: true,    allowMaximize: false,    showMaximize: false,    allowMinimize: false,    showMinimize: false  });  win.addEventListener(qx.constant.Event.APPEAR, function() {    searchField.focus();  });  win.addEventListener(qx.constant.Event.DISAPPEAR, function() {    if (oldSelectedIndex != null) {      // Hit Cancel button      this.setSelectedIndex(oldSelectedIndex);    }    this._list.set(oldListSettings);    this.focus();  }, this);  win.addEventListener(qx.constant.Event.KEYDOWN, function(e) {    var vKeys = qx.event.type.KeyEvent.keys;    switch (e.getKeyCode()) {      case vKeys.enter:        butOk.createDispatchEvent('execute');        break;      case vKeys.esc:        butCancel.createDispatchEvent('execute');        break;      case vKeys.f3:        butNext.createDispatchEvent('execute');        break;      default:        return;    }    e.preventDefault();  }, this);  win.auto();  win.addToDocument();  win.open();}
meta: 1005	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/1005/475ab520b3527479c847dafebbbbb46316951e53/ComboBoxEx.js/clean/qooxdoo/frontend/framework/source/class/qx/ui/form/ComboBoxEx.js