]> source.dussan.org Git - vaadin-framework.git/commitdiff
Label now supports xhtml content
authorMatti Tahvonen <matti.tahvonen@itmill.com>
Thu, 7 Jun 2007 13:07:37 +0000 (13:07 +0000)
committerMatti Tahvonen <matti.tahvonen@itmill.com>
Thu, 7 Jun 2007 13:07:37 +0000 (13:07 +0000)
svn changeset:1639/svn branch:trunk

src/com/itmill/toolkit/terminal/gwt/client/ui/Label.java
src/com/itmill/toolkit/terminal/web/AjaxJsonPaintTarget.java

index 21199396d9231dc3454c4b333cd4495e3e41292a..3be8e0b49f25fe2903ee00db68dd277fd91bb993 100644 (file)
@@ -1,6 +1,7 @@
 package com.itmill.toolkit.terminal.gwt.client.ui;
 
 import com.google.gwt.user.client.ui.Composite;
+import com.google.gwt.user.client.ui.HTML;
 import com.google.gwt.user.client.ui.VerticalPanel;
 import com.itmill.toolkit.terminal.gwt.client.Client;
 import com.itmill.toolkit.terminal.gwt.client.Paintable;
@@ -9,7 +10,7 @@ import com.itmill.toolkit.terminal.gwt.client.UIDL;
 public class Label extends Composite implements Paintable{
        
        com.google.gwt.user.client.ui.Label caption = new com.google.gwt.user.client.ui.Label();;
-       com.google.gwt.user.client.ui.Label content = new com.google.gwt.user.client.ui.Label();;
+       HTML content = new HTML();
        
        public Label() {
                VerticalPanel panel = new VerticalPanel();
@@ -22,7 +23,18 @@ public class Label extends Composite implements Paintable{
        }
        
        public void updateFromUIDL(UIDL uidl, Client client) {
-               setContent(uidl.getChildString(0));
+               try{
+                       UIDL child = uidl.getChildUIDL(0).getChildUIDL(0);
+                       if(child.hasAttribute("xmlns") && 
+                                       child.getStringAttribute("xmlns").
+                                       equals("http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd")) {
+                               setContent(child.getChildString(0));
+                       } else {
+                               setContent("Terminals Label compoent can't handle this content type.");
+                       }
+               } catch (Exception e) {
+                       setContent(uidl.getChildString(0));
+               }
                if(uidl.hasAttribute("caption"))
                        setCaption(uidl.getStringAttribute("caption"));
                else
@@ -30,7 +42,7 @@ public class Label extends Composite implements Paintable{
        }
        
        public void setContent(String c) {
-               content.setText(c);
+               content.setHTML(c);
        }
        public void setCaption(String c) {
                caption.setText(c);
index 0bfc6c5323b6adf5fe852aaa798b1e0164818725..d4e5233c04a275d4808487722428a69ac4c4d9e8 100644 (file)
@@ -617,7 +617,7 @@ public class AjaxJsonPaintTarget implements PaintTarget, AjaxPaintTarget {
                mTagArgumentListOpen = false;
 
                if (sectionData != null)
-                       tag.addData(sectionData);
+                       tag.addData("\""+escapeJSON(sectionData) + "\"");
                endTag(sectionTagName);
        }