From 8ecf9ecc332f396e5356b2d98dcfbd9b93cac3fd Mon Sep 17 00:00:00 2001 From: Sauli Tähkäpää Date: Thu, 2 Oct 2014 22:19:05 +0300 Subject: Implement HasEnabled in VPopupView. (#14797) Change-Id: I7384fb6312a921330d8b57193e53c235213dcf00 --- client/src/com/vaadin/client/ui/VPopupView.java | 40 +++++++++++++++++-------- 1 file changed, 28 insertions(+), 12 deletions(-) (limited to 'client') diff --git a/client/src/com/vaadin/client/ui/VPopupView.java b/client/src/com/vaadin/client/ui/VPopupView.java index 1a59501d38..7d98110446 100644 --- a/client/src/com/vaadin/client/ui/VPopupView.java +++ b/client/src/com/vaadin/client/ui/VPopupView.java @@ -33,13 +33,7 @@ import com.google.gwt.event.logical.shared.CloseHandler; import com.google.gwt.event.shared.HandlerRegistration; import com.google.gwt.user.client.DOM; import com.google.gwt.user.client.Event; -import com.google.gwt.user.client.ui.Focusable; -import com.google.gwt.user.client.ui.HTML; -import com.google.gwt.user.client.ui.HasWidgets; -import com.google.gwt.user.client.ui.Label; -import com.google.gwt.user.client.ui.PopupPanel; -import com.google.gwt.user.client.ui.RootPanel; -import com.google.gwt.user.client.ui.Widget; +import com.google.gwt.user.client.ui.*; import com.vaadin.client.ApplicationConnection; import com.vaadin.client.ComponentConnector; import com.vaadin.client.DeferredWorker; @@ -51,7 +45,7 @@ import com.vaadin.client.ui.ShortcutActionHandler.ShortcutActionHandlerOwner; import com.vaadin.client.ui.popupview.VisibilityChangeEvent; import com.vaadin.client.ui.popupview.VisibilityChangeHandler; -public class VPopupView extends HTML implements Iterable, +public class VPopupView extends HTML implements HasEnabled, Iterable, DeferredWorker { public static final String CLASSNAME = "v-popupview"; @@ -78,6 +72,7 @@ public class VPopupView extends HTML implements Iterable, private final Label loading = new Label(); private boolean popupShowInProgress; + private boolean enabled = true; /** * loading constructor @@ -97,10 +92,12 @@ public class VPopupView extends HTML implements Iterable, addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { - preparePopup(popup); - showPopup(popup); - center(); - fireEvent(new VisibilityChangeEvent(true)); + if(isEnabled()) { + preparePopup(popup); + showPopup(popup); + center(); + fireEvent(new VisibilityChangeEvent(true)); + } } }); @@ -196,6 +193,25 @@ public class VPopupView extends HTML implements Iterable, } }-*/; + /** + * Returns true if the popup is enabled, false if not. + */ + @Override + public boolean isEnabled() { + return enabled; + } + + /** + * Sets whether this popup is enabled. + * + * @param enabled true to enable the popup, false + * to disable it + */ + @Override + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } + /** * This class is only public to enable overriding showPopup, and is * currently not intended to be extended or otherwise used directly. Its API -- cgit v1.2.3