com.vaadin.terminal.gwt.client
Class Util

java.lang.Object
  extended by com.vaadin.terminal.gwt.client.Util

public class Util
extends Object


Constructor Summary
Util()
           
 
Method Summary
static void alert(String string)
           
static void browserDebugger()
          Helper method for debugging purposes.
static com.google.gwt.user.client.Element cloneNode(com.google.gwt.user.client.Element element, boolean deep)
          Clones given element as in JavaScript.
static boolean collectionsEquals(Collection collection1, Collection collection2)
          Performs a shallow comparison of the collections.
static void detachAttach(com.google.gwt.user.client.Element element)
          Detaches and re-attaches the element from its parent.
static boolean equals(Object a, Object b)
           
static String escapeAttribute(String attribute)
          Escapes the string so it is safe to write inside an HTML attribute.
static String escapeHTML(String html)
          Converts html entities to text.
static ComponentConnector findPaintable(ApplicationConnection client, com.google.gwt.user.client.Element element)
          Helper method to find the nearest parent paintable instance by traversing the DOM upwards from given element.
static
<T> T
findWidget(com.google.gwt.user.client.Element element, Class<? extends com.google.gwt.user.client.ui.Widget> class1)
          Helper method to find first instance of given Widget type found by traversing DOM upwards from given element.
static void focus(com.google.gwt.user.client.Element el)
          Will (attempt) to focus the given DOM Element.
static void forceWebkitRedraw(com.google.gwt.user.client.Element element)
          Force webkit to redraw an element
static int getChildElementIndex(com.google.gwt.user.client.Element childElement)
          Returns the index of the childElement within its parent.
static ComponentConnector getConnectorForElement(ApplicationConnection client, com.google.gwt.user.client.ui.Widget parent, com.google.gwt.user.client.Element element)
          Locates the nested child component of parent which contains the element element.
static String getConnectorString(ServerConnector p)
           
static com.google.gwt.user.client.Element getElementFromPoint(int clientX, int clientY)
          Returns the topmost element of from given coordinates.
static com.google.gwt.user.client.Element getElementUnderMouse(com.google.gwt.dom.client.NativeEvent event)
          Find the element corresponding to the coordinates in the passed mouse event.
static com.google.gwt.user.client.Element getIEFocusedElement()
          Gets the currently focused element for Internet Explorer.
static int getNativeScrollbarSize()
           
static int getRequiredHeight(com.google.gwt.dom.client.Element element)
           
static int getRequiredHeight(com.google.gwt.user.client.ui.Widget widget)
           
static int getRequiredWidth(com.google.gwt.dom.client.Element element)
           
static int getRequiredWidth(com.google.gwt.user.client.ui.Widget widget)
           
static String getSimpleName(Object widget)
           
static int getTouchOrMouseClientX(com.google.gwt.user.client.Event event)
          A helper method to return the client position from an event.
static int getTouchOrMouseClientX(com.google.gwt.dom.client.NativeEvent event)
           
static int getTouchOrMouseClientY(com.google.gwt.user.client.Event event)
          A helper method to return the client position from an event.
static int getTouchOrMouseClientY(com.google.gwt.dom.client.NativeEvent currentGwtEvent)
           
static boolean isAttachedAndDisplayed(com.google.gwt.user.client.ui.Widget widget)
          Kind of stronger version of isAttached().
static boolean isCached(UIDL uidl)
          Deprecated. 
static boolean isTouchEvent(com.google.gwt.user.client.Event event)
           
static boolean isTouchEvent(com.google.gwt.dom.client.NativeEvent event)
           
static boolean isTouchEventOrLeftMouseButton(com.google.gwt.user.client.Event event)
          Checks if the given event is either a touch event or caused by the left mouse button
static boolean mayHaveScrollBars(com.google.gwt.dom.client.Element pe)
          Detects what is currently the overflow style attribute in given element.
static int measureHorizontalBorder(com.google.gwt.user.client.Element element)
           
static int measureHorizontalPaddingAndBorder(com.google.gwt.user.client.Element element, int paddingGuess)
           
static int measureMarginLeft(com.google.gwt.user.client.Element element)
           
static int measureVerticalBorder(com.google.gwt.user.client.Element element)
           
static int measureVerticalPaddingAndBorder(com.google.gwt.user.client.Element element, int paddingGuess)
           
