From 7b0485a5838a070b971d91f8321d6bf6778c3f86 Mon Sep 17 00:00:00 2001 From: Artur Signell Date: Wed, 28 Nov 2012 18:03:47 +0200 Subject: Moved setVisible dirty logic to AbstractComponent where it belongs (#10414) Change-Id: I05f8b739e862c3dd4a52492f2df41862bacd3ce4 --- server/src/com/vaadin/ui/AbstractComponent.java | 9 ++++++++- server/src/com/vaadin/ui/AbstractComponentContainer.java | 13 ------------- .../src/com/vaadin/ui/AbstractSingleComponentContainer.java | 13 ------------- server/src/com/vaadin/ui/Form.java | 13 ------------- 4 files changed, 8 insertions(+), 40 deletions(-) (limited to 'server/src/com/vaadin') diff --git a/server/src/com/vaadin/ui/AbstractComponent.java b/server/src/com/vaadin/ui/AbstractComponent.java index 876a6c482d..63cf19283f 100644 --- a/server/src/com/vaadin/ui/AbstractComponent.java +++ b/server/src/com/vaadin/ui/AbstractComponent.java @@ -401,7 +401,14 @@ public abstract class AbstractComponent extends AbstractClientConnector } this.visible = visible; - markAsDirty(); + if (visible) { + /* + * If the visibility state is toggled from invisible to visible it + * affects all children (the whole hierarchy) in addition to this + * component. + */ + markAsDirtyRecursive(); + } if (getParent() != null) { // Must always repaint the parent (at least the hierarchy) when // visibility of a child component changes. diff --git a/server/src/com/vaadin/ui/AbstractComponentContainer.java b/server/src/com/vaadin/ui/AbstractComponentContainer.java index 427bb3491c..4dd8a8d24a 100644 --- a/server/src/com/vaadin/ui/AbstractComponentContainer.java +++ b/server/src/com/vaadin/ui/AbstractComponentContainer.java @@ -231,19 +231,6 @@ public abstract class AbstractComponentContainer extends AbstractComponent } } - @Override - public void setVisible(boolean visible) { - if (isVisible() == visible) { - return; - } - - super.setVisible(visible); - // If the visibility state is toggled it might affect all children - // as well, e.g. make container visible should make children visible if - // they were only hidden because the container was hidden. - markAsDirtyRecursive(); - } - @Override public void setWidth(float width, Unit unit) { /* diff --git a/server/src/com/vaadin/ui/AbstractSingleComponentContainer.java b/server/src/com/vaadin/ui/AbstractSingleComponentContainer.java index 7297318e95..5ff56d46dc 100644 --- a/server/src/com/vaadin/ui/AbstractSingleComponentContainer.java +++ b/server/src/com/vaadin/ui/AbstractSingleComponentContainer.java @@ -102,19 +102,6 @@ public abstract class AbstractSingleComponentContainer extends fireEvent(new ComponentDetachEvent(this, component)); } - @Override - public void setVisible(boolean visible) { - if (isVisible() == visible) { - return; - } - - super.setVisible(visible); - // If the visibility state is toggled it might affect all children - // aswell, e.g. make container visible should make children visible if - // they were only hidden because the container was hidden. - markAsDirtyRecursive(); - } - @Override public Component getContent() { return content; diff --git a/server/src/com/vaadin/ui/Form.java b/server/src/com/vaadin/ui/Form.java index 68ebb079f9..862d98bb3c 100644 --- a/server/src/com/vaadin/ui/Form.java +++ b/server/src/com/vaadin/ui/Form.java @@ -1374,17 +1374,4 @@ public class Form extends AbstractField implements Item.Editor, return count; } - @Override - public void setVisible(boolean visible) { - if (isVisible() == visible) { - return; - } - - super.setVisible(visible); - // If the visibility state is toggled it might affect all children - // aswell, e.g. make container visible should make children visible if - // they were only hidden because the container was hidden. - markAsDirtyRecursive(); - } - } -- cgit v1.2.3