From f77f121d0dd47ffc23c8f07e034fd6a115d0c2b0 Mon Sep 17 00:00:00 2001 From: Leif Åstrand <leif@vaadin.com> Date: Tue, 29 May 2012 14:23:39 +0300 Subject: Fix some broken hierarchies (#6690) --- src/com/vaadin/ui/Panel.java | 3 ++- src/com/vaadin/ui/Root.java | 14 ++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) (limited to 'src/com/vaadin/ui') 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<Component> 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<Component> 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<Component> components = new ArrayList<Component>(); + + 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); } /** -- cgit v1.2.3