maybe:
for (Layer l : layers) {
Object o = l.getUserObject();
if (o instanceof Widget) {
Element widgetElement = ((Widget) o).getElement();
UIObject.setVisible(l.getContainerElement(),
UIObject.isVisible(widgetElement));
if (!UIObject.isVisible(widgetElement)) {
continue;
}
}
...
}
On Aug 17, 9:30 pm, Joel Webber <[email protected]> wrote:
> On Wed, Aug 12, 2009 at 2:36 PM, ggeorg
> <[email protected]>wrote:
>
> > About adding extra layout constrains to a widget, I am not sure if
> > Layout.attachChild() helps, since that is used internally by
> > LayoutPanel. For the demo my workaround was to make the
> > DockLayoutManager class abstract and the EntryPoint class looks not
> > very good, see:http://pastebin.com/m244ef110
>
> I was thinking that new panels that needed to use the widgets' or layers'
> "extra" data fields would simply use the Layout class directly, rather than
> wrapping LayoutPanel. That would give you free reign to use these fields
> however you need to.
>
> For layout constraints I could use Element.setPropertyObject
>
> ("layoutData", ...)
>
> > Based on that, this is a StackLayoutPanel implementation with a
>
> VBoxLayout manager:
>
> >http://69.20.122.77:8880/gwt-layout4/
> > The EntryPoint class is:http://pastebin.com/m66abdf1d
> > Code:http://69.20.122.77:8880/gwt-layout4/org.gwt20.mosaic.demo.tbz2
> > How do you handle not visible widgets (display: none) added to
>
> LayoutPanel? In my demo I use:
>
> > public void setVisible(Widget w, boolean visible) {
>
> final Element containerElement = ((Layout.Layer) w.getLayoutData
>
> ()).getContainerElement();
>
> if (visible) {
>
> containerElement.getStyle().setProperty("display", "");
>
> } else {
>
> containerElement.getStyle().setProperty("display", "none");
>
> }
>
> w.setVisible(visible);
>
> }
>
> This is kind of a tricky question, and I haven't built a good solution yet.
> I started to write a method called setWidgetVisible(Widget, boolean) into
> LayoutPanel, which did exactly what you describe above, but it just didn't
> feel right. However, the current situation leads you to believe you can just
> use Widget.setVisible() which leads to surprising behavior like events
> getting eaten by the container element. I'm quite open to any ideas on how
> this could be solved more cleanly!
--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---