Author: mgrigorov
Date: Sun Mar 13 20:47:57 2011
New Revision: 1081218

URL: http://svn.apache.org/viewvc?rev=1081218&view=rev
Log:
WICKET-3456 Would like a renderCSS method in IHeaderResponse

Add #renderCSS(CharSequence, String) method to be consistent with 
#renderJavaScript(CharSequence, String).


Modified:
    
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/DecoratingHeaderResponse.java
    
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java
    
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java
    
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/resourcedecoration/GroupingAndFilteringHeaderResponse.java

Modified: 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/DecoratingHeaderResponse.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/DecoratingHeaderResponse.java?rev=1081218&r1=1081217&r2=1081218&view=diff
==============================================================================
--- 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/DecoratingHeaderResponse.java
 (original)
+++ 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/DecoratingHeaderResponse.java
 Sun Mar 13 20:47:57 2011
@@ -93,6 +93,11 @@ public abstract class DecoratingHeaderRe
                realResponse.renderCSSReference(reference);
        }
 
+       public void renderCSS(CharSequence css, String id)
+       {
+               realResponse.renderCSS(css, id);
+       }
+
        public void renderCSSReference(String url)
        {
                realResponse.renderCSSReference(url);

Modified: 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java?rev=1081218&r1=1081217&r2=1081218&view=diff
==============================================================================
--- 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java
 (original)
+++ 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/IHeaderResponse.java
 Sun Mar 13 20:47:57 2011
@@ -100,6 +100,20 @@ public interface IHeaderResponse extends
        public void renderJavaScript(CharSequence javascript, String id);
 
        /**
+        * Renders CSS code to the response, if the CSS has not already been 
rendered.
+        * 
+        * the necessary surrounding <style> tags will be added to the 
output.
+        * 
+        * @param css
+        *            css content to be rendered.
+        * 
+        * @param id
+        *            unique id for the <style> element. This can be 
<code>null</code>, however in
+        *            that case the ajax header contribution can't detect 
duplicate CSS fragments.
+        */
+       void renderCSS(CharSequence css, String id);
+
+       /**
         * Writes a CSS reference, if the specified reference hasn't been 
rendered yet.
         * 
         * @param reference

Modified: 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java?rev=1081218&r1=1081217&r2=1081218&view=diff
==============================================================================
--- 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java
 (original)
+++ 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/internal/HeaderResponse.java
 Sun Mar 13 20:47:57 2011
@@ -32,6 +32,7 @@ import org.apache.wicket.request.mapper.
 import org.apache.wicket.request.resource.ResourceReference;
 import org.apache.wicket.response.NullResponse;
 import org.apache.wicket.util.lang.Args;
+import org.apache.wicket.util.string.CssUtils;
 import org.apache.wicket.util.string.JavaScriptUtils;
 import org.apache.wicket.util.string.Strings;
 
@@ -56,6 +57,23 @@ public abstract class HeaderResponse imp
                rendered.add(object);
        }
 
+       public void renderCSS(CharSequence css, String id)
+       {
+               if (css == null)
+               {
+                       throw new IllegalArgumentException("css cannot be 
null");
+               }
+               if (!closed)
+               {
+                       List<String> token = Arrays.asList(css.toString(), id);
+                       if (wasRendered(token) == false)
+                       {
+                               renderString(CssUtils.INLINE_OPEN_TAG + css + 
CssUtils.INLINE_CLOSE_TAG);
+                               markRendered(token);
+                       }
+               }
+       }
+
        /**
         * @see 
org.apache.wicket.markup.html.IHeaderResponse#renderCSSReference(org.apache.wicket.request.resource.ResourceReference)
         */

Modified: 
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/resourcedecoration/GroupingAndFilteringHeaderResponse.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/resourcedecoration/GroupingAndFilteringHeaderResponse.java?rev=1081218&r1=1081217&r2=1081218&view=diff
==============================================================================
--- 
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/resourcedecoration/GroupingAndFilteringHeaderResponse.java
 (original)
+++ 
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/resourcedecoration/GroupingAndFilteringHeaderResponse.java
 Sun Mar 13 20:47:57 2011
@@ -86,4 +86,10 @@ public class GroupingAndFilteringHeaderR
                super.close();
        }
 
+       @Override
+       public void renderCSS(CharSequence css, String id)
+       {
+               groupingHeaderResponse.renderCSS(css, id);
+       }
+
 }


Reply via email to