Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 285988
Collapse All | Expand All

(-)js/org/eclipse/swt/widgets/Combo.js (-18 / +19 lines)
Lines 346-354 Link Here
346
      } else {
346
      } else {
347
        this._resetListSelection();
347
        this._resetListSelection();
348
      }
348
      }
349
      if( !this._dropped ) {
349
      this._sendWidgetSelected();
350
        this._sendWidgetSelected();
351
      }
352
    },
350
    },
353
    
351
    
354
    _formatText : function( value ) {
352
    _formatText : function( value ) {
Lines 428-444 Link Here
428
        evt.stopPropagation();
426
        evt.stopPropagation();
429
        var toSelect;
427
        var toSelect;
430
        var isSelected = this._selected;
428
        var isSelected = this._selected;
431
        if( evt.getWheelDelta() < 0 ) {
429
        if( isSelected ) {
432
          toSelect =   isSelected
430
          if( evt.getWheelDelta() < 0 ) {
433
                     ? this._manager.getNext( isSelected )
431
            toSelect = this._manager.getNext( isSelected );
434
                     : this._manager.getFirst();
432
          } else {
435
        } else {
433
            toSelect = this._manager.getPrevious( isSelected );
436
          toSelect =   isSelected
434
          }
437
                     ? this._manager.getPrevious( isSelected )
435
          if( toSelect ) {
438
                     : this._manager.getLast();
436
            this._setSelected( toSelect );
439
        }
437
          }
440
        if( toSelect ) {
438
        } else if( this._list.getChildrenLength() ) {
441
          this._setSelected( toSelect );
439
          this._setSelected( this._list.getChildren()[0] );
442
        }
440
        }
443
      }
441
      }
444
    },
442
    },
Lines 484-490 Link Here
484
        case "Escape":
482
        case "Escape":
485
          if( this._dropped ) {
483
          if( this._dropped ) {
486
            this._toggleListVisibility();
484
            this._toggleListVisibility();
487
            this._setSelected( this._manager.getSelectedItem() );
488
          } 
485
          } 
489
          this.setFocused( true );
486
          this.setFocused( true );
490
          evt.stopPropagation();
487
          evt.stopPropagation();
Lines 538-546 Link Here
538
        case "Down":
535
        case "Down":
539
        case "PageUp":
536
        case "PageUp":
540
        case "PageDown":
537
        case "PageDown":
541
          this._list._onkeypress( evt );
538
          if( this._selected ) {
542
          var selected = this._manager.getSelectedItem();
539
            this._list._onkeypress( evt );
543
          this._setSelected( selected );
540
            var selected = this._manager.getSelectedItem();
541
            this._setSelected( selected );
542
          } else if( this._list.getChildrenLength() ) {
543
            this._setSelected( this._list.getChildren()[0] );
544
          }
544
          break;
545
          break;
545
        default:
546
        default:
546
          charCode = evt.getCharCode();
547
          charCode = evt.getCharCode();

Return to bug 285988