[richfaces-svn-commits] JBoss Rich Faces SVN: r6210 - in trunk: ui/dataTable/src/main/config/component and 7 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Wed Feb 20 09:41:57 EST 2008


Author: sergeyhalipov
Date: 2008-02-20 09:41:57 -0500 (Wed, 20 Feb 2008)
New Revision: 6210

Added:
   trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/TriangleIconBase.java
   trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/TriangleIconDown.java
   trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/TriangleIconUp.java
Removed:
   trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/html/images/OrderingListIconBase.java
   trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/html/images/OrderingListIconDown.java
   trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/html/images/OrderingListIconUp.java
Modified:
   trunk/ui/dataTable/src/main/config/component/column.xml
   trunk/ui/dataTable/src/main/config/component/dataGrid.xml
   trunk/ui/dataTable/src/main/config/component/dataTable.xml
   trunk/ui/dataTable/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java
   trunk/ui/dataTable/src/main/resources/org/richfaces/renderkit/html/css/table.xcss
   trunk/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconCopy.java
   trunk/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconRemove.java
   trunk/ui/listShuttle/src/test/java/org/richfaces/renderkit/ListShuttleRenderingTest.java
   trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingComponentControlsHelper.java
   trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/html/images/OrderingListIconBottom.java
   trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/html/images/OrderingListIconDownDisabled.java
   trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/html/images/OrderingListIconUpDisabled.java
   trunk/ui/orderingList/src/test/java/org/richfaces/renderkit/OrderingListRenderingTest.java
Log:
Triangle images added to sortable headers.

Added: trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/TriangleIconBase.java
===================================================================
--- trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/TriangleIconBase.java	                        (rev 0)
+++ trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/TriangleIconBase.java	2008-02-20 14:41:57 UTC (rev 6210)
@@ -0,0 +1,172 @@
+/**
+ * License Agreement.
+ *
+ *  JBoss RichFaces - 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.images;
+
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Graphics2D;
+import java.awt.RenderingHints;
+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.ajax4jsf.util.Zipper2;
+import org.richfaces.skin.Skin;
+import org.richfaces.skin.SkinFactory;
+
+/**
+ * @author Siarhej Chalipau
+ *
+ */
+public abstract class TriangleIconBase extends Java2Dresource {
+	
+	private static final Dimension DIMENSION = new Dimension(15, 15);
+	
+	protected static final String ICON_COLOR = "generalTextColor";
+	protected static final String BACKGROUND_COLOR = "tabBackgroundColor";
+	protected static final String BORDER_COLOR = "generalBackgroundColor";
+	
+	protected static final String DISABLED_ICON_COLOR = "tabDisabledTextColor";
+	protected static final String DISABLED_BACKGROUND_COLOR = "tabBackgroundColor";
+	protected static final String DISABLED_BORDER_COLOR = "generalBackgroundColor";
+	
+	public TriangleIconBase() {
+		setRenderer(new GifRenderer());
+		setLastModified(new Date(InternetResourceBuilder.getInstance().getStartTime()));
+	}
+	
+	abstract protected void paintImage(ResourceContext context, Graphics2D g2d, Color textColor, Color borderColor);
+	
+	protected void paintBaseTriangle(Graphics2D g2d) {
+		for (int i = 0; i < 7; i++) {
+			g2d.drawLine(-3 + i, 1, -3 + i, 1 + (i < 4 ? i : 6 - i));
+		}
+	}
+	
+	protected void paint(ResourceContext context, Graphics2D g2d) {
+		
+		Color [] data = (Color[]) restoreData(context);
+		Color textColor = data[0];
+		Color backgroundColor = data[1];
+		Color borderColor = data[2];
+		
+		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF);
+		g2d.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_NORMALIZE);
+		g2d.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
+		g2d.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_DISABLE);
+		g2d.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY);
+		g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC);
+		g2d.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
+//		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF);
+//		g2d.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_DISABLE);
+//		g2d.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
+
+		/*Dimension dim = getDimensions(context);
+		g2d.setColor(backgroundColor);
+		g2d.fillRect(0, 0, dim.width, dim.height);*/
+		
+		if (textColor != null && backgroundColor != null && g2d != null) {
+			paintImage(context, g2d, textColor, borderColor);
+		}
+		
+	}
+	
+	public Dimension getDimensions(FacesContext facesContext, Object data) {
+		return DIMENSION;
+	}
+	protected Dimension getDimensions(ResourceContext resourceContext) {
+		return DIMENSION;
+	}
+	
+	/**
+	 * @param data - pass icon color and background color
+	 */
+	protected Object getDataToStore(FacesContext context, Object data) {
+		return storeData(context, ICON_COLOR, BACKGROUND_COLOR, BORDER_COLOR);
+	}
+		
+	protected Object storeData(FacesContext context, String colorSkinParam, String backgroundSkinParam, String borderSkinParam) {
+		Skin skin = SkinFactory.getInstance().getSkin(context);
+		Skin defaultSkin = SkinFactory.getInstance().getDefaultSkin(context);
+		
+		byte [] ret = new byte[9];
+		
+		Color color = null;
+		Zipper2 zipper = new Zipper2(ret);
+		
+		String color1 = (String) skin.getParameter(context, colorSkinParam);
+		if (null == color1 || "".equals(color1))
+			color1 = (String) defaultSkin.getParameter(context, colorSkinParam);
+		
+		if (color1 == null) {
+			color1 = "#FFFFFF";
+		}
+		
+		color = HtmlColor.decode(color1);
+		
+		zipper.addColor(color);
+		
+		String color2 = (String) skin.getParameter(context, backgroundSkinParam);
+		if (null == color2 || "".equals(color2))
+			color2 = (String) defaultSkin.getParameter(context, backgroundSkinParam);
+		
+		if (color2 == null) {
+			color2 = "#000000";
+		}
+		
+		color = HtmlColor.decode(color2);
+		zipper.addColor(color);
+		
+		String color3 = (String) skin.getParameter(context, borderSkinParam);
+		if (null == color3 || "".equals(color3))
+			color3 = (String) defaultSkin.getParameter(context, backgroundSkinParam);
+		
+		if (color3 == null) {
+			color3 = "#000000";
+		}
+		
+		color = HtmlColor.decode(color3);
+		zipper.addColor(color);
+		
+		return ret;
+	}
+	
+	protected Object deserializeData(byte[] objectArray) {
+		if (objectArray == null) {
+			return null;
+		}
+		
+		Zipper2 zipper = new Zipper2(objectArray);
+		
+		return new Color[] {zipper.nextColor(), zipper.nextColor(), zipper.nextColor()};
+	}
+	
+	public boolean isCacheable() {
+		return true;
+	}
+
+}

