]> source.dussan.org Git - vaadin-framework.git/commitdiff
fixes #1555
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Wed, 9 Apr 2008 08:33:01 +0000 (08:33 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Wed, 9 Apr 2008 08:33:01 +0000 (08:33 +0000)
svn changeset:4150/svn branch:trunk

src/com/itmill/toolkit/terminal/PaintTarget.java
src/com/itmill/toolkit/terminal/gwt/server/JsonPaintTarget.java

index f2a29401adcba23b5cde5125e59c8d2ac98b9320..a62407473df8b9c02b96f4cea1150989f177b729 100644 (file)
@@ -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.
      * 
index 867f8d990740de3bb9b21697d32698ce7ebc7e90..67f0f5df03d11552309c41033e8d320a10c61b4a 100644 (file)
@@ -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)
      */