diff options
Diffstat (limited to 'src/com/vaadin/ui/Notification.java')
-rw-r--r-- | src/com/vaadin/ui/Notification.java | 367 |
1 files changed, 0 insertions, 367 deletions
diff --git a/src/com/vaadin/ui/Notification.java b/src/com/vaadin/ui/Notification.java deleted file mode 100644 index 502e5ff788..0000000000 --- a/src/com/vaadin/ui/Notification.java +++ /dev/null @@ -1,367 +0,0 @@ -/* -@VaadinApache2LicenseForJavaFiles@ - */ - -package com.vaadin.ui; - -import java.io.Serializable; - -import com.vaadin.terminal.Page; -import com.vaadin.terminal.Resource; - -/** - * A notification message, used to display temporary messages to the user - for - * example "Document saved", or "Save failed". - * <p> - * The notification message can consist of several parts: caption, description - * and icon. It is usually used with only caption - one should be wary of - * filling the notification with too much information. - * </p> - * <p> - * The notification message tries to be as unobtrusive as possible, while still - * drawing needed attention. There are several basic types of messages that can - * be used in different situations: - * <ul> - * <li>TYPE_HUMANIZED_MESSAGE fades away quickly as soon as the user uses the - * mouse or types something. It can be used to show fairly unimportant messages, - * such as feedback that an operation succeeded ("Document Saved") - the kind of - * messages the user ignores once the application is familiar.</li> - * <li>TYPE_WARNING_MESSAGE is shown for a short while after the user uses the - * mouse or types something. It's default style is also more noticeable than the - * humanized message. It can be used for messages that do not contain a lot of - * important information, but should be noticed by the user. Despite the name, - * it does not have to be a warning, but can be used instead of the humanized - * message whenever you want to make the message a little more noticeable.</li> - * <li>TYPE_ERROR_MESSAGE requires to user to click it before disappearing, and - * can be used for critical messages.</li> - * <li>TYPE_TRAY_NOTIFICATION is shown for a while in the lower left corner of - * the window, and can be used for "convenience notifications" that do not have - * to be noticed immediately, and should not interfere with the current task - - * for instance to show "You have a new message in your inbox" while the user is - * working in some other area of the application.</li> - * </ul> - * </p> - * <p> - * In addition to the basic pre-configured types, a Notification can also be - * configured to show up in a custom position, for a specified time (or until - * clicked), and with a custom stylename. An icon can also be added. - * </p> - * - */ -public class Notification implements Serializable { - public static final int TYPE_HUMANIZED_MESSAGE = 1; - public static final int TYPE_WARNING_MESSAGE = 2; - public static final int TYPE_ERROR_MESSAGE = 3; - public static final int TYPE_TRAY_NOTIFICATION = 4; - - public static final int POSITION_CENTERED = 1; - public static final int POSITION_CENTERED_TOP = 2; - public static final int POSITION_CENTERED_BOTTOM = 3; - public static final int POSITION_TOP_LEFT = 4; - public static final int POSITION_TOP_RIGHT = 5; - public static final int POSITION_BOTTOM_LEFT = 6; - public static final int POSITION_BOTTOM_RIGHT = 7; - - public static final int DELAY_FOREVER = -1; - public static final int DELAY_NONE = 0; - - private String caption; - private String description; - private Resource icon; - private int position = POSITION_CENTERED; - private int delayMsec = 0; - private String styleName; - private boolean htmlContentAllowed; - - /** - * Creates a "humanized" notification message. - * - * The caption is rendered as plain text with HTML automatically escaped. - * - * @param caption - * The message to show - */ - public Notification(String caption) { - this(caption, null, TYPE_HUMANIZED_MESSAGE); - } - - /** - * Creates a notification message of the specified type. - * - * The caption is rendered as plain text with HTML automatically escaped. - * - * @param caption - * The message to show - * @param type - * The type of message - */ - public Notification(String caption, int type) { - this(caption, null, type); - } - - /** - * Creates a "humanized" notification message with a bigger caption and - * smaller description. - * - * The caption and description are rendered as plain text with HTML - * automatically escaped. - * - * @param caption - * The message caption - * @param description - * The message description - */ - public Notification(String caption, String description) { - this(caption, description, TYPE_HUMANIZED_MESSAGE); - } - - /** - * Creates a notification message of the specified type, with a bigger - * caption and smaller description. - * - * The caption and description are rendered as plain text with HTML - * automatically escaped. - * - * @param caption - * The message caption - * @param description - * The message description - * @param type - * The type of message - */ - public Notification(String caption, String description, int type) { - this(caption, description, type, false); - } - - /** - * Creates a notification message of the specified type, with a bigger - * caption and smaller description. - * - * Care should be taken to to avoid XSS vulnerabilities if html is allowed. - * - * @param caption - * The message caption - * @param description - * The message description - * @param type - * The type of message - * @param htmlContentAllowed - * Whether html in the caption and description should be - * displayed as html or as plain text - */ - public Notification(String caption, String description, int type, - boolean htmlContentAllowed) { - this.caption = caption; - this.description = description; - this.htmlContentAllowed = htmlContentAllowed; - setType(type); - } - - private void setType(int type) { - switch (type) { - case TYPE_WARNING_MESSAGE: - delayMsec = 1500; - styleName = "warning"; - break; - case TYPE_ERROR_MESSAGE: - delayMsec = -1; - styleName = "error"; - break; - case TYPE_TRAY_NOTIFICATION: - delayMsec = 3000; - position = POSITION_BOTTOM_RIGHT; - styleName = "tray"; - - case TYPE_HUMANIZED_MESSAGE: - default: - break; - } - - } - - /** - * Gets the caption part of the notification message. - * - * @return The message caption - */ - public String getCaption() { - return caption; - } - - /** - * Sets the caption part of the notification message - * - * @param caption - * The message caption - */ - public void setCaption(String caption) { - this.caption = caption; - } - - /** - * Gets the description part of the notification message. - * - * @return The message description. - */ - public String getDescription() { - return description; - } - - /** - * Sets the description part of the notification message. - * - * @param description - */ - public void setDescription(String description) { - this.description = description; - } - - /** - * Gets the position of the notification message. - * - * @return The position - */ - public int getPosition() { - return position; - } - - /** - * Sets the position of the notification message. - * - * @param position - * The desired notification position - */ - public void setPosition(int position) { - this.position = position; - } - - /** - * Gets the icon part of the notification message. - * - * @return The message icon - */ - public Resource getIcon() { - return icon; - } - - /** - * Sets the icon part of the notification message. - * - * @param icon - * The desired message icon - */ - public void setIcon(Resource icon) { - this.icon = icon; - } - - /** - * Gets the delay before the notification disappears. - * - * @return the delay in msec, -1 indicates the message has to be clicked. - */ - public int getDelayMsec() { - return delayMsec; - } - - /** - * Sets the delay before the notification disappears. - * - * @param delayMsec - * the desired delay in msec, -1 to require the user to click the - * message - */ - public void setDelayMsec(int delayMsec) { - this.delayMsec = delayMsec; - } - - /** - * Sets the style name for the notification message. - * - * @param styleName - * The desired style name. - */ - public void setStyleName(String styleName) { - this.styleName = styleName; - } - - /** - * Gets the style name for the notification message. - * - * @return - */ - public String getStyleName() { - return styleName; - } - - /** - * Sets whether html is allowed in the caption and description. If set to - * true, the texts are passed to the browser as html and the developer is - * responsible for ensuring no harmful html is used. If set to false, the - * texts are passed to the browser as plain text. - * - * @param htmlContentAllowed - * true if the texts are used as html, false if used as plain - * text - */ - public void setHtmlContentAllowed(boolean htmlContentAllowed) { - this.htmlContentAllowed = htmlContentAllowed; - } - - /** - * Checks whether caption and description are interpreted as html or plain - * text. - * - * @return true if the texts are used as html, false if used as plain text - * @see #setHtmlContentAllowed(boolean) - */ - public boolean isHtmlContentAllowed() { - return htmlContentAllowed; - } - - /** - * Shows this notification on a Page. - * - * @param page - * The page on which the notification should be shown - */ - public void show(Page page) { - // TODO Can avoid deprecated API when Notification extends Extension - page.showNotification(this); - } - - /** - * Shows a notification message on the middle of the current page. The - * message automatically disappears ("humanized message"). - * - * The caption is rendered as plain text with HTML automatically escaped. - * - * @see #Notification(String) - * @see #show(Page) - * - * @param caption - * The message - */ - public static void show(String caption) { - new Notification(caption).show(Page.getCurrent()); - } - - /** - * Shows a notification message the current page. The position and behavior - * of the message depends on the type, which is one of the basic types - * defined in {@link Notification}, for instance - * Notification.TYPE_WARNING_MESSAGE. - * - * The caption is rendered as plain text with HTML automatically escaped. - * - * @see #Notification(String, int) - * @see #show(Page) - * - * @param caption - * The message - * @param type - * The message type - */ - public static void show(String caption, int type) { - new Notification(caption, type).show(Page.getCurrent()); - } -}
\ No newline at end of file |