Added: trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/TriangleIconDown.java
===================================================================
--- trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/TriangleIconDown.java	                        (rev 0)
+++ trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/TriangleIconDown.java	2008-02-20 14:41:57 UTC (rev 6210)
@@ -0,0 +1,49 @@
+/**
+ * License Agreement.
+ *
+ *  JBoss RichFaces - 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.images;
+
+import java.awt.Color;
+import java.awt.Graphics2D;
+
+import org.ajax4jsf.resource.ResourceContext;
+
+/**
+ * @author Siarhej Chalipau
+ *
+ */
+public class TriangleIconDown extends TriangleIconBase {
+
+	protected void paintImage(ResourceContext context, Graphics2D g2d,
+			Color textColor, Color borderColor) {
+		
+		g2d.setColor(textColor);
+		g2d.translate(7, 5);
+		paintBaseTriangle(g2d);
+		g2d.translate(-7, -5);
+
+		g2d.setColor(borderColor);
+		g2d.drawLine(4, 5, 10, 5);
+		g2d.drawLine(11, 6, 7, 10);
+		g2d.drawLine(7, 10, 3, 6);
+	}
+
+}

Added: trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/TriangleIconUp.java
===================================================================
--- trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/TriangleIconUp.java	                        (rev 0)
+++ trunk/framework/impl/src/main/java/org/richfaces/renderkit/html/images/TriangleIconUp.java	2008-02-20 14:41:57 UTC (rev 6210)
@@ -0,0 +1,44 @@
+/**
+ * License Agreement.
+ *
+ *  JBoss RichFaces - 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.images;
+
+import java.awt.Color;
+import java.awt.Graphics2D;
+
+import org.ajax4jsf.resource.ResourceContext;
+
+/**
+ * @author Siarhej Chalipau
+ *
+ */
+public class TriangleIconUp extends TriangleIconDown {
+
+	protected void paintImage(ResourceContext context, Graphics2D g2d,
+			Color textColor, Color borderColor) {
+		
+		g2d.translate(0, 14);
+		g2d.scale(1, -1);
+		
+		super.paintImage(context, g2d, textColor, borderColor);
+	}
+
+}

Modified: trunk/ui/dataTable/src/main/config/component/column.xml
===================================================================
--- trunk/ui/dataTable/src/main/config/component/column.xml	2008-02-20 14:28:14 UTC (rev 6209)
+++ trunk/ui/dataTable/src/main/config/component/column.xml	2008-02-20 14:41:57 UTC (rev 6210)
@@ -51,12 +51,14 @@
 		<property>
 			<name>headerClass</name>
 			<classname>java.lang.String</classname>
