[richfaces-svn-commits] JBoss Rich Faces SVN: r2317 - in trunk/ui: calendar/src/main/java/org/richfaces/renderkit/html and 3 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Fri Aug 17 09:18:25 EDT 2007


Author: maksimkaszynski
Date: 2007-08-17 09:18:25 -0400 (Fri, 17 Aug 2007)
New Revision: 2317

Added:
   trunk/ui/calendar/src/main/java/org/richfaces/renderkit/html/
   trunk/ui/calendar/src/main/java/org/richfaces/renderkit/html/iconimages/
   trunk/ui/calendar/src/main/java/org/richfaces/renderkit/html/iconimages/CalendarIcon.java
Modified:
   trunk/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx
   trunk/ui/scrollableDataTable/src/main/java/org/richfaces/renderkit/html/iconimages/ScrollableDataTableIconBasic.java
Log:
http://jira.jboss.com/jira/browse/RF-618

Added: trunk/ui/calendar/src/main/java/org/richfaces/renderkit/html/iconimages/CalendarIcon.java
===================================================================
--- trunk/ui/calendar/src/main/java/org/richfaces/renderkit/html/iconimages/CalendarIcon.java	                        (rev 0)
+++ trunk/ui/calendar/src/main/java/org/richfaces/renderkit/html/iconimages/CalendarIcon.java	2007-08-17 13:18:25 UTC (rev 2317)
@@ -0,0 +1,188 @@
+/**
+ * License Agreement.
+ *
+ *  JBoss RichFaces 3.0 - Ajax4jsf Component Library
+ *
+ * Copyright (C) 2007  Exadel, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1 as published by the Free Software Foundation.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
+ */
+
+package org.richfaces.renderkit.html.iconimages;
+
+import java.awt.BasicStroke;
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.GradientPaint;
+import java.awt.Graphics2D;
+import java.awt.Paint;
+import java.awt.RenderingHints;
+import java.awt.geom.Rectangle2D;
+import java.awt.geom.RoundRectangle2D;
+import java.awt.image.BufferedImage;
+import java.util.Date;
+
+import javax.faces.context.FacesContext;
+
+import org.ajax4jsf.resource.GifRenderer;
+import org.ajax4jsf.resource.InternetResourceBuilder;
+import org.ajax4jsf.resource.Java2Dresource;
+import org.ajax4jsf.resource.ResourceContext;
+import org.ajax4jsf.util.HtmlColor;
+import org.richfaces.skin.Skin;
+import org.richfaces.skin.SkinFactory;
+
+/**
+ * @author Maksim Kaszynski
+ *
+ */
+public class CalendarIcon extends Java2Dresource {
+
+	private static Dimension dimension = new Dimension(20, 20);
+	
+	/**
+	 * 
+	 */
+	public CalendarIcon() {
+		setRenderer(new GifRenderer());
+		setLastModified(new Date(InternetResourceBuilder.getInstance().getStartTime()));
+
+	}
+
+	/* (non-Javadoc)
+	 * @see org.ajax4jsf.resource.Java2Dresource#getDimensions(javax.faces.context.FacesContext, java.lang.Object)
+	 */
+	public Dimension getDimensions(FacesContext facesContext, Object data) {
+		// TODO Auto-generated method stub
+		return dimension;
+	}
+	
+	/* (non-Javadoc)
+	 * @see org.ajax4jsf.resource.Java2Dresource#getDimensions(org.ajax4jsf.resource.ResourceContext)
+	 */
+	protected Dimension getDimensions(ResourceContext resourceContext) {
+		// TODO Auto-generated method stub
+		return dimension;
+	}
+	
+	protected Object getDataToStore(FacesContext context, Object data) {
+		Skin skin = SkinFactory.getInstance().getSkin(context);
+		Skin defaultSkin = SkinFactory.getInstance().getDefaultSkin(context);
+		
+		Object [] stored = new Object[2];
+		
+		Color col = null;
+		
+		String skinParameter = "headerBackgroundColor";
+		String headerTextColor = (String) skin.getParameter(context, skinParameter);
+		if (null == headerTextColor || "".equals(headerTextColor))
+			headerTextColor = (String) defaultSkin.getParameter(context, skinParameter);
+		col = HtmlColor.decode(headerTextColor);
+		
+		stored[0] = col;
+		
+		skinParameter = "selectControlColor";
+		String headerBackgroundColor = (String) skin.getParameter(context, skinParameter);
+		if (null == headerBackgroundColor || "".equals(headerBackgroundColor))
+			headerBackgroundColor = (String) defaultSkin.getParameter(context, skinParameter);
+		col = HtmlColor.decode(headerBackgroundColor);
+		
+		stored[1] = col;
+		
+		return stored;
+	}
+	
+	
+	public void paint(ResourceContext context,  Graphics2D graphics) {
+		Object[] stored = (Object[]) restoreData(context);
+		Dimension dim = getDimensions(context);
+		BufferedImage image = new BufferedImage(16, 16, BufferedImage.TYPE_INT_ARGB);
+		
+		Graphics2D g2d = image.createGraphics();
+		
+		Color borderColor = (Color) stored[0];//new Color(((Integer) stored[0]).intValue());
+		Color activeColor = (Color) stored[1];//new Color(((Integer) stored[1]).intValue());
+
+		
+		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
+		g2d.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
+		
+		g2d.setStroke(new BasicStroke(1));
+		
+		int w = 16;
+		int h = 16;
+		
+		
+		//Draw Border
+		g2d.setColor(borderColor);
+		Rectangle2D border = new Rectangle2D.Double(1, 1, w - 3, h - 3);
+		RoundRectangle2D round = new RoundRectangle2D.Double(1, 1, w- 3, h - 3, 2, 2);
+		g2d.draw(round);
+		
+		Color lightBlue = new Color(216, 226, 240);
+		Paint gradient1 = new GradientPaint(w-4, h-4, lightBlue, 2, 2, Color.white);
+		g2d.setPaint(gradient1);
+		border = new Rectangle2D.Double(2, 2, w - 4, h - 4);
+		g2d.fill(border);
+
+		border = new Rectangle2D.Double(3, 3, w - 6, h - 6);
+		gradient1 = new GradientPaint(3, 3, lightBlue , w - 6, h - 6, borderColor);
+		g2d.setPaint(gradient1);
+		g2d.fill(border);
+
+		g2d.setColor(Color.white);
+		g2d.drawLine(3, 6, 3, 11);
+		g2d.drawLine(5, 6, 5, 11);
+		g2d.drawLine(7, 6, 7, 11);
+		g2d.drawLine(9, 6, 9, 11);
+		g2d.drawLine(11, 6, 11, 11);
+		
+		
+		
+		
+		
+		//Draw orange rectangle
+		border = new Rectangle2D.Double(3, 3, 10, 3);
+		g2d.setColor(Color.white);
+		g2d.fill(border);
+		
+		Color c = new Color(activeColor.getRed(), activeColor.getGreen(), activeColor.getBlue(), 100);
+		Color c2 = new Color(activeColor.getRed(), activeColor.getGreen(), activeColor.getBlue(), 200);
+		
+		gradient1 = new GradientPaint(12, 4, activeColor, 4, 7, c2);
+		g2d.setPaint(gradient1);
+		g2d.fill(border);
+		//g2d.setColor(activeColor);
+		
+		c = new Color(activeColor.getRed(), activeColor.getGreen(), activeColor.getBlue(), 150);
+		c2 = new Color(activeColor.getRed(), activeColor.getGreen(), activeColor.getBlue(), 200);
+		border = new Rectangle2D.Double(4, 4, 8, 1);
+		
+		g2d.setColor(Color.white);
+		g2d.fill(border);
+		
+		gradient1 = new GradientPaint(4, 4, c, 10, 4, c2);
+		//g2d.setPaint(gradient1);
+		g2d.setColor(c);
+		g2d.fill(border);
+		
+		g2d.dispose();
+		
+		graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
+		graphics.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC);
+		graphics.drawImage(image, 0, 0, dim.width, dim.height, null);
+		
+	}
+
+}

