Yep. It's because widgets like disclosure panel, split panels - anything
that moves really - all seem to delay attaching child widgets using a
deferred command and so the flextable isn't attached when you get the height
or width and is therefore 0. I think if something up the hierarchy has an
absolute size you might be OK, but I'm not sure.
There's an issue for all of these types of problems here:

http://code.google.com/p/google-web-toolkit/issues/detail?id=3433

Ian

http://examples.roughian.com


2009/7/7 Ryan <[email protected]>

>
> Hello everybody,
> I recently noticed a very peculiar problem related to disclosure
> panels.
>
> I am creating a flex table.
> So the first row of the flex table contains the column headers.
> So I first create the column headers on row 0 of my flex table.
> I assign a specific width to each of the column cells in the flex's
> row 0.
> So my first function is createHeaders() for the flex.
>
> Now the next thing that I do is populate the flex with some data.
> While populating the data for each row.
> I create a new Label object for the data and assign the labels width
> by doing the following
>
>
> 1) Element elem=getCellFormatter().getElement(0, col);// this gets the
> column from row 0
>
> 2) int cellWidth=elem.getClientWidth(); //this gets the width of the
> cell from row 0
>
> 3) Label lbl= new Label("test label");
>
> 4) lbl.setStyleName("ellipsisLabel");
>
> 5) lbl.setWidth((cellWidth-10) +"px");  //sets the width for the label
> in cells other that row 0
>
> 6) setWidget(row, col, lbl);
>
> 7) getCellFormatter().setWidth(row, col, cellWidth+"px"); //sets width
> of the cells for rows other than row 0
>
> Now I place this flex in a dock panel of a composite called
> GRIDCOMPOSITE.
>
> Now if I call the following line
> RootPanel.get().add(Object of GRIDCOMPOSITE );
> Now the flex works fine all the data,headers  being displayed properly
>
>
> But when I run this piece of code
> panel = new DisclosurePanel();
> panel.add(Object of GRIDCOMPOSITE);
> RootPanel.get().add(panel);
> step (2) returns me 0 i.e. I get cellWidth as 0 for a cell in row 0.
> So consequently step(5) returns me an error
>
> I cannot figure out why when I add my object of GRIDCOMPOSITE to a
> disclosure panel I cannot get the widths of the columns of row 0.
>
> Anybody got a clue...
>
> Regards,
> Cherian
> Ensarm Solutions
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/Google-Web-Toolkit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to