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

Collapse All | Expand All

(-)js/org/eclipse/rwt/widgets/TreeItem.js (+2 lines)
Lines 198-208 Link Here
198
     */
198
     */
199
    _add : function( item, index ) {
199
    _add : function( item, index ) {
200
      if( index === this._children.length || index === undefined ) {    
200
      if( index === this._children.length || index === undefined ) {    
201
        // TODO [tb] : this code is currently only used by tests, remove and refactor tests
201
        this._children.push( item );
202
        this._children.push( item );
202
        this._update( "add", item );
203
        this._update( "add", item );
203
      } else {
204
      } else {
204
        if( this._children[ index ] ) {
205
        if( this._children[ index ] ) {
205
          this._children.splice( index, 0, item );
206
          this._children.splice( index, 0, item );
207
          this._children.pop();
206
          this._update( "add", item );
208
          this._update( "add", item );
207
        } else {
209
        } else {
208
          this._children[ index ] = item;
210
          this._children[ index ] = item;
(-)js/org/eclipse/rwt/test/tests/TreeItemTest.js (+18 lines)
Lines 332-337 Link Here
332
    testAddItemAt : function() {
332
    testAddItemAt : function() {
333
      var wm = org.eclipse.swt.WidgetManager.getInstance();
333
      var wm = org.eclipse.swt.WidgetManager.getInstance();
334
      var root = new org.eclipse.rwt.widgets.TreeItem();
334
      var root = new org.eclipse.rwt.widgets.TreeItem();
335
      root.setItemCount( 3 );
335
      org.eclipse.rwt.widgets.TreeItem.createItem( root, 0, "w1" );
336
      org.eclipse.rwt.widgets.TreeItem.createItem( root, 0, "w1" );
336
      org.eclipse.rwt.widgets.TreeItem.createItem( root, 1, "w2" );
337
      org.eclipse.rwt.widgets.TreeItem.createItem( root, 1, "w2" );
337
      org.eclipse.rwt.widgets.TreeItem.createItem( root, 1, "w3" );
338
      org.eclipse.rwt.widgets.TreeItem.createItem( root, 1, "w3" );
Lines 378-383 Link Here
378
      assertEquals( [ "add", item, "remove", item ], log );
379
      assertEquals( [ "add", item, "remove", item ], log );
379
    },
380
    },
380
381
382
    testSetItemCountStaysOnInsert : function() {
383
      var item = new org.eclipse.rwt.widgets.TreeItem();
384
      var log = [];
385
      item.setItemCount( 4 );
386
      assertEquals( 4, item._children.length );
387
      assertEquals( [ undefined, undefined, undefined, undefined ], item._children );
388
      var child1 = new org.eclipse.rwt.widgets.TreeItem( item, 0 );
389
      var child2 = new org.eclipse.rwt.widgets.TreeItem( item, 1 );
390
      assertEquals( 4, item._children.length );
391
      assertEquals( [ child1, child2, undefined, undefined ], item._children );
392
      var child3 = new org.eclipse.rwt.widgets.TreeItem( item, 1 );
393
      // setItemCount is not rendered by server since it stays the same
394
      assertEquals( 4, item._children.length );
395
      assertEquals( [ child1, child3, child2, undefined ], item._children );
396
      item.dispose();
397
    },
398
381
    testReplaceUndefinedItem : function() {
399
    testReplaceUndefinedItem : function() {
382
      var log = [];
400
      var log = [];
383
      var root = new org.eclipse.rwt.widgets.TreeItem();
401
      var root = new org.eclipse.rwt.widgets.TreeItem();

Return to bug 346458