From: Leif Åstrand Date: Tue, 29 May 2012 11:23:39 +0000 (+0300) Subject: Fix some broken hierarchies (#6690) X-Git-Tag: 7.0.0.alpha3~213 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=f77f121d0dd47ffc23c8f07e034fd6a115d0c2b0;p=vaadin-framework.git Fix some broken hierarchies (#6690) --- diff --git a/src/com/vaadin/ui/Panel.java b/src/com/vaadin/ui/Panel.java index 37e03ffb37..c339100cda 100644 --- a/src/com/vaadin/ui/Panel.java +++ b/src/com/vaadin/ui/Panel.java @@ -4,6 +4,7 @@ package com.vaadin.ui; +import java.util.Collections; import java.util.Iterator; import java.util.Map; @@ -229,7 +230,7 @@ public class Panel extends AbstractComponentContainer implements Scrollable, * @see com.vaadin.ui.ComponentContainer#getComponentIterator() */ public Iterator getComponentIterator() { - return content.getComponentIterator(); + return Collections.singleton((Component) content).iterator(); } /** diff --git a/src/com/vaadin/ui/Root.java b/src/com/vaadin/ui/Root.java index 0ba8ef27fb..8792bf1912 100644 --- a/src/com/vaadin/ui/Root.java +++ b/src/com/vaadin/ui/Root.java @@ -643,11 +643,17 @@ public abstract class Root extends AbstractComponentContainer implements * @see com.vaadin.ui.ComponentContainer#getComponentIterator() */ public Iterator getComponentIterator() { - if (getContent() == null) { - return Collections.EMPTY_LIST.iterator(); + // TODO could directly create some kind of combined iterator instead of + // creating a new ArrayList + ArrayList components = new ArrayList(); + + if (getContent() != null) { + components.add(getContent()); } - return Collections.singleton((Component) getContent()).iterator(); + components.addAll(windows); + + return components.iterator(); } /* @@ -656,7 +662,7 @@ public abstract class Root extends AbstractComponentContainer implements * @see com.vaadin.ui.ComponentContainer#getComponentCount() */ public int getComponentCount() { - return getContent() == null ? 0 : 1; + return windows.size() + (getContent() == null ? 0 : 1); } /**