Modified: trunk/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx
===================================================================
--- trunk/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx	2007-08-17 13:13:29 UTC (rev 2316)
+++ trunk/ui/calendar/src/main/templates/org/richfaces/htmlCalendar.jspx	2007-08-17 13:18:25 UTC (rev 2317)
@@ -107,7 +107,7 @@
 				]]>
 				
 		</jsp:scriptlet>
-		
+		<f:resource	name="org.richfaces.renderkit.html.iconimages.CalendarIcon" var="icon" />
 			<span 
 			id="#{clientId}Popup"
 			> <input 
@@ -129,16 +129,17 @@
 				tabindex="#{component.attributes['tabindex']}"
 				onclick="#{onclick}">
 				 </input>
-		<button id="#{clientId}PopupButton"
+		<input id="#{clientId}PopupButton"
 				accesskey="#{component.attributes['accesskey']}"
 	 			name="#{clientId}"
-	 			onclick="$('#{clientId}').component.doExpand();"	 			
+	 			onclick="$('#{clientId}').component.doExpand();return false;"	 			
 				style="#{component.attributes['style']}"
 				tabindex="#{component.attributes['tabindex']}"
-				type="button"
-				disabled="#{component.attributes['disabled']}">
-				#{component.attributes['buttonLabel']}
-		</button>
+				type="image"
+				disabled="#{component.attributes['disabled']}"
+				src="#{icon}">
+				
+		</input>
 	</span>
 			<jsp:scriptlet>
 		<![CDATA[

Modified: trunk/ui/scrollableDataTable/src/main/java/org/richfaces/renderkit/html/iconimages/ScrollableDataTableIconBasic.java
===================================================================
--- trunk/ui/scrollableDataTable/src/main/java/org/richfaces/renderkit/html/iconimages/ScrollableDataTableIconBasic.java	2007-08-17 13:13:29 UTC (rev 2316)
+++ trunk/ui/scrollableDataTable/src/main/java/org/richfaces/renderkit/html/iconimages/ScrollableDataTableIconBasic.java	2007-08-17 13:18:25 UTC (rev 2317)
@@ -15,19 +15,19 @@
 import org.richfaces.skin.SkinFactory;
 
 public abstract class ScrollableDataTableIconBasic extends Java2Dresource {
+
+	static final Dimension dimension = new Dimension(16, 16);
 	
 	public ScrollableDataTableIconBasic() {
 		setRenderer(new GifRenderer());
 		setLastModified(new Date(InternetResourceBuilder.getInstance().getStartTime()));
 	}
-	
-	public abstract Dimension calculateDimensions();
-	
+
 	public Dimension getDimensions(FacesContext facesContext, Object data) {
-		return calculateDimensions();
+		return dimension;
 	}
 	protected Dimension getDimensions(ResourceContext resourceContext) {
-		return calculateDimensions();
+		return dimension;
 	}
 	
 	protected Object getDataToStore(FacesContext context, Object data) {
@@ -38,19 +38,15 @@
 		
 		Color col = null;
 		
-		if (data!=null){
-			col = HtmlColor.decode(data.toString());
-		} else {
-			String skinParameter = "headerTextColor";
-			String headerTextColor = (String) skin.getParameter(context, skinParameter);
-			if (null == headerTextColor || "".equals(headerTextColor))
-				headerTextColor = (String) defaultSkin.getParameter(context, skinParameter);
-			col = HtmlColor.decode(headerTextColor);
-		}
+		String skinParameter = "headerTextColor";
+		String headerTextColor = (String) skin.getParameter(context, skinParameter);
+		if (null == headerTextColor || "".equals(headerTextColor))
+			headerTextColor = (String) defaultSkin.getParameter(context, skinParameter);
+		col = HtmlColor.decode(headerTextColor);
 		
 		stored[0] = col;
 		
-		String skinParameter = "headerBackgroundColor";
+		skinParameter = "headerBackgroundColor";
 		String headerBackgroundColor = (String) skin.getParameter(context, skinParameter);
 		if (null == headerBackgroundColor || "".equals(headerBackgroundColor))
 			headerBackgroundColor = (String) defaultSkin.getParameter(context, skinParameter);




More information about the richfaces-svn-commits mailing list