[richfaces-svn-commits] JBoss Rich Faces SVN: r5121 - in trunk/sandbox/ui/pickList/src/main: java/org/richfaces/renderkit and 1 other directories.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Thu Jan 3 05:43:47 EST 2008


Author: abelevich
Date: 2008-01-03 05:43:47 -0500 (Thu, 03 Jan 2008)
New Revision: 5121

Added:
   trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/
   trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/PickListArrowImageBase.java
   trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/PickListButtonGradient.java
   trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/PickListButtonLightGradient.java
   trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/PickListButtonPressGradient.java
   trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/PickListLeftArrowImage.java
   trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/PickListRightArrowImage.java
Modified:
   trunk/sandbox/ui/pickList/src/main/config/component/picklist.xml
   trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/PickListRenderer.java
Log:
add Button Arrows, Gradient

Modified: trunk/sandbox/ui/pickList/src/main/config/component/picklist.xml
===================================================================
--- trunk/sandbox/ui/pickList/src/main/config/component/picklist.xml	2008-01-03 09:55:42 UTC (rev 5120)
+++ trunk/sandbox/ui/pickList/src/main/config/component/picklist.xml	2008-01-03 10:43:47 UTC (rev 5121)
@@ -108,14 +108,7 @@
        			<name>onStart</name>
        			<classname>java.lang.String</classname>
        		</property>
-       		
-       		<property>
-       			<name>width</name>
-       			<classname>java.lang.String</classname>
-       			<defaultvalue>"70px"</defaultvalue>
-       		</property>
-       	  		
-       		
+       	       		
        	</properties>
        
     </component>

Modified: trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/PickListRenderer.java
===================================================================
--- trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/PickListRenderer.java	2008-01-03 09:55:42 UTC (rev 5120)
+++ trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/PickListRenderer.java	2008-01-03 10:43:47 UTC (rev 5121)
@@ -36,12 +36,15 @@
 	private static final String FUNCTION_ADD_TO_SELECTED = "myfaces_picklist_addToSelected";
     private static final String FUNCTION_REMOVE_FROM_SELECTED = "myfaces_picklist_removeFromSelected";
     private final InternetResource[] scripts = {getResource("/org/richfaces/renderkit/html/scripts/picklist.js")};
-  
+    private final InternetResource[] styles = {getResource("/org/richfaces/renderkit/html/css/picklist.xcss")};
 
     protected InternetResource[] getScripts() {
     	return scripts;
     }
     
+    protected InternetResource[] getStyles() {
+       	return styles;
+    }
     protected List selectItemsForSelectedList(FacesContext facesContext,UIComponent uiComponent, List selectItemList, Converter converter, Set lookupSet) {
 		List selectItemForSelectedValues = new ArrayList(lookupSet.size());
 		for (Iterator i = selectItemList.iterator(); i.hasNext();) {
@@ -136,7 +139,7 @@
 		 writer.startElement("table", picklist);
 		 writer.startElement(HTML.TR_ELEMENT, picklist);
 		 writer.startElement(HTML.td_ELEM, picklist);
-		 
+		 	 
 		 encodeSelect(context, picklist, availableListClientId, picklist.isDisabled(), picklist.getSize(), selectItemsForAvailableList, converter, writer);
 
 		 writer.endElement(HTML.td_ELEM);
@@ -151,20 +154,19 @@
 		                                       + "('" + availableListClientId + "','" + selectedListClientId
 		                                       + "','" + hiddenFieldCliendId + "')";
 
-		 encodeSwapButton(context, picklist, javascriptAddToSelected,">",writer);
+		 encodeSwapButton(context, picklist, javascriptAddToSelected,true,writer);
 
 		 writer.startElement("br", picklist);
 		 writer.endElement("br");
 
-		 encodeSwapButton(context, picklist, javascriptRemoveFromSelected, "<", writer);
+		 encodeSwapButton(context, picklist, javascriptRemoveFromSelected, false, writer);
 
 		 writer.endElement(HTML.td_ELEM);
 
 		 // encode selected list
 		 writer.startElement(HTML.td_ELEM, picklist);
-
 		 encodeSelect(context, picklist, selectedListClientId, picklist.isDisabled(), picklist.getSize(),
-		                                     selectItemsForSelectedValues, converter, writer);
+		           selectItemsForSelectedValues, converter, writer);
 
 		 // hidden field with the selected values
 		 encodeHiddenField(context, picklist, hiddenFieldCliendId, lookupSet,writer);
@@ -181,11 +183,12 @@
 		writer.writeAttribute("id", clientId, "id");
 		writer.writeAttribute("name", clientId, null);
 		writer.writeAttribute("multiple", "true", null);
-		String width = (String) component.getAttributes().get("width");
-		if(width != null) {
-			writer.writeAttribute("style", "width: " + width + ";", null);
-		}	
-		
+		writer.writeAttribute("class", "rich-pick-list rich-pick-list-outputlist", null);
+	    String outputStyle = (String)component.getAttributes().get("outputStyle");
+		String outputStyleClass = (String)component.getAttributes().get("outputStyleClass");
+		writer.writeAttribute(HTML.style_ATTRIBUTE, outputStyle, null);
+		writer.writeAttribute(HTML.STYLE_CLASS_ATTR, outputStyleClass, null);
+
 		if (size == 0) {
 			writer.writeAttribute("size", Integer.toString(selectItemsToDisplay.size()), null);
 		} else {
@@ -256,17 +259,42 @@
 		}
 	}
 	