static void notifyParentOfSizeChange(com.google.gwt.user.client.ui.Widget widget, boolean lazy)
          Deprecated. since 7.0, use LayoutManager.setNeedsMeasure(ComponentConnector) instead
static RenderInformation.FloatSize parseRelativeSize(ComponentState state)
          Parses shared state and fetches the relative size of the component.
static float parseRelativeSize(String size)
           
static void runWebkitOverflowAutoFix(com.google.gwt.user.client.Element elem)
          Run workaround for webkits overflow auto issue.
static void scrollIntoViewVertically(com.google.gwt.user.client.Element elem)
          Scrolls an element into view vertically only.
static void setFloat(com.google.gwt.user.client.Element element, String value)
           
static int setHeightExcludingPaddingAndBorder(com.google.gwt.user.client.Element element, int requestedHeight, int verticalPaddingBorderGuess, boolean requestedHeightIncludesPaddingBorder)
           
static int setHeightExcludingPaddingAndBorder(com.google.gwt.user.client.ui.Widget widget, String height, int paddingBorderGuess)
           
static void setStyleTemporarily(com.google.gwt.user.client.Element element, String styleProperty, String tempValue)
          Temporarily sets the styleProperty to tempValue and then resets it to its current value.
static int setWidthExcludingPaddingAndBorder(com.google.gwt.user.client.Element element, int requestedWidth, int horizontalPaddingBorderGuess, boolean requestedWidthIncludesPaddingBorder)
           
static int setWidthExcludingPaddingAndBorder(com.google.gwt.user.client.ui.Widget widget, String width, int paddingBorderGuess)
           
static void simulateClickFromTouchEvent(com.google.gwt.user.client.Event touchevent, com.google.gwt.user.client.ui.Widget widget)
           
static void sinkOnloadForImages(com.google.gwt.user.client.Element element)
           
static void updateRelativeChildrenAndSendSizeUpdateEvent(ApplicationConnection client, com.google.gwt.user.client.ui.HasWidgets container, com.google.gwt.user.client.ui.Widget widget)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Util

public Util()
Method Detail

browserDebugger

public static void browserDebugger()
Helper method for debugging purposes. Stops execution on firefox browsers on a breakpoint.


getElementFromPoint

public static com.google.gwt.user.client.Element getElementFromPoint(int clientX,
                                                                     int clientY)
Returns the topmost element of from given coordinates. TODO fix crossplat issues clientX vs pageX. See quircksmode. Not critical for vaadin as we scroll div istead of page.

Parameters:
x -
y -
Returns:
the element at given coordinates

notifyParentOfSizeChange

@Deprecated
public static void notifyParentOfSizeChange(com.google.gwt.user.client.ui.Widget widget,
                                                       boolean lazy)
Deprecated. since 7.0, use LayoutManager.setNeedsMeasure(ComponentConnector) instead

This helper method can be called if components size have been changed outside rendering phase. It notifies components parent about the size change so it can react. When using this method, developer should consider if size changes could be notified lazily. If lazy flag is true, method will save widget and wait for a moment until it notifies parents in chunks. This may vastly optimize layout in various situation. Example: if component have a lot of images their onload events may fire "layout phase" many times in a short period.

Parameters:
widget -
lazy - run componentSizeUpdated lazyly

parseRelativeSize

public static float parseRelativeSize(String size)

escapeHTML

public static String escapeHTML(String html)
Converts html entities to text.

Parameters:
html -
Returns:
escaped string presentation of given html

escapeAttribute

public static String escapeAttribute(String attribute)
Escapes the string so it is safe to write inside an HTML attribute.

Parameters:
attribute - The string to escape
Returns:
An escaped version of attribute.

cloneNode

public static com.google.gwt.user.client.Element cloneNode(com.google.gwt.user.client.Element element,
                                                           boolean deep)
Clones given element as in JavaScript. Deprecate this if there appears similar method into GWT someday.

Parameters:
element -
deep - clone child tree also
Returns:

measureHorizontalPaddingAndBorder

public static int measureHorizontalPaddingAndBorder(com.google.gwt.user.client.Element element,
                                                    int paddingGuess)

measureVerticalPaddingAndBorder

public static int measureVerticalPaddingAndBorder(com.google.gwt.user.client.Element element,
                                                  int paddingGuess)

measureHorizontalBorder

public static int measureHorizontalBorder(com.google.gwt.user.client.Element element)

measureVerticalBorder

