From c0b98ed77842f505f3a2f424c5d049a3c0c970cb Mon Sep 17 00:00:00 2001 From: Johannes Dahlström Date: Tue, 11 Sep 2012 10:52:56 +0300 Subject: Improvements to #9087: * Rename EmbeddedBrowser to BrowserFrame * Add constructors to Flash and BrowserFrame * Change getState() methods to protected * JavaDoc improvements * Make ImageClicks test deterministic --- .../ui/browserframe/BrowserFrameConnector.java | 38 +++++++ .../client/ui/browserframe/VBrowserFrame.java | 120 +++++++++++++++++++++ .../embeddedbrowser/EmbeddedBrowserConnector.java | 38 ------- .../ui/embeddedbrowser/VEmbeddedBrowser.java | 120 --------------------- 4 files changed, 158 insertions(+), 158 deletions(-) create mode 100644 client/src/com/vaadin/client/ui/browserframe/BrowserFrameConnector.java create mode 100644 client/src/com/vaadin/client/ui/browserframe/VBrowserFrame.java delete mode 100644 client/src/com/vaadin/client/ui/embeddedbrowser/EmbeddedBrowserConnector.java delete mode 100644 client/src/com/vaadin/client/ui/embeddedbrowser/VEmbeddedBrowser.java (limited to 'client') diff --git a/client/src/com/vaadin/client/ui/browserframe/BrowserFrameConnector.java b/client/src/com/vaadin/client/ui/browserframe/BrowserFrameConnector.java new file mode 100644 index 0000000000..c22d92235b --- /dev/null +++ b/client/src/com/vaadin/client/ui/browserframe/BrowserFrameConnector.java @@ -0,0 +1,38 @@ +package com.vaadin.client.ui.browserframe; + +import com.vaadin.client.communication.StateChangeEvent; +import com.vaadin.client.ui.AbstractComponentConnector; +import com.vaadin.shared.ui.AbstractEmbeddedState; +import com.vaadin.shared.ui.Connect; +import com.vaadin.shared.ui.browserframe.BrowserFrameState; + +@Connect(com.vaadin.ui.BrowserFrame.class) +public class BrowserFrameConnector extends AbstractComponentConnector { + + @Override + protected void init() { + super.init(); + } + + @Override + public VBrowserFrame getWidget() { + return (VBrowserFrame) super.getWidget(); + } + + @Override + public BrowserFrameState getState() { + return (BrowserFrameState) super.getState(); + } + + @Override + public void onStateChanged(StateChangeEvent stateChangeEvent) { + + super.onStateChanged(stateChangeEvent); + + getWidget().setAlternateText(getState().alternateText); + getWidget().setSource( + getResourceUrl(AbstractEmbeddedState.SOURCE_RESOURCE)); + getWidget().setName(getConnectorId()); + } + +} diff --git a/client/src/com/vaadin/client/ui/browserframe/VBrowserFrame.java b/client/src/com/vaadin/client/ui/browserframe/VBrowserFrame.java new file mode 100644 index 0000000000..da2c981a8d --- /dev/null +++ b/client/src/com/vaadin/client/ui/browserframe/VBrowserFrame.java @@ -0,0 +1,120 @@ +package com.vaadin.client.ui.browserframe; + +import com.google.gwt.dom.client.Document; +import com.google.gwt.dom.client.Element; +import com.google.gwt.dom.client.IFrameElement; +import com.google.gwt.user.client.ui.Widget; + +public class VBrowserFrame extends Widget { + + protected IFrameElement iframe; + protected Element altElement; + protected String altText; + + public VBrowserFrame() { + Element root = Document.get().createDivElement(); + setElement(root); + + setStylePrimaryName("v-browserframe"); + + createAltTextElement(); + } + + /** + * Always creates new iframe inside widget. Will replace previous iframe. + * + * @return + */ + protected IFrameElement createIFrameElement(String src) { + String name = null; + + // Remove alt text + if (altElement != null) { + getElement().removeChild(altElement); + altElement = null; + } + + // Remove old iframe + if (iframe != null) { + name = iframe.getAttribute("name"); + getElement().removeChild(iframe); + iframe = null; + } + + iframe = Document.get().createIFrameElement(); + iframe.setSrc(src); + iframe.setFrameBorder(0); + iframe.setAttribute("width", "100%"); + iframe.setAttribute("height", "100%"); + iframe.setAttribute("allowTransparency", "true"); + + getElement().appendChild(iframe); + + // Reset old attributes (except src) + if (name != null) { + iframe.setName(name); + } + + return iframe; + } + + protected void createAltTextElement() { + if (iframe != null) { + return; + } + + if (altElement == null) { + altElement = Document.get().createSpanElement(); + getElement().appendChild(altElement); + } + + if (altText != null) { + altElement.setInnerText(altText); + } else { + altElement.setInnerText(""); + } + } + + public void setAlternateText(String altText) { + if (this.altText != altText) { + this.altText = altText; + if (altElement != null) { + if (altText != null) { + altElement.setInnerText(altText); + } else { + altElement.setInnerText(""); + } + } + } + } + + /** + * Set the source (the "src" attribute) of iframe. Will replace old iframe + * with new. + * + * @param source + * Source of iframe. + */ + public void setSource(String source) { + + if (source == null) { + if (iframe != null) { + getElement().removeChild(iframe); + iframe = null; + } + createAltTextElement(); + setAlternateText(altText); + return; + } + + if (iframe == null || iframe.getSrc() != source) { + createIFrameElement(source); + } + } + + public void setName(String name) { + if (iframe != null) { + iframe.setName(name); + } + } +} diff --git a/client/src/com/vaadin/client/ui/embeddedbrowser/EmbeddedBrowserConnector.java b/client/src/com/vaadin/client/ui/embeddedbrowser/EmbeddedBrowserConnector.java deleted file mode 100644 index 10445dbff5..0000000000 --- a/client/src/com/vaadin/client/ui/embeddedbrowser/EmbeddedBrowserConnector.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.vaadin.client.ui.embeddedbrowser; - -import com.vaadin.client.communication.StateChangeEvent; -import com.vaadin.client.ui.AbstractComponentConnector; -import com.vaadin.shared.ui.AbstractEmbeddedState; -import com.vaadin.shared.ui.Connect; -import com.vaadin.shared.ui.embeddedbrowser.EmbeddedBrowserState; - -@Connect(com.vaadin.ui.EmbeddedBrowser.class) -public class EmbeddedBrowserConnector extends AbstractComponentConnector { - - @Override - protected void init() { - super.init(); - } - - @Override - public VEmbeddedBrowser getWidget() { - return (VEmbeddedBrowser) super.getWidget(); - } - - @Override - public EmbeddedBrowserState getState() { - return (EmbeddedBrowserState) super.getState(); - } - - @Override - public void onStateChanged(StateChangeEvent stateChangeEvent) { - - super.onStateChanged(stateChangeEvent); - - getWidget().setAlternateText(getState().alternateText); - getWidget().setSource( - getResourceUrl(AbstractEmbeddedState.SOURCE_RESOURCE)); - getWidget().setName(getConnectorId()); - } - -} diff --git a/client/src/com/vaadin/client/ui/embeddedbrowser/VEmbeddedBrowser.java b/client/src/com/vaadin/client/ui/embeddedbrowser/VEmbeddedBrowser.java deleted file mode 100644 index 3fe1c44bc3..0000000000 --- a/client/src/com/vaadin/client/ui/embeddedbrowser/VEmbeddedBrowser.java +++ /dev/null @@ -1,120 +0,0 @@ -package com.vaadin.client.ui.embeddedbrowser; - -import com.google.gwt.dom.client.Document; -import com.google.gwt.dom.client.Element; -import com.google.gwt.dom.client.IFrameElement; -import com.google.gwt.user.client.ui.Widget; - -public class VEmbeddedBrowser extends Widget { - - protected IFrameElement iframe; - protected Element altElement; - protected String altText; - - public VEmbeddedBrowser() { - Element root = Document.get().createDivElement(); - setElement(root); - - setStylePrimaryName("v-embeddedbrowser"); - - createAltTextElement(); - } - - /** - * Always creates new iframe inside widget. Will replace previous iframe. - * - * @return - */ - protected IFrameElement createIFrameElement(String src) { - String name = null; - - // Remove alt text - if (altElement != null) { - getElement().removeChild(altElement); - altElement = null; - } - - // Remove old iframe - if (iframe != null) { - name = iframe.getAttribute("name"); - getElement().removeChild(iframe); - iframe = null; - } - - iframe = Document.get().createIFrameElement(); - iframe.setSrc(src); - iframe.setFrameBorder(0); - iframe.setAttribute("width", "100%"); - iframe.setAttribute("height", "100%"); - iframe.setAttribute("allowTransparency", "true"); - - getElement().appendChild(iframe); - - // Reset old attributes (except src) - if (name != null) { - iframe.setName(name); - } - - return iframe; - } - - protected void createAltTextElement() { - if (iframe != null) { - return; - } - - if (altElement == null) { - altElement = Document.get().createSpanElement(); - getElement().appendChild(altElement); - } - - if (altText != null) { - altElement.setInnerText(altText); - } else { - altElement.setInnerText(""); - } - } - - public void setAlternateText(String altText) { - if (this.altText != altText) { - this.altText = altText; - if (altElement != null) { - if (altText != null) { - altElement.setInnerText(altText); - } else { - altElement.setInnerText(""); - } - } - } - } - - /** - * Set the source (the "src" attribute) of iframe. Will replace old iframe - * with new. - * - * @param source - * Source of iframe. - */ - public void setSource(String source) { - - if (source == null) { - if (iframe != null) { - getElement().removeChild(iframe); - iframe = null; - } - createAltTextElement(); - setAlternateText(altText); - return; - } - - if (iframe == null || iframe.getSrc() != source) { - createIFrameElement(source); - } - } - - public void setName(String name) { - if (iframe != null) { - iframe.setName(name); - } - } -} -- cgit v1.2.3