diff options
author | Teemu Suo-Anttila <teemusa@vaadin.com> | 2016-03-10 22:40:51 +0200 |
---|---|---|
committer | Teemu Suo-Anttila <teemusa@vaadin.com> | 2016-03-14 07:59:12 +0200 |
commit | a6653d3fe49e6a97468ac09f7f2f4d621bea1078 (patch) | |
tree | 96c82e20ca6551ee4c14c8877f0258b25c63cddf /server/src/com/vaadin/ui/LegacyWindow.java | |
parent | f7e57d77ce621ee39167369c31d989edc5633266 (diff) | |
download | vaadin-framework-a6653d3fe49e6a97468ac09f7f2f4d621bea1078.tar.gz vaadin-framework-a6653d3fe49e6a97468ac09f7f2f4d621bea1078.zip |
Migrate vaadin-server build to maven
Change-Id: I5c740f4e9cb28103bab199f9a552153d82277e7e
Diffstat (limited to 'server/src/com/vaadin/ui/LegacyWindow.java')
-rw-r--r-- | server/src/com/vaadin/ui/LegacyWindow.java | 480 |
1 files changed, 0 insertions, 480 deletions
diff --git a/server/src/com/vaadin/ui/LegacyWindow.java b/server/src/com/vaadin/ui/LegacyWindow.java deleted file mode 100644 index fe71d14430..0000000000 --- a/server/src/com/vaadin/ui/LegacyWindow.java +++ /dev/null @@ -1,480 +0,0 @@ -/* - * Copyright 2000-2014 Vaadin Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); you may not - * use this file except in compliance with the License. You may obtain a copy of - * the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations under - * the License. - */ -package com.vaadin.ui; - -import java.net.MalformedURLException; -import java.net.URL; - -import com.vaadin.server.LegacyApplication; -import com.vaadin.server.Page.BrowserWindowResizeEvent; -import com.vaadin.server.Page.BrowserWindowResizeListener; -import com.vaadin.server.Resource; -import com.vaadin.server.VaadinRequest; -import com.vaadin.shared.ui.BorderStyle; - -/** - * Helper class to emulate the main window from Vaadin 6 using UIs. This class - * should be used in the same way as Window used as a browser level window in - * Vaadin 6 with {@link com.vaadin.server.LegacyApplication} - */ -@Deprecated -public class LegacyWindow extends UI { - private String name; - private LegacyApplication application; - - /** - * Create a new legacy window - */ - public LegacyWindow() { - super(new VerticalLayout()); - ((VerticalLayout) getContent()).setMargin(true); - } - - /** - * Creates a new legacy window with the given caption - * - * @param caption - * the caption of the window - */ - public LegacyWindow(String caption) { - super(new VerticalLayout()); - ((VerticalLayout) getContent()).setMargin(true); - setCaption(caption); - } - - /** - * Creates a legacy window with the given caption and content layout - * - * @param caption - * @param content - */ - public LegacyWindow(String caption, ComponentContainer content) { - super(content); - setCaption(caption); - } - - @Override - protected void init(VaadinRequest request) { - // Just empty - } - - public void setApplication(LegacyApplication application) { - this.application = application; - } - - public LegacyApplication getApplication() { - return application; - } - - /** - * Gets the unique name of the window. The name of the window is used to - * uniquely identify it. - * <p> - * The name also determines the URL that can be used for direct access to a - * window. All windows can be accessed through - * {@code http://host:port/app/win} where {@code http://host:port/app} is - * the application URL (as returned by {@link LegacyApplication#getURL()} - * and {@code win} is the window name. - * </p> - * <p> - * Note! Portlets do not support direct window access through URLs. - * </p> - * - * @return the Name of the Window. - */ - public String getName() { - return name; - } - - /** - * Sets the unique name of the window. The name of the window is used to - * uniquely identify it inside the application. - * <p> - * The name also determines the URL that can be used for direct access to a - * window. All windows can be accessed through - * {@code http://host:port/app/win} where {@code http://host:port/app} is - * the application URL (as returned by {@link LegacyApplication#getURL()} - * and {@code win} is the window name. - * </p> - * <p> - * This method can only be called before the window is added to an - * application. - * <p> - * Note! Portlets do not support direct window access through URLs. - * </p> - * - * @param name - * the new name for the window or null if the application should - * automatically assign a name to it - * @throws IllegalStateException - * if the window is attached to an application - */ - public void setName(String name) { - this.name = name; - // The name can not be changed in application - if (isAttached()) { - throw new IllegalStateException( - "Window name can not be changed while " - + "the window is in application"); - } - - } - - /** - * Gets the full URL of the window. The returned URL is window specific and - * can be used to directly refer to the window. - * <p> - * Note! This method can not be used for portlets. - * </p> - * - * @return the URL of the window or null if the window is not attached to an - * application - */ - public URL getURL() { - LegacyApplication application = getApplication(); - if (application == null) { - return null; - } - - try { - return new URL(application.getURL(), getName() + "/"); - } catch (MalformedURLException e) { - throw new RuntimeException( - "Internal problem getting window URL, please report"); - } - } - - /** - * Opens the given resource in this UI. The contents of this UI is replaced - * by the {@code Resource}. - * - * @param resource - * the resource to show in this UI - * - * @deprecated As of 7.0, use getPage().setLocation instead - */ - @Deprecated - public void open(Resource resource) { - open(resource, null, false); - } - - /* ********************************************************************* */ - - /** - * Opens the given resource in a window with the given name. - * <p> - * The supplied {@code windowName} is used as the target name in a - * window.open call in the client. This means that special values such as - * "_blank", "_self", "_top", "_parent" have special meaning. An empty or - * <code>null</code> window name is also a special case. - * </p> - * <p> - * "", null and "_self" as {@code windowName} all causes the resource to be - * opened in the current window, replacing any old contents. For - * downloadable content you should avoid "_self" as "_self" causes the - * client to skip rendering of any other changes as it considers them - * irrelevant (the page will be replaced by the resource). This can speed up - * the opening of a resource, but it might also put the client side into an - * inconsistent state if the window content is not completely replaced e.g., - * if the resource is downloaded instead of displayed in the browser. - * </p> - * <p> - * "_blank" as {@code windowName} causes the resource to always be opened in - * a new window or tab (depends on the browser and browser settings). - * </p> - * <p> - * "_top" and "_parent" as {@code windowName} works as specified by the HTML - * standard. - * </p> - * <p> - * Any other {@code windowName} will open the resource in a window with that - * name, either by opening a new window/tab in the browser or by replacing - * the contents of an existing window with that name. - * </p> - * <p> - * As of Vaadin 7.0.0, the functionality for opening a Resource in a Page - * has been replaced with similar methods based on a String URL. This is - * because the usage of Resource is problematic with memory management and - * with security features in some browsers. Is is recommended to instead use - * {@link Link} for starting downloads. - * </p> - * - * @param resource - * the resource. - * @param windowName - * the name of the window. - * @deprecated As of 7.0, use getPage().open instead - */ - @Deprecated - public void open(Resource resource, String windowName) { - open(resource, windowName, true); - } - - /** - * Opens the given resource in a window with the given name and optionally - * tries to force the resource to open in a new window instead of a new tab. - * <p> - * The supplied {@code windowName} is used as the target name in a - * window.open call in the client. This means that special values such as - * "_blank", "_self", "_top", "_parent" have special meaning. An empty or - * <code>null</code> window name is also a special case. - * </p> - * <p> - * "", null and "_self" as {@code windowName} all causes the resource to be - * opened in the current window, replacing any old contents. For - * downloadable content you should avoid "_self" as "_self" causes the - * client to skip rendering of any other changes as it considers them - * irrelevant (the page will be replaced by the resource). This can speed up - * the opening of a resource, but it might also put the client side into an - * inconsistent state if the window content is not completely replaced e.g., - * if the resource is downloaded instead of displayed in the browser. - * </p> - * <p> - * "_blank" as {@code windowName} causes the resource to always be opened in - * a new window or tab (depends on the browser and browser settings). - * </p> - * <p> - * "_top" and "_parent" as {@code windowName} works as specified by the HTML - * standard. - * </p> - * <p> - * Any other {@code windowName} will open the resource in a window with that - * name, either by opening a new window/tab in the browser or by replacing - * the contents of an existing window with that name. - * </p> - * <p> - * If {@code windowName} is set to open the resource in a new window or tab - * and {@code tryToOpenAsPopup} is true, this method attempts to force the - * browser to open a new window instead of a tab. NOTE: This is a - * best-effort attempt and may not work reliably with all browsers and - * different pop-up preferences. With most browsers using default settings, - * {@code tryToOpenAsPopup} works properly. - * </p> - * <p> - * As of Vaadin 7.0.0, the functionality for opening a Resource in a Page - * has been replaced with similar methods based on a String URL. This is - * because the usage of Resource is problematic with memory management and - * with security features in some browsers. Is is recommended to instead use - * {@link Link} for starting downloads. - * </p> - * - * @param resource - * the resource. - * @param windowName - * the name of the window. - * @param tryToOpenAsPopup - * Whether to try to force the resource to be opened in a new - * window - * */ - public void open(Resource resource, String windowName, - boolean tryToOpenAsPopup) { - getPage().open(resource, windowName, tryToOpenAsPopup); - } - - /** - * Opens the given resource in a window with the given size, border and - * name. For more information on the meaning of {@code windowName}, see - * {@link #open(Resource, String)}. - * <p> - * As of Vaadin 7.0.0, the functionality for opening a Resource in a Page - * has been replaced with similar methods based on a String URL. This is - * because the usage of Resource is problematic with memory management and - * with security features in some browsers. Is is recommended to instead use - * {@link Link} for starting downloads. - * </p> - * - * @param resource - * the resource. - * @param windowName - * the name of the window. - * @param width - * the width of the window in pixels - * @param height - * the height of the window in pixels - * @param border - * the border style of the window. - * @deprecated As of 7.0, use getPage().open instead - */ - @Deprecated - public void open(Resource resource, String windowName, int width, - int height, BorderStyle border) { - getPage().open(resource, windowName, width, height, border); - } - - /** - * Adds a new {@link BrowserWindowResizeListener} to this UI. The listener - * will be notified whenever the browser window within which this UI resides - * is resized. - * - * @param resizeListener - * the listener to add - * - * @see BrowserWindowResizeListener#browserWindowResized(BrowserWindowResizeEvent) - * @see #setResizeLazy(boolean) - * - * @deprecated As of 7.0, use the similarly named api in Page instead - */ - @Deprecated - public void addListener(BrowserWindowResizeListener resizeListener) { - getPage().addListener(resizeListener); - } - - /** - * Removes a {@link BrowserWindowResizeListener} from this UI. The listener - * will no longer be notified when the browser window is resized. - * - * @param resizeListener - * the listener to remove - * @deprecated As of 7.0, use the similarly named api in Page instead - */ - @Deprecated - public void removeListener(BrowserWindowResizeListener resizeListener) { - getPage().removeListener(resizeListener); - } - - /** - * Gets the last known height of the browser window in which this UI - * resides. - * - * @return the browser window height in pixels - * @deprecated As of 7.0, use the similarly named api in Page instead - */ - @Deprecated - public int getBrowserWindowHeight() { - return getPage().getBrowserWindowHeight(); - } - - /** - * Gets the last known width of the browser window in which this UI resides. - * - * @return the browser window width in pixels - * - * @deprecated As of 7.0, use the similarly named api in Page instead - */ - @Deprecated - public int getBrowserWindowWidth() { - return getPage().getBrowserWindowWidth(); - } - - /** - * Executes JavaScript in this window. - * - * <p> - * This method allows one to inject javascript from the server to client. A - * client implementation is not required to implement this functionality, - * but currently all web-based clients do implement this. - * </p> - * - * <p> - * Executing javascript this way often leads to cross-browser compatibility - * issues and regressions that are hard to resolve. Use of this method - * should be avoided and instead it is recommended to create new widgets - * with GWT. For more info on creating own, reusable client-side widgets in - * Java, read the corresponding chapter in Book of Vaadin. - * </p> - * - * @param script - * JavaScript snippet that will be executed. - * - * @deprecated As of 7.0, use JavaScript.getCurrent().execute(String) - * instead - */ - @Deprecated - public void executeJavaScript(String script) { - getPage().getJavaScript().execute(script); - } - - @Override - public void setCaption(String caption) { - // Override to provide backwards compatibility - getState().caption = caption; - getPage().setTitle(caption); - } - - @Override - public ComponentContainer getContent() { - return (ComponentContainer) super.getContent(); - } - - /** - * Set the content of the window. For a {@link LegacyWindow}, the content - * must be a {@link ComponentContainer}. - * - * @param content - */ - @Override - public void setContent(Component content) { - if (!(content instanceof ComponentContainer)) { - throw new IllegalArgumentException( - "The content of a LegacyWindow must be a ComponentContainer"); - } - super.setContent(content); - } - - /** - * This implementation replaces a component in the content container ( - * {@link #getContent()}) instead of in the actual UI. - * - * This method should only be called when the content is a - * {@link ComponentContainer} (default {@link VerticalLayout} or explicitly - * set). - */ - public void replaceComponent(Component oldComponent, Component newComponent) { - getContent().replaceComponent(oldComponent, newComponent); - } - - /** - * Adds a component to this UI. The component is not added directly to the - * UI, but instead to the content container ({@link #getContent()}). - * - * This method should only be called when the content is a - * {@link ComponentContainer} (default {@link VerticalLayout} or explicitly - * set). - * - * @param component - * the component to add to this UI - * - * @see #getContent() - */ - public void addComponent(Component component) { - getContent().addComponent(component); - } - - /** - * This implementation removes the component from the content container ( - * {@link #getContent()}) instead of from the actual UI. - * - * This method should only be called when the content is a - * {@link ComponentContainer} (default {@link VerticalLayout} or explicitly - * set). - */ - public void removeComponent(Component component) { - getContent().removeComponent(component); - } - - /** - * This implementation removes the components from the content container ( - * {@link #getContent()}) instead of from the actual UI. - * - * This method should only be called when the content is a - * {@link ComponentContainer} (default {@link VerticalLayout} or explicitly - * set). - */ - public void removeAllComponents() { - getContent().removeAllComponents(); - } - -} |