public static int measureVerticalBorder(com.google.gwt.user.client.Element element)

measureMarginLeft

public static int measureMarginLeft(com.google.gwt.user.client.Element element)

setHeightExcludingPaddingAndBorder

public static int setHeightExcludingPaddingAndBorder(com.google.gwt.user.client.ui.Widget widget,
                                                     String height,
                                                     int paddingBorderGuess)

setWidthExcludingPaddingAndBorder

public static int setWidthExcludingPaddingAndBorder(com.google.gwt.user.client.ui.Widget widget,
                                                    String width,
                                                    int paddingBorderGuess)

setWidthExcludingPaddingAndBorder

public static int setWidthExcludingPaddingAndBorder(com.google.gwt.user.client.Element element,
                                                    int requestedWidth,
                                                    int horizontalPaddingBorderGuess,
                                                    boolean requestedWidthIncludesPaddingBorder)

setHeightExcludingPaddingAndBorder

public static int setHeightExcludingPaddingAndBorder(com.google.gwt.user.client.Element element,
                                                     int requestedHeight,
                                                     int verticalPaddingBorderGuess,
                                                     boolean requestedHeightIncludesPaddingBorder)

getSimpleName

public static String getSimpleName(Object widget)

setFloat

public static void setFloat(com.google.gwt.user.client.Element element,
                            String value)

getNativeScrollbarSize

public static int getNativeScrollbarSize()

runWebkitOverflowAutoFix

public static void runWebkitOverflowAutoFix(com.google.gwt.user.client.Element elem)
Run workaround for webkits overflow auto issue. See: our bug #2138 and https://bugs.webkit.org/show_bug.cgi?id=21462

Parameters:
elem - with overflow auto

parseRelativeSize

public static RenderInformation.FloatSize parseRelativeSize(ComponentState state)
Parses shared state and fetches the relative size of the component. If a dimension is not specified as relative it will return -1. If the shared state does not contain width or height specifications this will return null.

Parameters:
state -
Returns:

isCached

@Deprecated
public static boolean isCached(UIDL uidl)
Deprecated. 


alert

public static void alert(String string)

equals

public static boolean equals(Object a,
                             Object b)

updateRelativeChildrenAndSendSizeUpdateEvent

public static void updateRelativeChildrenAndSendSizeUpdateEvent(ApplicationConnection client,
                                                                com.google.gwt.user.client.ui.HasWidgets container,
                                                                com.google.gwt.user.client.ui.Widget widget)

getRequiredWidth

public static int getRequiredWidth(com.google.gwt.dom.client.Element element)

getRequiredHeight

public static int getRequiredHeight(com.google.gwt.dom.client.Element element)

getRequiredWidth

public static int getRequiredWidth(com.google.gwt.user.client.ui.Widget widget)

getRequiredHeight

public static int getRequiredHeight(com.google.gwt.user.client.ui.Widget widget)

mayHaveScrollBars

public static boolean mayHaveScrollBars(com.google.gwt.dom.client.Element pe)
Detects what is currently the overflow style attribute in given element.

Parameters:
pe - the element to detect
Returns:
true if auto or scroll

getConnectorForElement

public static ComponentConnector getConnectorForElement(ApplicationConnection client,
                                                        com.google.gwt.user.client.ui.Widget parent,
                                                        com.google.gwt.user.client.Element element)
Locates the nested child component of parent which contains the element element. The child component is also returned if "element" is part of its caption. If element is not part of any child component, null is returned. This method returns the deepest nested VPaintableWidget.

Parameters:
client - A reference to ApplicationConnection
parent - The widget that contains element.
element - An element that is a sub element of the parent
Returns:
The VPaintableWidget which the element is a part of. Null if the element does not belong to a child.

focus

public static void focus(com.google.gwt.user.client.Element el)
Will (attempt) to focus the given DOM Element.

Parameters:
el - the element to focus

findPaintable

public static ComponentConnector findPaintable(ApplicationConnection client,
                                               com.google.gwt.user.client.Element element)
Helper method to find the nearest parent paintable instance by traversing the DOM upwards from given element.

Parameters:
element - the element to start from

findWidget

public static <T> T findWidget(com.google.gwt.user.client.Element element,
                               Class<? extends com.google.gwt.user.client.ui.Widget> class1)
Helper method to find first instance of given Widget type found by traversing DOM upwards from given element.

Parameters:
element - the element where to start seeking of Widget
class1 - the Widget type to seek for