-			<description>Space-separated list of CSS style class(es) that are be applied to any header generated for this table</description>
+			<description>Space-separated list of CSS style class(es) that are be applied to any header generated for this table</description>
+			<defaultvalue>""</defaultvalue>
 		</property>
 		<property>
 			<name>footerClass</name>
 			<classname>java.lang.String</classname>
-			<description>Space-separated list of CSS style class(es) that are be applied to any footer generated for this table</description>
+			<description>Space-separated list of CSS style class(es) that are be applied to any footer generated for this table</description>
+			<defaultvalue>""</defaultvalue>
 		</property>
 		<property>
 			<name>width</name>

Modified: trunk/ui/dataTable/src/main/config/component/dataGrid.xml
===================================================================
--- trunk/ui/dataTable/src/main/config/component/dataGrid.xml	2008-02-20 14:28:14 UTC (rev 6209)
+++ trunk/ui/dataTable/src/main/config/component/dataGrid.xml	2008-02-20 14:41:57 UTC (rev 6210)
@@ -75,7 +75,8 @@
 		<property>
 			<name>captionClass</name>
 			<classname>java.lang.String</classname>
-			<description>Space-separated list of CSS style class(es) that are be applied to caption for this component</description>
+			<description>Space-separated list of CSS style class(es) that are be applied to caption for this component</description>
+			<defaultvalue>""</defaultvalue>
 		</property>
 		<property>
 			<name>captionStyle</name>
@@ -86,13 +87,15 @@
 			<name>headerClass</name>
 			<classname>java.lang.String</classname>
 			<description>Space-separated list of CSS style class(es) that are be applied to header for this component
-			</description>
+			</description>
+			<defaultvalue>""</defaultvalue>
 		</property>
 		<property>
 			<name>footerClass</name>
 			<classname>java.lang.String</classname>
 			<description>Space-separated list of CSS style class(es) that are be applied to footer for this component
-			</description>
+			</description>
+			<defaultvalue>""</defaultvalue>
 		</property>
 		<!--
 		<property>

Modified: trunk/ui/dataTable/src/main/config/component/dataTable.xml
===================================================================
--- trunk/ui/dataTable/src/main/config/component/dataTable.xml	2008-02-20 14:28:14 UTC (rev 6209)
+++ trunk/ui/dataTable/src/main/config/component/dataTable.xml	2008-02-20 14:41:57 UTC (rev 6210)
@@ -78,7 +78,8 @@
 		<property>
 			<name>captionClass</name>
 			<classname>java.lang.String</classname>
-			<description>Space-separated list of CSS style class(es) that are be applied to caption for this component</description>
+			<description>Space-separated list of CSS style class(es) that are be applied to caption for this component</description>
+			<defaultvalue>""</defaultvalue>
 		</property>
 		<property>
 			<name>captionStyle</name>
@@ -89,13 +90,15 @@
 			<name>headerClass</name>
 			<classname>java.lang.String</classname>
 			<description>Space-separated list of CSS style class(es) that are be applied to header for this component
-			</description>
+			</description>
+			<defaultvalue>""</defaultvalue>
 		</property>
 		<property>
 			<name>footerClass</name>
 			<classname>java.lang.String</classname>
 			<description>Space-separated list of CSS style class(es) that are be applied to footer for this component
-			</description>
+			</description>
+			<defaultvalue>""</defaultvalue>
 		</property>
 	
 		<property>

