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 289398 | Differences between
and this patch

Collapse All | Expand All

(-)js/org/eclipse/swt/widgets/Combo.js (-12 / +14 lines)
Lines 345-351 Link Here
345
      }
345
      }
346
    },
346
    },
347
   
347
   
348
    _setSelected : function( value ) {
348
    _setSelected : function( value, serverSelected ) {
349
      this._selected = value;
349
      this._selected = value;
350
      this._manager.setLeadItem( value );
350
      this._manager.setLeadItem( value );
351
      this._manager.setAnchorItem( value );
351
      this._manager.setAnchorItem( value );
Lines 353-359 Link Here
353
        var fieldValue = value.getLabel().toString();
353
        var fieldValue = value.getLabel().toString();
354
        this._field.setValue( this._formatText( fieldValue ) );
354
        this._field.setValue( this._formatText( fieldValue ) );
355
        if( this._field.isCreated() ) {
355
        if( this._field.isCreated() ) {
356
          this._field.selectAll();
356
          if( !serverSelected ) {
357
            this._field.selectAll();
358
          }
357
          if( !org_eclipse_rap_rwt_EventUtil_suspend ) {
359
          if( !org_eclipse_rap_rwt_EventUtil_suspend ) {
358
            this._handleSelectionChange();
360
            this._handleSelectionChange();
359
          }
361
          }
Lines 417-423 Link Here
417
        {
419
        {
418
          this._list._onmousedown( evt );
420
          this._list._onmousedown( evt );
419
          this._toggleListVisibility();
421
          this._toggleListVisibility();
420
          this._setSelected( this._manager.getSelectedItem() );
422
          this._setSelected( this._manager.getSelectedItem(), false );
421
          this.setFocused( true );
423
          this.setFocused( true );
422
        // Click is on the combo's button or outside the dropped combo
424
        // Click is on the combo's button or outside the dropped combo
423
        } else if(    target == this._button
425
        } else if(    target == this._button
Lines 455-464 Link Here
455
            toSelect = this._manager.getPrevious( isSelected );
457
            toSelect = this._manager.getPrevious( isSelected );
456
          }
458
          }
457
          if( toSelect ) {
459
          if( toSelect ) {
458
            this._setSelected( toSelect );
460
            this._setSelected( toSelect, false );
459
          }
461
          }
460
        } else if( this._list.getChildrenLength() ) {
462
        } else if( this._list.getChildrenLength() ) {
461
          this._setSelected( this._list.getChildren()[0] );
463
          this._setSelected( this._list.getChildren()[0], false );
462
        }
464
        }
463
      }
465
      }
464
    },
466
    },
Lines 490-496 Link Here
490
        case "Enter":
492
        case "Enter":
491
          if( this._dropped ) {
493
          if( this._dropped ) {
492
            this._toggleListVisibility();
494
            this._toggleListVisibility();
493
            this._setSelected( this._manager.getSelectedItem() );
495
            this._setSelected( this._manager.getSelectedItem(), false );
494
          } else if(    !evt.isShiftPressed()
496
          } else if(    !evt.isShiftPressed()
495
                     && !evt.isAltPressed()
497
                     && !evt.isAltPressed()
496
                     && !evt.isCtrlPressed()
498
                     && !evt.isCtrlPressed()
Lines 539-545 Link Here
539
                           ? this._manager.getNext( this._selected )
541
                           ? this._manager.getNext( this._selected )
540
                           : this._manager.getFirst();
542
                           : this._manager.getFirst();
541
            if( toSelect ) {
543
            if( toSelect ) {
542
              this._setSelected( toSelect );
544
              this._setSelected( toSelect, false );
543
            }
545
            }
544
          }
546
          }
545
          break;
547
          break;
Lines 549-555 Link Here
549
                           ? this._manager.getPrevious( this._selected )
551
                           ? this._manager.getPrevious( this._selected )
550
                           : this._manager.getLast();
552
                           : this._manager.getLast();
551
            if( toSelect ) {
553
            if( toSelect ) {
552
              this._setSelected( toSelect );
554
              this._setSelected( toSelect, false );
553
            }
555
            }
554
          }
556
          }
555
          break;
557
          break;
Lines 560-568 Link Here
560
          if( this._selected ) {
562
          if( this._selected ) {
561
            this._list._onkeypress( evt );
563
            this._list._onkeypress( evt );
562
            var selected = this._manager.getSelectedItem();
564
            var selected = this._manager.getSelectedItem();
563
            this._setSelected( selected );
565
            this._setSelected( selected, false );
564
          } else if( this._list.getChildrenLength() ) {
566
          } else if( this._list.getChildrenLength() ) {
565
            this._setSelected( this._list.getChildren()[0] );
567
            this._setSelected( this._list.getChildren()[0], false );
566
          }
568
          }
567
          break;
569
          break;
568
        default:
570
        default:
Lines 596-602 Link Here
596
      if( this._dropped && !evt.isAltPressed() && !evt.isCtrlPressed() ) {
598
      if( this._dropped && !evt.isAltPressed() && !evt.isCtrlPressed() ) {
597
        this._list._onkeyinput( evt );
599
        this._list._onkeyinput( evt );
598
        var selected = this._manager.getSelectedItem();
600
        var selected = this._manager.getSelectedItem();
599
        this._setSelected( selected );
601
        this._setSelected( selected, false );
600
      }
602
      }
601
    },
603
    },
602
    
604
    
Lines 746-752 Link Here
746
      if( index >= 0 && index <= items.length - 1 ) {
748
      if( index >= 0 && index <= items.length - 1 ) {
747
        item = items[ index ];
749
        item = items[ index ];
748
      }
750
      }
749
      this._setSelected( item );
751
      this._setSelected( item, true );
750
    },
752
    },
751
753
752
    setEditable : function( value ) {
754
    setEditable : function( value ) {

Return to bug 289398