Can you please show a few lines of code how to access the
SplitLayoutPanel from within a subclass of CellBrowser. I can't get it
to work.

Thanks



On Feb 3, 7:55 pm, John LaBanca <[email protected]> wrote:
> We haven't had a change to fix this yet.  CellBrowser uses a
> SplitLayoutPanel that has a fairly complicated structure, so DOM
> manipulation isn't likely to work.
>
> As a workaround, you can get access to the SplitLayoutPanel in CellBrowser
> and set the widget width directly.  Subclass CellBrowser and override
> getWidget() to return a SplitLayoutPanel, then do the following:
>
> SplitLayoutPanel splitPanel = cellBrowser.getWidget();
> splitPanel.setWidgetSize(splitPanel.getWidget(0), 400.0);
>
> Thanks,
> John LaBanca
> [email protected]
>
>
>
> On Wed, Feb 2, 2011 at 9:38 PM, sevendays <[email protected]> wrote:
> > I raised query around a month ago about setting the width of the first
> > column in a CellBrowser in GWT. There is a bug that stops this from
> > occurring - it always displays with a default width of 200px because this is
> > the generated HTML for the wrapper divs:
>
> > <div style="position: absolute; overflow: hidden; left: 0px; top: 0px;
> > bottom: 0px; width: 200px;">
> > <div style="position: absolute; overflow: hidden; left: 200px; top: 0px;
> > bottom: 0px; width: 8px;">
>
> > My original post is here:
> >https://groups.google.com/d/msg/google-web-toolkit/Zmz_1XDq4dI/R2LxcP...
>
> > So as a work around I am trying to set the width style dynamically through
> > the GWT DOM API. Here is some sample code showing my approach:
>
> > Button test = new Button("Test");
> > test.addClickHandler(new ClickHandler() {
> > @Override
> > public void onClick(ClickEvent event) {
> > Element browserElement = browser.getElement();
> >  NodeList browserChildNodes = browserElement.getChildNodes();
>
> > for (int i=0; i<browserChildNodes.getLength(); i++) {
> >  Node n = browserChildNodes.getItem(i);
> > int divCount = 0;
> > if (n.getNodeType() == Node.ELEMENT_NODE) {
> >  Element e = Element.as(n);
> > if (e.getTagName().equalsIgnoreCase("DIV")) {
> > System.out.println("Before mod: " + e.getAttribute("style"));
> >  if (divCount == 2) {
> > Style s = e.getStyle();
> > e.setId("col1");
> >  s.setWidth(400.00, Unit.PX);
> > e.setAttribute("style", "position: absolute; overflow: hidden; left: 0px;
> > top: 0px; bottom: 0px; width: 400px;");
> >  } else if (divCount == 3) {
> > e.setId("col1Dragger");
> > e.setAttribute("style", "position: absolute; overflow: hidden; left: 400px;
> > top: 0px; bottom: 0px; width: 8px;");
> >  }
> >  System.out.println("After mod: " + e.getAttribute("style"));
> >  divCount++;
> > }
> > }
> > }
> >  }
> > });
>
> > However, when 'button Test is clicked, it makes no difference to the style
> > attribute. The 'after mod' println shows the same results as 'before mod'.
> > Checking the HTML, also shows no change.'  I have also tried the above code
> > in the initialization code for the CellBrowser; nothing changes in the
> > rendered HTML.
>
> > I am sure I am looking at the right divs, as a println of the style
> > attibute matches perfectly.
>
> > setId(), also has no effect.
>
> > I have also tried e.getStyle().setProperty("width", Unit.PX), and this had
> > no effect.
>
> > Why is the DOM manipulation having no effect?
>
> > --
> > 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]<google-web-toolkit%2Bunsubs 
> > [email protected]>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/google-web-toolkit?hl=en.

-- 
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