From: Matti Tahvonen Date: Wed, 9 Apr 2008 08:33:01 +0000 (+0000) Subject: fixes #1555 X-Git-Tag: 6.7.0.beta1~4910 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=f9e4773ea3d68a0ed665430f6fa1ae8cd8f579ee;p=vaadin-framework.git fixes #1555 svn changeset:4150/svn branch:trunk --- diff --git a/src/com/itmill/toolkit/terminal/PaintTarget.java b/src/com/itmill/toolkit/terminal/PaintTarget.java index f2a29401ad..a62407473d 100644 --- a/src/com/itmill/toolkit/terminal/PaintTarget.java +++ b/src/com/itmill/toolkit/terminal/PaintTarget.java @@ -55,6 +55,24 @@ public interface PaintTarget { public boolean startTag(Paintable paintable, String tag) throws PaintException; + /** + * Paints a component reference as an attribute to current tag. This method + * is meant to enable component interactions on client side. With reference + * the client side component can communicate directly to other component. + * + * Note! This is still an experimental feature and API is likely to change + * in future. + * + * @param paintable + * the Paintable to reference + * @param referenceName + * @throws PaintException + * + * @since 5.2 + */ + public void paintReference(Paintable paintable, String referenceName) + throws PaintException; + /** * Prints element start tag. * diff --git a/src/com/itmill/toolkit/terminal/gwt/server/JsonPaintTarget.java b/src/com/itmill/toolkit/terminal/gwt/server/JsonPaintTarget.java index 867f8d9907..67f0f5df03 100644 --- a/src/com/itmill/toolkit/terminal/gwt/server/JsonPaintTarget.java +++ b/src/com/itmill/toolkit/terminal/gwt/server/JsonPaintTarget.java @@ -783,6 +783,12 @@ public class JsonPaintTarget implements PaintTarget { return cacheEnabled && isPreviouslyPainted; } + public void paintReference(Paintable paintable, String referenceName) + throws PaintException { + final String id = manager.getPaintableId(paintable); + addAttribute(referenceName, id); + } + /** * @see com.itmill.toolkit.terminal.PaintTarget#addCharacterData(java.lang.String) */