forceWebkitRedraw

public static void forceWebkitRedraw(com.google.gwt.user.client.Element element)
Force webkit to redraw an element

Parameters:
element - The element that should be redrawn

detachAttach

public static void detachAttach(com.google.gwt.user.client.Element element)
Detaches and re-attaches the element from its parent. The element is reattached at the same position in the DOM as it was before. Does nothing if the element is not attached to the DOM.

Parameters:
element - The element to detach and re-attach

sinkOnloadForImages

public static void sinkOnloadForImages(com.google.gwt.user.client.Element element)

getChildElementIndex

public static int getChildElementIndex(com.google.gwt.user.client.Element childElement)
Returns the index of the childElement within its parent.

Parameters:
subElement -
Returns:

setStyleTemporarily

public static void setStyleTemporarily(com.google.gwt.user.client.Element element,
                                       String styleProperty,
                                       String tempValue)
Temporarily sets the styleProperty to tempValue and then resets it to its current value. Used mainly to work around rendering issues in IE (and possibly in other browsers)

Parameters:
element - The target element
styleProperty - The name of the property to set
tempValue - The temporary value

getTouchOrMouseClientX

public static int getTouchOrMouseClientX(com.google.gwt.user.client.Event event)
A helper method to return the client position from an event. Returns position from either first changed touch (if touch event) or from the event itself.

Parameters:
event -
Returns:

getElementUnderMouse

public static com.google.gwt.user.client.Element getElementUnderMouse(com.google.gwt.dom.client.NativeEvent event)
Find the element corresponding to the coordinates in the passed mouse event. Please note that this is not always the same as the target of the event e.g. if event capture is used.

Parameters:
event - the mouse event to get coordinates from
Returns:
the element at the coordinates of the event

getTouchOrMouseClientY

public static int getTouchOrMouseClientY(com.google.gwt.user.client.Event event)
A helper method to return the client position from an event. Returns position from either first changed touch (if touch event) or from the event itself.

Parameters:
event -
Returns:

getTouchOrMouseClientY

public static int getTouchOrMouseClientY(com.google.gwt.dom.client.NativeEvent currentGwtEvent)
Parameters:
currentGwtEvent -
Returns:
See Also:
getTouchOrMouseClientY(Event)

getTouchOrMouseClientX

public static int getTouchOrMouseClientX(com.google.gwt.dom.client.NativeEvent event)
Parameters:
event -
Returns:
See Also:
getTouchOrMouseClientX(Event)

isTouchEvent

public static boolean isTouchEvent(com.google.gwt.user.client.Event event)

isTouchEvent

public static boolean isTouchEvent(com.google.gwt.dom.client.NativeEvent event)

simulateClickFromTouchEvent

public static void simulateClickFromTouchEvent(com.google.gwt.user.client.Event touchevent,
                                               com.google.gwt.user.client.ui.Widget widget)

getIEFocusedElement

public static com.google.gwt.user.client.Element getIEFocusedElement()
Gets the currently focused element for Internet Explorer.

Returns:
The currently focused element

isAttachedAndDisplayed

public static boolean isAttachedAndDisplayed(com.google.gwt.user.client.ui.Widget widget)
Kind of stronger version of isAttached(). In addition to std isAttached, this method checks that this widget nor any of its parents is hidden. Can be e.g used to check whether component should react to some events or not.

Parameters:
widget -
Returns:
true if attached and displayed

scrollIntoViewVertically

public static void scrollIntoViewVertically(com.google.gwt.user.client.Element elem)
Scrolls an element into view vertically only. Modified version of Element.scrollIntoView.

Parameters:
elem - The element to scroll into view

isTouchEventOrLeftMouseButton

public static boolean isTouchEventOrLeftMouseButton(com.google.gwt.user.client.Event event)
Checks if the given event is either a touch event or caused by the left mouse button

Parameters:
event -
Returns:
true if the event is a touch event or caused by the left mouse button, false otherwise

collectionsEquals

public static boolean collectionsEquals(Collection collection1,
                                        Collection collection2)
Performs a shallow comparison of the collections.

Parameters:
collection1 - The first collection
collection2 - The second collection
Returns:
true if the collections contain the same elements in the same order, false otherwise

getConnectorString

public static String getConnectorString(ServerConnector p)


Copyright © 2000-2011 Vaadin Ltd. All Rights Reserved.