Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 353011

Summary: [Tree] getPreferredCellWidth returns same value for different columns
Product: [RT] RAP Reporter: Ivan Furnadjiev <ivan>
Component: RWTAssignee: Project Inbox <rap-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 1.4   
Target Milestone: 1.5 M1   
Hardware: All   
OS: All   
Whiteboard:

Description Ivan Furnadjiev CLA 2011-07-25 10:57:39 EDT
The TreeItem#preferredWidthBuffer field is not column aware. Test case to reproduce it:
public void testGetPreferredCellWidthForColumn() {
    Tree tree = new Tree( composite, SWT.NONE );
    createColumns( tree, 3 );
    TreeItem item = new TreeItem( tree, SWT.NONE );
    item.setText( 0, "short" );
    item.setText( 1, "very long text" );
    
    int width1 = tree.getPreferredCellWidth( item, 0, false );
    int width2 = tree.getPreferredCellWidth( item, 1, false );
    assertTrue( width2 > width1 );
  }
Comment 1 Ivan Furnadjiev CLA 2011-07-25 11:46:34 EDT
Fixed by moving the prefferedWidthBuffer into the TreeItem#Data class.