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

Bug 364259

Summary: Imported widgets cannot be correctly displayed
Product: z_Archived Reporter: Zhi Zhu <zhuzhi>
Component: EDTAssignee: Project Inbox <edt.ide.ui-inbox>
Status: NEW --- QA Contact:
Severity: normal    
Priority: P3 CC: svihovec
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
Sample project for reproducing the debug
none
button not displayed none

Description Zhi Zhu CLA 2011-11-21 01:20:18 EST
1 Create an Web 2.0 Client application.
2 Create a library file:testLib:
    DojoButton DojoButton{ layoutData = new GridLayoutData{ row = 3, column = 2
}, text = "Button" };

3 create an RUI handler and import testLib.
     ui GridLayout{columns = 3, rows = 4, cellPadding = 4, children = [ dojoEditor, libDojoButton,CheckBox222, GridLayout, Button1 ],
    	visible = true,
    	disabled = false};

    libDojoButton DojoButton = testLib.DojoButton;


  Expected Result: display imported widget correctly
Comment 1 Zhi Zhu CLA 2011-11-21 01:20:58 EST
Created attachment 207285 [details]
Sample project for reproducing the debug
Comment 2 Brian Svihovec CLA 2011-11-21 08:36:18 EST
Please provide a screen capture of the error.
Comment 3 Tony Chen CLA 2011-11-21 10:41:34 EST
Created attachment 207312 [details]
button not displayed

A button is defined in a Library, and is expected to be displayed in row 3, column 2 of the outter grid. However, it is not displayed.
Comment 4 Brian Svihovec CLA 2011-11-21 14:43:30 EST
This appears to be related (or a duplicate of) 364256.  The field libDojoButton is being initialized to a new button, without gridData information, and this new button is being added as a child of the 'ui' array.  After the assignment to the 'ui' field occurs, the field libDOjoButton is assigned to testLib.dojoButton, but the reference in the 'ui' array is not updated.  

I believe this may be working as designed, since there is not much we can do. Deferring for now.