-	 private void encodeSwapButton(FacesContext facesContext, UIComponent uiComponent, String javaScriptFunction, 
-			 	  String text,ResponseWriter writer) throws IOException {
+	 private void encodeSwapButton(FacesContext context, UIComponent component, String javaScriptFunction, 
+			 	  boolean isRight,ResponseWriter writer) throws IOException {
 
-		writer.startElement(HTML.INPUT_ELEM, uiComponent);
-		writer.writeAttribute(HTML.TYPE_ATTR,"button","type");
-		writer.writeAttribute(HTML.onclick_ATTRIBUTE, javaScriptFunction, null);
-		writer.writeAttribute(HTML.value_ATTRIBUTE, text, null);
-		writer.endElement(HTML.INPUT_ELEM);
+		writer.startElement(HTML.BUTTON, component);
+		String buttonStyle = (String)component.getAttributes().get("buttonStyle");
+		String buttonStyleClass = (String)component.getAttributes().get("buttonStyleClass");
+
+		writer.writeAttribute(HTML.class_ATTRIBUTE, "rich-pick-button" , null);
+		writer.writeAttribute(HTML.style_ATTRIBUTE, buttonStyle, null);
+		writer.writeAttribute(HTML.STYLE_CLASS_ATTR, buttonStyleClass, null);
+				
+		writer.writeAttribute("onmouseout", "this.className='rich-pick-button'", null);
+		writer.writeAttribute("onmouseup", "this.className='rich-pick-button'", null);
+		writer.writeAttribute("onmousedown", "this.className='rich-pick-button-press'", null);
+		writer.writeAttribute("onmouseover", "this.className='rich-pick-button-light'", null);
+		
+		writer.writeAttribute(HTML.onclick_ATTRIBUTE, javaScriptFunction + "; return false;", null);
+		writer.startElement(HTML.IMG_ELEMENT, component);
+		String arrowURI = null;
+		
+		if(isRight) {
+			arrowURI = getResource("org.richfaces.renderkit.images.PickListRightArrowImage").getUri(context, component);
+		}	else {
+			arrowURI = getResource("org.richfaces.renderkit.images.PickListLeftArrowImage").getUri(context, component);
+		}
+		
+		writer.writeAttribute(HTML.src_ATTRIBUTE, arrowURI, null);
+		writer.writeAttribute(HTML.width_ATTRIBUTE, "15", null);
+		writer.writeAttribute(HTML.height_ATTRIBUTE, "15", null);
+		writer.writeAttribute(HTML.alt_ATTRIBUTE, "", null);
+		writer.writeAttribute(HTML.border_ATTRIBUTE, "0", null);
+		writer.endElement(HTML.IMG_ELEMENT);
+		writer.endElement(HTML.BUTTON);
 	 }
 	 
-	 private void encodeHiddenField(FacesContext facesContext, UIComponent component, 
+	 private void encodeHiddenField(FacesContext context, UIComponent component, 
 			 String hiddenFieldCliendId, Set lookupSet, ResponseWriter writer) throws IOException {
 		 
 		 writer.startElement(HTML.INPUT_ELEM, component);

Added: trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/PickListArrowImageBase.java
===================================================================
--- trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/PickListArrowImageBase.java	                        (rev 0)
+++ trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/PickListArrowImageBase.java	2008-01-03 10:43:47 UTC (rev 5121)
@@ -0,0 +1,63 @@
+/**
+ * 
+ */
+package org.richfaces.renderkit.images;
+
+import java.awt.Dimension;
+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 Anton Belevich
+ *
+ */
+public class PickListArrowImageBase extends Java2Dresource {
+	
+	private static final Dimension dimensions = new Dimension(15, 15);
+	
+	public PickListArrowImageBase() {
+		setRenderer(new GifRenderer());
+		setLastModified(new Date(InternetResourceBuilder.getInstance().getStartTime()));
+	}
+		
+	protected Dimension getDimensions(ResourceContext resourceContext) {
+		return dimensions;
+	}
+	public Dimension getDimensions(FacesContext facesContext, Object data) {
+		return dimensions;
+	}
+	
+	protected Object deserializeData(byte[] objectArray) {
+		if (objectArray == null) {
+			return null;
+		}
+		return new Integer(new Zipper2(objectArray).nextIntColor());
+	}
+	
+	protected Object getDataToStore(FacesContext context, Object data) {
+		Skin skin = SkinFactory.getInstance().getSkin(context);
+		String skinParameter = "headerTextColor";
+		String headerTextColor = (String) skin.getParameter(context, skinParameter);
+		if (null == headerTextColor || "".equals(headerTextColor)) {
+			Skin defaultSkin = SkinFactory.getInstance().getDefaultSkin(context);
+			headerTextColor = (String) defaultSkin.getParameter(context, skinParameter);
+		}
+		
+		int intValue = HtmlColor.decode( headerTextColor == null ? "#000000":headerTextColor ).getRGB();
+		byte[] ret = new byte[3];
+		new Zipper2(ret).addColor(intValue);
+		
+		return ret;
+	}
+
+}

Added: trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/PickListButtonGradient.java
===================================================================
--- trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/PickListButtonGradient.java	                        (rev 0)
+++ trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/PickListButtonGradient.java	2008-01-03 10:43:47 UTC (rev 5121)
@@ -0,0 +1,16 @@
+/**
+ * 
+ */
+package org.richfaces.renderkit.images;
+
+import org.richfaces.renderkit.html.BaseGradient;
+
+/**
+ * @author Anton Belevich
+ *
+ */
+public class PickListButtonGradient extends BaseGradient {
+	public PickListButtonGradient() {
+		super(30,50,20,"additionalBackgroundColor", "trimColor");
+	}
+}

Added: trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/PickListButtonLightGradient.java
===================================================================
--- trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/PickListButtonLightGradient.java	                        (rev 0)
+++ trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/PickListButtonLightGradient.java	2008-01-03 10:43:47 UTC (rev 5121)
@@ -0,0 +1,16 @@
+/**
+ * 
+ */
+package org.richfaces.renderkit.images;
+
+import org.richfaces.renderkit.html.BaseGradient;
+
+/**
+ * @author Anton Belevich
+ *
+ */
+public class PickListButtonLightGradient extends BaseGradient {
+	public PickListButtonLightGradient() {
+		super(30,50,20,"additionalBackgroundColor", "headerGradientColor");	
+	}
+}

Added: trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/PickListButtonPressGradient.java
===================================================================
--- trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/PickListButtonPressGradient.java	                        (rev 0)
+++ trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/PickListButtonPressGradient.java	2008-01-03 10:43:47 UTC (rev 5121)
@@ -0,0 +1,18 @@
+/**
+ * 
+ */
+package org.richfaces.renderkit.images;
+
+import org.richfaces.renderkit.html.BaseGradient;
+
+/**
+ * @author Anton Belevich
+ *
+ */
+public class PickListButtonPressGradient extends BaseGradient {
+	public PickListButtonPressGradient() {
+		super(30,50,20,"additionalBackgroundColor", "trimColor");
+
+	}
+
+}

Added: trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/PickListLeftArrowImage.java
===================================================================
--- trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/PickListLeftArrowImage.java	                        (rev 0)
+++ trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/PickListLeftArrowImage.java	2008-01-03 10:43:47 UTC (rev 5121)
@@ -0,0 +1,25 @@
+package org.richfaces.renderkit.images;
+
+import java.awt.Color;
+import java.awt.Graphics2D;
+import java.awt.RenderingHints;
+
+import org.ajax4jsf.resource.ResourceContext;
+
+/**
+ * @author Anton Belevich
+ *
+ */
+public class PickListLeftArrowImage extends PickListArrowImageBase{
+	
+	protected void paint(ResourceContext context, Graphics2D g2d) {
+		Integer color = (Integer) restoreData(context);
+		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
+		g2d.setColor(new Color(color.intValue()));
+		g2d.drawLine(9,5,9,11);
+		g2d.drawLine(8,6,8,10);
+		g2d.drawLine(7,7,7,9);
+		g2d.drawLine(6,8,6,8);
+	}
+
+}

Added: trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/PickListRightArrowImage.java
===================================================================
--- trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/PickListRightArrowImage.java	                        (rev 0)
+++ trunk/sandbox/ui/pickList/src/main/java/org/richfaces/renderkit/images/PickListRightArrowImage.java	2008-01-03 10:43:47 UTC (rev 5121)
@@ -0,0 +1,27 @@
+/**
+ * 
+ */
+package org.richfaces.renderkit.images;
+
+import java.awt.Color;
+import java.awt.Graphics2D;
+import java.awt.RenderingHints;
+
+import org.ajax4jsf.resource.ResourceContext;
+
+/**
+ * @author Anton Belevich
+ *
+ */
+public class PickListRightArrowImage extends PickListArrowImageBase {
+
+	protected void paint(ResourceContext context, Graphics2D g2d) {
+		Integer color = (Integer) restoreData(context);
+		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
+		g2d.setColor(new Color(color.intValue()));
+		g2d.drawLine(9,8,9,8);
+		g2d.drawLine(8,7,8,9);
+		g2d.drawLine(7,6,7,10);
+		g2d.drawLine(6,5,6,11);
+	}
+}




More information about the richfaces-svn-commits mailing list