diff options
Diffstat (limited to 'src/com/itmill/toolkit/ui/Link.java')
-rw-r--r-- | src/com/itmill/toolkit/ui/Link.java | 206 |
1 files changed, 119 insertions, 87 deletions
diff --git a/src/com/itmill/toolkit/ui/Link.java b/src/com/itmill/toolkit/ui/Link.java index 962cf9a55e..03f02a20c7 100644 --- a/src/com/itmill/toolkit/ui/Link.java +++ b/src/com/itmill/toolkit/ui/Link.java @@ -1,30 +1,30 @@ /* ************************************************************************* - IT Mill Toolkit + IT Mill Toolkit - Development of Browser User Interfaces Made Easy + Development of Browser User Interfaces Made Easy - Copyright (C) 2000-2006 IT Mill Ltd - - ************************************************************************* + Copyright (C) 2000-2006 IT Mill Ltd + + ************************************************************************* - This product is distributed under commercial license that can be found - from the product package on license.pdf. Use of this product might - require purchasing a commercial license from IT Mill Ltd. For guidelines - on usage, see licensing-guidelines.html + This product is distributed under commercial license that can be found + from the product package on license.pdf. Use of this product might + require purchasing a commercial license from IT Mill Ltd. For guidelines + on usage, see licensing-guidelines.html - ************************************************************************* - - For more information, contact: - - IT Mill Ltd phone: +358 2 4802 7180 - Ruukinkatu 2-4 fax: +358 2 4802 7181 - 20540, Turku email: info@itmill.com - Finland company www: www.itmill.com - - Primary source for information and releases: www.itmill.com + ************************************************************************* + + For more information, contact: + + IT Mill Ltd phone: +358 2 4802 7180 + Ruukinkatu 2-4 fax: +358 2 4802 7181 + 20540, Turku email: info@itmill.com + Finland company www: www.itmill.com + + Primary source for information and releases: www.itmill.com - ********************************************************************** */ + ********************************************************************** */ package com.itmill.toolkit.ui; @@ -32,42 +32,50 @@ import com.itmill.toolkit.terminal.PaintException; import com.itmill.toolkit.terminal.PaintTarget; import com.itmill.toolkit.terminal.Resource; -/** +/** * Link is used to create external or internal URL links. - * - * Internal links can be used to create action items, which - * change the state to application to one of the predefined states. - * For example, a link can be created for existing MenuTree items. - * + * + * Internal links can be used to create action items, which change the state to + * application to one of the predefined states. For example, a link can be + * created for existing MenuTree items. + * * @author IT Mill Ltd. - * @version @VERSION@ + * @version + * @VERSION@ * @since 3.0 */ public class Link extends AbstractComponent { /* Target window border type constant: No window border */ public static final int TARGET_BORDER_NONE = Window.BORDER_NONE; + /* Target window border type constant: Minimal window border */ public static final int TARGET_BORDER_MINIMAL = Window.BORDER_MINIMAL; + /* Target window border type constant: Default window border */ public static final int TARGET_BORDER_DEFAULT = Window.BORDER_DEFAULT; private Resource resource = null; + private Window window = null; + private String targetName; + private int targetBorder = TARGET_BORDER_DEFAULT; + private int targetWidth = -1; + private int targetHeight = -1; - /** - * Creates a new link. + /** + * Creates a new link. */ public Link() { - + } - - /** - * Creates a new link to a window. + + /** + * Creates a new link to a window. */ public Link(Window window) { @@ -83,36 +91,37 @@ public class Link extends AbstractComponent { setTargetBorder(window.getBorder()); } - /** - * Creates a new instance of Link. + /** + * Creates a new instance of Link. + * * @param caption - * @param resource + * @param resource */ public Link(String caption, Resource resource) { setCaption(caption); this.resource = resource; } - /** - * Creates a new instance of Link that opens a new window. + /** + * Creates a new instance of Link that opens a new window. * * - * @param caption the Link text. - * @param targetName the name of the target window where the link - * opens to. Empty name of null implies that - * the target is opened to the window containing the link. - * @param width the Width of the target window. - * @param height the Height of the target window. - * @param border the Border style of the target window. + * @param caption + * the Link text. + * @param targetName + * the name of the target window where the link opens to. Empty + * name of null implies that the target is opened to the window + * containing the link. + * @param width + * the Width of the target window. + * @param height + * the Height of the target window. + * @param border + * the Border style of the target window. * */ - public Link( - String caption, - Resource resource, - String targetName, - int width, - int height, - int border) { + public Link(String caption, Resource resource, String targetName, + int width, int height, int border) { setCaption(caption); this.resource = resource; setTargetName(targetName); @@ -121,18 +130,22 @@ public class Link extends AbstractComponent { setTargetBorder(border); } - /** + /** * Gets the component UIDL tag. + * * @return the Component UIDL tag as string. */ public String getTag() { return "link"; } - /** + /** * Paints the content of this component. - * @param target the Paint Event. - * @throws PaintException if the paint operation failed. + * + * @param target + * the Paint Event. + * @throws PaintException + * if the paint operation failed. */ public void paintContent(PaintTarget target) throws PaintException { @@ -142,10 +155,10 @@ public class Link extends AbstractComponent { target.addAttribute("src", resource); else return; - + // Target window name String name = getTargetName(); - if (name != null && name.length()>0) + if (name != null && name.length() > 0) target.addAttribute("name", name); // Target window size @@ -153,109 +166,126 @@ public class Link extends AbstractComponent { target.addAttribute("width", getTargetWidth()); if (getTargetHeight() >= 0) target.addAttribute("height", getTargetHeight()); - + // Target window border switch (getTargetBorder()) { - case TARGET_BORDER_MINIMAL : - target.addAttribute("border", "minimal"); - break; - case TARGET_BORDER_NONE : - target.addAttribute("border", "none"); - break; + case TARGET_BORDER_MINIMAL: + target.addAttribute("border", "minimal"); + break; + case TARGET_BORDER_NONE: + target.addAttribute("border", "none"); + break; } } - /** + /** * Returns the target window border. + * * @return the target window border. */ public int getTargetBorder() { return targetBorder; } - /** + /** * Returns the target window height or -1 if not set. + * * @return the target window height. */ public int getTargetHeight() { return targetHeight < 0 ? -1 : targetHeight; } - /** - * Returns the target window name. Empty name of null implies that - * the target is opened to the window containing the link. + /** + * Returns the target window name. Empty name of null implies that the + * target is opened to the window containing the link. + * * @return the target window name. */ public String getTargetName() { return targetName; } - /** + /** * Returns the target window width or -1 if not set. + * * @return the target window width. */ public int getTargetWidth() { return targetWidth < 0 ? -1 : targetWidth; } - /** + /** * Sets the border of the target window. - * @param targetBorder the targetBorder to set. + * + * @param targetBorder + * the targetBorder to set. */ public void setTargetBorder(int targetBorder) { if (targetBorder == TARGET_BORDER_DEFAULT - || targetBorder == TARGET_BORDER_MINIMAL - || targetBorder == TARGET_BORDER_NONE) { + || targetBorder == TARGET_BORDER_MINIMAL + || targetBorder == TARGET_BORDER_NONE) { this.targetBorder = targetBorder; requestRepaint(); } } - /** + /** * Sets the target window height. - * @param targetHeight the targetHeight to set. + * + * @param targetHeight + * the targetHeight to set. */ public void setTargetHeight(int targetHeight) { this.targetHeight = targetHeight; requestRepaint(); } - /** + /** * Sets the target window name. - * @param targetName the targetName to set. + * + * @param targetName + * the targetName to set. */ public void setTargetName(String targetName) { this.targetName = targetName; requestRepaint(); } - /** + /** * Sets the target window width. - * @param targetWidth the targetWidth to set. + * + * @param targetWidth + * the targetWidth to set. */ public void setTargetWidth(int targetWidth) { this.targetWidth = targetWidth; requestRepaint(); } - /** + + /** * Returns the resource this link opens. + * * @return the Resource. */ public Resource getResource() { return resource; } - /** + /** * Returns the window this link opens. + * * @return the Window. */ public Window getWindow() { return window; } - /** + /** * Sets the resource this link opens. - * @param resource the resource to set. + * + * @param resource + * the resource to set. */ public void setResource(Resource resource) { this.resource = resource; @@ -265,9 +295,11 @@ public class Link extends AbstractComponent { requestRepaint(); } - /** + /** * Sets the window this link opens. - * @param window the window to set. + * + * @param window + * the window to set. */ public void setWindow(Window window) { this.window = window; |