Modified: trunk/ui/dataTable/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java
===================================================================
--- trunk/ui/dataTable/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java	2008-02-20 14:28:14 UTC (rev 6209)
+++ trunk/ui/dataTable/src/main/java/org/richfaces/renderkit/AbstractTableRenderer.java	2008-02-20 14:41:57 UTC (rev 6210)
@@ -144,7 +144,8 @@
 			ResponseWriter writer, Iterator headers, String skinCellClass,
 			String headerClass, String facetName, String element, int colCount)
 			throws IOException {
-			int t_colCount = 0; 
+		int t_colCount = 0;
+		String spacerUrl = getResource("/org/richfaces/renderkit/html/images/spacer.gif").getUri(context, null);
 		while (headers.hasNext()) {
 			UIComponent column = (UIComponent) headers.next();
 			if((Integer)column.getAttributes().get("colspan")!=null){
@@ -159,6 +160,18 @@
 			String classAttribute = facetName + "Class";
 			String columnHeaderClass = (String) column.getAttributes().get(
 					classAttribute);
+			if (column instanceof org.richfaces.component.UIColumn && 
+					(column.getValueExpression("comparator") != null
+						|| column.getValueExpression("sortExpression") != null)) {
+				org.richfaces.component.UIColumn col = 
+					(org.richfaces.component.UIColumn) column;
+				columnHeaderClass = "dr-table-sortable-header " + columnHeaderClass;
+				if (Ordering.ASCENDING.equals(col.getSortOrder())) {
+					columnHeaderClass = "dr-table-header-sort-up " + columnHeaderClass;
+				} else if (Ordering.DESCENDING.equals(col.getSortOrder())) {
+					columnHeaderClass = "dr-table-header-sort-down " + columnHeaderClass;
+				}
+			}
 			
 			writer.startElement(element, column);
 			encodeStyleClass(writer, null, skinCellClass, headerClass,
@@ -191,13 +204,6 @@
 						writer.writeAttribute(HTML.onclick_ATTRIBUTE, buffer
 								.toString(), null);
 					}
-					if (Ordering.ASCENDING.equals(col.getSortOrder())) {
-						writer.writeAttribute(HTML.style_ATTRIBUTE,
-								"background-color: red", null);
-					} else if (Ordering.DESCENDING.equals(col.getSortOrder())) {
-						writer.writeAttribute(HTML.style_ATTRIBUTE,
-								"background-color: green", null);
-					}
 				}
 			}
 
@@ -205,27 +211,39 @@
 			if (facet != null) {
 				renderChild(context, facet);
 			}
-			if (column instanceof org.richfaces.component.UIColumn
-					&& ((org.richfaces.component.UIColumn)column).getFilterMethod() == null
-					&& column.getValueExpression("filterExpression") == null
-					&& column.getValueExpression("filterBy") != null) {
-				UIComponent table = column.getParent();
-				String id = table.getClientId(context);
-				JSFunction ajaxFunction = AjaxRendererUtils.buildAjaxFunction(table, context);
-				Map eventOptions = AjaxRendererUtils.buildEventOptions(context, table);
-				Map parameters = (Map) eventOptions.get("parameters");
-				parameters.put(id, SORT_FILTER_PARAMETER);
-				ajaxFunction.addParameter(eventOptions);
-				StringBuffer buffer = new StringBuffer();
-				ajaxFunction.appendScript(buffer);
-				writer.startElement(HTML.INPUT_ELEM, column);
-				writer.writeAttribute(HTML.TYPE_ATTR, "text", null);
-				writer.writeAttribute(HTML.NAME_ATTRIBUTE, column.getClientId(context) + SORT_FILTER_PARAMETER, null);
-				writer.writeAttribute(HTML.value_ATTRIBUTE, column.getAttributes().get("filterValue"), null);
-				writer.writeAttribute(HTML.onchange_ATTRIBUTE, buffer.toString(), null);
-				writer.endElement(HTML.INPUT_ELEM);				
-			}
-			
+			if (column instanceof org.richfaces.component.UIColumn) {
+				if (column.getValueExpression("comparator") != null
+						|| column.getValueExpression("sortExpression") != null) {
+					org.richfaces.component.UIColumn col = 
+						(org.richfaces.component.UIColumn) column;
+					if (Ordering.ASCENDING.equals(col.getSortOrder()) ||
+							Ordering.DESCENDING.equals(col.getSortOrder())) {
+						writer.startElement(HTML.IMG_ELEMENT, column);
+						writer.writeAttribute(HTML.src_ATTRIBUTE, spacerUrl, null);
+						writer.writeAttribute(HTML.width_ATTRIBUTE, "16", null);
+						writer.endElement(HTML.IMG_ELEMENT);
+					}
+				}
+				if (((org.richfaces.component.UIColumn)column).getFilterMethod() == null
+						&& column.getValueExpression("filterExpression") == null
+						&& column.getValueExpression("filterBy") != null) {
+					UIComponent table = column.getParent();
+					String id = table.getClientId(context);
+					JSFunction ajaxFunction = AjaxRendererUtils.buildAjaxFunction(table, context);
+					Map eventOptions = AjaxRendererUtils.buildEventOptions(context, table);
+					Map parameters = (Map) eventOptions.get("parameters");
+					parameters.put(id, SORT_FILTER_PARAMETER);
+					ajaxFunction.addParameter(eventOptions);
+					StringBuffer buffer = new StringBuffer();
+					ajaxFunction.appendScript(buffer);
+					writer.startElement(HTML.INPUT_ELEM, column);
+					writer.writeAttribute(HTML.TYPE_ATTR, "text", null);
+					writer.writeAttribute(HTML.NAME_ATTRIBUTE, column.getClientId(context) + SORT_FILTER_PARAMETER, null);
+					writer.writeAttribute(HTML.value_ATTRIBUTE, column.getAttributes().get("filterValue"), null);
+					writer.writeAttribute(HTML.onchange_ATTRIBUTE, buffer.toString(), null);
+					writer.endElement(HTML.INPUT_ELEM);				
+				}
+		}
 			writer.endElement(element);
 			
 

Modified: trunk/ui/dataTable/src/main/resources/org/richfaces/renderkit/html/css/table.xcss
===================================================================
--- trunk/ui/dataTable/src/main/resources/org/richfaces/renderkit/html/css/table.xcss	2008-02-20 14:28:14 UTC (rev 6209)
+++ trunk/ui/dataTable/src/main/resources/org/richfaces/renderkit/html/css/table.xcss	2008-02-20 14:41:57 UTC (rev 6210)
@@ -97,6 +97,27 @@
 	<u:style name="font-family" skin="generalFamilyFont"/> <!--generalFamilyFont-->
 </u:selector>
 
+<f:verbatim>
+	.dr-table-sortable-header {
+		background-position: right;
+		background-repeat: no-repeat;
+		cursor : pointer;
+		white-space : nowrap;
+	}
+</f:verbatim>
+
+<u:selector name=".dr-table-header-sort-down" >
+	<u:style name="background-image">
+		<f:resource f:key="org.richfaces.renderkit.html.images.TriangleIconDown"/>
+	</u:style>
+</u:selector>
+
+<u:selector name=".dr-table-header-sort-up" >
+	<u:style name="background-image">
+		<f:resource f:key="org.richfaces.renderkit.html.images.TriangleIconUp"/>
+	</u:style>
+</u:selector>
+
 <u:selector name=".dr-table-footer" >
 	<u:style name="background-color" skin="tableFooterBackgroundColor"/> <!--tableFooterBackgroundColor-->
 </u:selector>

Modified: trunk/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconCopy.java
===================================================================
--- trunk/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconCopy.java	2008-02-20 14:28:14 UTC (rev 6209)
+++ trunk/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconCopy.java	2008-02-20 14:41:57 UTC (rev 6210)
@@ -6,7 +6,7 @@
 import org.ajax4jsf.resource.ResourceContext;
 
 
-public class ListShuttleIconCopy extends OrderingListIconUp {
+public class ListShuttleIconCopy extends TriangleIconUp {
 	protected void paintImage(ResourceContext context, Graphics2D g2d,
 			Color textColor, Color borderColor) {
 

Modified: trunk/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconRemove.java
===================================================================
--- trunk/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconRemove.java	2008-02-20 14:28:14 UTC (rev 6209)
+++ trunk/ui/listShuttle/src/main/java/org/richfaces/renderkit/html/images/ListShuttleIconRemove.java	2008-02-20 14:41:57 UTC (rev 6210)
@@ -5,7 +5,7 @@
 
 import org.ajax4jsf.resource.ResourceContext;
 
-public class ListShuttleIconRemove extends OrderingListIconDown {
+public class ListShuttleIconRemove extends TriangleIconDown {
 	protected void paintImage(ResourceContext context, Graphics2D g2d,
 			Color textColor, Color borderColor) {
 

Modified: trunk/ui/listShuttle/src/test/java/org/richfaces/renderkit/ListShuttleRenderingTest.java
===================================================================
--- trunk/ui/listShuttle/src/test/java/org/richfaces/renderkit/ListShuttleRenderingTest.java	2008-02-20 14:28:14 UTC (rev 6209)
+++ trunk/ui/listShuttle/src/test/java/org/richfaces/renderkit/ListShuttleRenderingTest.java	2008-02-20 14:41:57 UTC (rev 6210)
@@ -70,8 +70,8 @@
 		javaScripts.add("scripts/ListShuttle.js");
 		javaScripts.add("scripts/ListBase.js");
 		
-		imageClasses.add("org.richfaces.renderkit.html.images.OrderingListIconUp");
-		imageClasses.add("org.richfaces.renderkit.html.images.OrderingListIconDown");
+		imageClasses.add("org.richfaces.renderkit.html.images.TriangleIconUp");
+		imageClasses.add("org.richfaces.renderkit.html.images.TriangleIconDown");
 		imageClasses.add("org.richfaces.renderkit.html.images.OrderingListIconTop");
 		imageClasses.add("org.richfaces.renderkit.html.images.OrderingListIconBottom");
 		imageClasses.add("org.richfaces.renderkit.html.images.OrderingListIconUpDisabled");

Modified: trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingComponentControlsHelper.java
===================================================================
--- trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingComponentControlsHelper.java	2008-02-20 14:28:14 UTC (rev 6209)
+++ trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingComponentControlsHelper.java	2008-02-20 14:41:57 UTC (rev 6210)
@@ -6,11 +6,11 @@
 import org.richfaces.component.UIOrderingList;
 import org.richfaces.renderkit.html.images.OrderingListIconBottom;
 import org.richfaces.renderkit.html.images.OrderingListIconBottomDisabled;
-import org.richfaces.renderkit.html.images.OrderingListIconDown;
+import org.richfaces.renderkit.html.images.TriangleIconDown;
 import org.richfaces.renderkit.html.images.OrderingListIconDownDisabled;
 import org.richfaces.renderkit.html.images.OrderingListIconTop;
 import org.richfaces.renderkit.html.images.OrderingListIconTopDisabled;
-import org.richfaces.renderkit.html.images.OrderingListIconUp;
+import org.richfaces.renderkit.html.images.TriangleIconUp;
 import org.richfaces.renderkit.html.images.OrderingListIconUpDisabled;
 
 public class OrderingComponentControlsHelper {
@@ -93,7 +93,7 @@
 			}
 			
 		},
-		new OrderingComponentRendererBase.ControlsHelper("up", "RICH_SHUTTLES_UP_LABEL", DEFAULT_LABEL_UP, OrderingListIconUp.class.getName(), FACET_UP,
+		new OrderingComponentRendererBase.ControlsHelper("up", "RICH_SHUTTLES_UP_LABEL", DEFAULT_LABEL_UP, TriangleIconUp.class.getName(), FACET_UP,
 						   "-up", ATTRIBUTE_CLASS_UP_CONTROL, "", 
 						   CONTROL_ID_UP, ATTRIBUTE_CE_ONUPCLICK ,true, "up".concat(CONTROL_LABEL_ATTRIBUTE_SUFFIX)) {
 
@@ -111,7 +111,7 @@
 			}
 			
 		},
-		new OrderingComponentRendererBase.ControlsHelper("down", "RICH_SHUTTLES_DOWN_LABEL", DEFAULT_LABEL_DOWN, OrderingListIconDown.class.getName(), FACET_DOWN,
+		new OrderingComponentRendererBase.ControlsHelper("down", "RICH_SHUTTLES_DOWN_LABEL", DEFAULT_LABEL_DOWN, TriangleIconDown.class.getName(), FACET_DOWN,
 						   "-down", ATTRIBUTE_CLASS_DOWN_CONTROL, "",
 						   CONTROL_ID_DOWN, ATTRIBUTE_CE_ONDOWNCLICK, true, "down".concat(CONTROL_LABEL_ATTRIBUTE_SUFFIX)) {
 

Deleted: trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/html/images/OrderingListIconBase.java
===================================================================
--- trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/html/images/OrderingListIconBase.java	2008-02-20 14:28:14 UTC (rev 6209)
+++ trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/html/images/OrderingListIconBase.java	2008-02-20 14:41:57 UTC (rev 6210)
@@ -1,172 +0,0 @@
-/**
- * License Agreement.
- *
- *  JBoss RichFaces - 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.images;
-
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.Graphics2D;
-import java.awt.RenderingHints;
-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.ajax4jsf.util.Zipper2;
-import org.richfaces.skin.Skin;
-import org.richfaces.skin.SkinFactory;
-
-/**
- * @author Siarhej Chalipau
- *
- */
-public abstract class OrderingListIconBase extends Java2Dresource {
-	
-	private static final Dimension DIMENSION = new Dimension(15, 15);
-	
-	protected static final String ICON_COLOR = "generalTextColor";
-	protected static final String BACKGROUND_COLOR = "tabBackgroundColor";
-	protected static final String BORDER_COLOR = "generalBackgroundColor";
-	
-	protected static final String DISABLED_ICON_COLOR = "tabDisabledTextColor";
-	protected static final String DISABLED_BACKGROUND_COLOR = "tabBackgroundColor";
-	protected static final String DISABLED_BORDER_COLOR = "generalBackgroundColor";
-	
-	public OrderingListIconBase() {
-		setRenderer(new GifRenderer());
-		setLastModified(new Date(InternetResourceBuilder.getInstance().getStartTime()));
-	}
-	
-	abstract protected void paintImage(ResourceContext context, Graphics2D g2d, Color textColor, Color borderColor);
-	
-	protected void paintBaseTriangle(Graphics2D g2d) {
-		for (int i = 0; i < 7; i++) {
-			g2d.drawLine(-3 + i, 1, -3 + i, 1 + (i < 4 ? i : 6 - i));
-		}
-	}
-	
-	protected void paint(ResourceContext context, Graphics2D g2d) {
-		
-		Color [] data = (Color[]) restoreData(context);
-		Color textColor = data[0];
-		Color backgroundColor = data[1];
-		Color borderColor = data[2];
-		
-		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF);
-		g2d.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_NORMALIZE);
-		g2d.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
-		g2d.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_DISABLE);
-		g2d.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY);
-		g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC);
-		g2d.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
-//		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF);
-//		g2d.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_DISABLE);
-//		g2d.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
-
-		/*Dimension dim = getDimensions(context);
-		g2d.setColor(backgroundColor);
-		g2d.fillRect(0, 0, dim.width, dim.height);*/
-		
-		if (textColor != null && backgroundColor != null && g2d != null) {
-			paintImage(context, g2d, textColor, borderColor);
-		}
-		
-	}
-	
-	public Dimension getDimensions(FacesContext facesContext, Object data) {
-		return DIMENSION;
-	}
-	protected Dimension getDimensions(ResourceContext resourceContext) {
-		return DIMENSION;
-	}
-	
-	/**
-	 * @param data - pass icon color and background color
-	 */
-	protected Object getDataToStore(FacesContext context, Object data) {
-		return storeData(context, ICON_COLOR, BACKGROUND_COLOR, BORDER_COLOR);
-	}
-		
-	protected Object storeData(FacesContext context, String colorSkinParam, String backgroundSkinParam, String borderSkinParam) {
-		Skin skin = SkinFactory.getInstance().getSkin(context);
-		Skin defaultSkin = SkinFactory.getInstance().getDefaultSkin(context);
-		
-		byte [] ret = new byte[9];
-		
-		Color color = null;
-		Zipper2 zipper = new Zipper2(ret);
-		
-		String color1 = (String) skin.getParameter(context, colorSkinParam);
-		if (null == color1 || "".equals(color1))
-			color1 = (String) defaultSkin.getParameter(context, colorSkinParam);
-		
-		if (color1 == null) {
-			color1 = "#FFFFFF";
-		}
-		
-		color = HtmlColor.decode(color1);
-		
-		zipper.addColor(color);
-		
-		String color2 = (String) skin.getParameter(context, backgroundSkinParam);
-		if (null == color2 || "".equals(color2))
-			color2 = (String) defaultSkin.getParameter(context, backgroundSkinParam);
-		
-		if (color2 == null) {
-			color2 = "#000000";
-		}
-		
-		color = HtmlColor.decode(color2);
-		zipper.addColor(color);
-		
-		String color3 = (String) skin.getParameter(context, borderSkinParam);
-		if (null == color3 || "".equals(color3))
-			color3 = (String) defaultSkin.getParameter(context, backgroundSkinParam);
-		
-		if (color3 == null) {
-			color3 = "#000000";
-		}
-		
-		color = HtmlColor.decode(color3);
-		zipper.addColor(color);
-		
-		return ret;
-	}
-	
-	protected Object deserializeData(byte[] objectArray) {
-		if (objectArray == null) {
-			return null;
-		}
-		
-		Zipper2 zipper = new Zipper2(objectArray);
-		
-		return new Color[] {zipper.nextColor(), zipper.nextColor(), zipper.nextColor()};
-	}
-	
-	public boolean isCacheable() {
-		return true;
-	}
-
-}

Modified: trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/html/images/OrderingListIconBottom.java
===================================================================
--- trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/html/images/OrderingListIconBottom.java	2008-02-20 14:28:14 UTC (rev 6209)
+++ trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/html/images/OrderingListIconBottom.java	2008-02-20 14:41:57 UTC (rev 6210)
@@ -30,7 +30,7 @@
  * @author Siarhej Chalipau
  *
  */
-public class OrderingListIconBottom extends OrderingListIconBase {
+public class OrderingListIconBottom extends TriangleIconBase {
 
 	protected void paintImage(ResourceContext context, Graphics2D g2d,
 			Color textColor, Color borderColor) {

Deleted: trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/html/images/OrderingListIconDown.java
===================================================================
--- trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/html/images/OrderingListIconDown.java	2008-02-20 14:28:14 UTC (rev 6209)
+++ trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/html/images/OrderingListIconDown.java	2008-02-20 14:41:57 UTC (rev 6210)
@@ -1,49 +0,0 @@
-/**
- * License Agreement.
- *
- *  JBoss RichFaces - 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.images;
-
-import java.awt.Color;
-import java.awt.Graphics2D;
-
-import org.ajax4jsf.resource.ResourceContext;
-
-/**
- * @author Siarhej Chalipau
- *
- */
-public class OrderingListIconDown extends OrderingListIconBase {
-
-	protected void paintImage(ResourceContext context, Graphics2D g2d,
-			Color textColor, Color borderColor) {
-		
-		g2d.setColor(textColor);
-		g2d.translate(7, 5);
-		paintBaseTriangle(g2d);
-		g2d.translate(-7, -5);
-
-		g2d.setColor(borderColor);
-		g2d.drawLine(4, 5, 10, 5);
-		g2d.drawLine(11, 6, 7, 10);
-		g2d.drawLine(7, 10, 3, 6);
-	}
-
-}

Modified: trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/html/images/OrderingListIconDownDisabled.java
===================================================================
--- trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/html/images/OrderingListIconDownDisabled.java	2008-02-20 14:28:14 UTC (rev 6209)
+++ trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/html/images/OrderingListIconDownDisabled.java	2008-02-20 14:41:57 UTC (rev 6210)
@@ -27,7 +27,7 @@
  * @author Siarhej Chalipau
  *
  */
-public class OrderingListIconDownDisabled extends OrderingListIconDown {
+public class OrderingListIconDownDisabled extends TriangleIconDown {
 	protected Object getDataToStore(FacesContext context, Object data) {
 		return storeData(context, DISABLED_ICON_COLOR, DISABLED_BACKGROUND_COLOR, DISABLED_BORDER_COLOR);
 	}

Deleted: trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/html/images/OrderingListIconUp.java
===================================================================
--- trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/html/images/OrderingListIconUp.java	2008-02-20 14:28:14 UTC (rev 6209)
+++ trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/html/images/OrderingListIconUp.java	2008-02-20 14:41:57 UTC (rev 6210)
@@ -1,44 +0,0 @@
-/**
- * License Agreement.
- *
- *  JBoss RichFaces - 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.images;
-
-import java.awt.Color;
-import java.awt.Graphics2D;
-
-import org.ajax4jsf.resource.ResourceContext;
-
-/**
- * @author Siarhej Chalipau
- *
- */
-public class OrderingListIconUp extends OrderingListIconDown {
-
-	protected void paintImage(ResourceContext context, Graphics2D g2d,
-			Color textColor, Color borderColor) {
-		
-		g2d.translate(0, 14);
-		g2d.scale(1, -1);
-		
-		super.paintImage(context, g2d, textColor, borderColor);
-	}
-
-}

Modified: trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/html/images/OrderingListIconUpDisabled.java
===================================================================
--- trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/html/images/OrderingListIconUpDisabled.java	2008-02-20 14:28:14 UTC (rev 6209)
+++ trunk/ui/orderingList/src/main/java/org/richfaces/renderkit/html/images/OrderingListIconUpDisabled.java	2008-02-20 14:41:57 UTC (rev 6210)
@@ -27,7 +27,7 @@
  * @author Siarhej Chalipau
  *
  */
-public class OrderingListIconUpDisabled extends OrderingListIconUp {
+public class OrderingListIconUpDisabled extends TriangleIconUp {
 	protected Object getDataToStore(FacesContext context, Object data) {
 		return storeData(context, DISABLED_ICON_COLOR, DISABLED_BACKGROUND_COLOR, DISABLED_BORDER_COLOR);
 	}

Modified: trunk/ui/orderingList/src/test/java/org/richfaces/renderkit/OrderingListRenderingTest.java
===================================================================
--- trunk/ui/orderingList/src/test/java/org/richfaces/renderkit/OrderingListRenderingTest.java	2008-02-20 14:28:14 UTC (rev 6209)
+++ trunk/ui/orderingList/src/test/java/org/richfaces/renderkit/OrderingListRenderingTest.java	2008-02-20 14:41:57 UTC (rev 6210)
@@ -63,8 +63,8 @@
 		javaScripts.add("scripts/OrderingList.js");
 		javaScripts.add("scripts/ListBase.js");
 		
-		imageClasses.add("org.richfaces.renderkit.html.images.OrderingListIconUp");
-		imageClasses.add("org.richfaces.renderkit.html.images.OrderingListIconDown");
+		imageClasses.add("org.richfaces.renderkit.html.images.TriangleIconUp");
+		imageClasses.add("org.richfaces.renderkit.html.images.TriangleIconDown");
 		imageClasses.add("org.richfaces.renderkit.html.images.OrderingListIconTop");
 		imageClasses.add("org.richfaces.renderkit.html.images.OrderingListIconBottom");
 		imageClasses.add("org.richfaces.renderkit.html.images.OrderingListIconUpDisabled");




More information about the richfaces-svn-commits mailing list