/* @VaadinApache2LicenseForJavaFiles@ */ package com.vaadin.terminal.gwt.client; import com.google.gwt.user.client.ui.Widget; /** * An interface used by client-side widgets or paintable parts to receive * updates from the corresponding server-side components in the form of * {@link UIDL}. * * Updates can be sent back to the server using the * {@link ApplicationConnection#updateVariable()} methods. */ public interface ComponentConnector extends ServerConnector { /* * (non-Javadoc) * * @see com.vaadin.terminal.gwt.client.VPaintable#getState() */ public ComponentState getState(); /** * Returns the widget for this {@link ComponentConnector} */ public Widget getWidget(); public LayoutManager getLayoutManager(); /** * Returns true if the width of this paintable is currently * undefined. If the width is undefined, the actual width of the paintable * is defined by its contents. * * @return true if the width is undefined, else * false */ public boolean isUndefinedWidth(); /** * Returns true if the height of this paintable is currently * undefined. If the height is undefined, the actual height of the paintable * is defined by its contents. * * @return true if the height is undefined, else * false */ public boolean isUndefinedHeight(); /** * Returns true if the width of this paintable is currently * relative. If the width is relative, the actual width of the paintable is * a percentage of the size allocated to it by its parent. * * @return true if the width is undefined, else * false */ public boolean isRelativeWidth(); /** * Returns true if the height of this paintable is currently * relative. If the height is relative, the actual height of the paintable * is a percentage of the size allocated to it by its parent. * * @return true if the width is undefined, else * false */ public boolean isRelativeHeight(); /** * Returns the parent of this connector. Can be null for only the root * connector. * * @return The parent of this connector, as set by * {@link #setParent(ComponentContainerConnector)}. */ public ComponentContainerConnector getParent(); /** * Sets the parent for this connector. This method should only be called by * the framework to ensure that the connector hierarchy on the client side * and the server side are in sync. *

* Note that calling this method does not fire a * {@link ConnectorHierarchyChangeEvent}. The event is fired only when the * whole hierarchy has been updated. * * @param parent * The new parent of the connector */ public void setParent(ComponentContainerConnector parent); /** * Checks if the connector is read only. * * @deprecated This belongs in AbstractFieldConnector, see #8514 * @return true */ @Deprecated public boolean isReadOnly(); public boolean hasEventListener(String eventIdentifier); /** * Return true if parent handles caption, false if the paintable handles the * caption itself. * *

* This should always return true and all components should let the parent * handle the caption and use other attributes for internal texts in the * component *

* * @return true if caption handling is delegated to the parent, false if * parent should not be allowed to render caption */ public boolean delegateCaptionHandling(); /** * Sets the enabled state of the widget associated to this connector. * * @param widgetEnabled * true if the widget should be enabled, false otherwise */ public void setWidgetEnabled(boolean widgetEnabled); }