[richfaces-svn-commits] JBoss Rich Faces SVN: r2432 - in trunk/ui/panelmenu/src: test/java/org/richfaces/renderkit/html/iconimages and 1 other directory.

richfaces-svn-commits at lists.jboss.org richfaces-svn-commits at lists.jboss.org
Thu Aug 23 09:40:40 EDT 2007


Author: abelevich
Date: 2007-08-23 09:40:40 -0400 (Thu, 23 Aug 2007)
New Revision: 2432

Added:
   trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevronBasic.java
   trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangleBasic.java
Modified:
   trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconBasic.java
   trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevron.java
   trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevronDown.java
   trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevronUp.java
   trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconDisc.java
   trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconGrid.java
   trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconSpacer.java
   trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangle.java
   trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangleDown.java
   trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangleUp.java
   trunk/ui/panelmenu/src/test/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconBasicTest.java
Log:
done task RF-665, move abundant code to basic abstract classes 

Modified: trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconBasic.java
===================================================================
--- trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconBasic.java	2007-08-23 13:38:14 UTC (rev 2431)
+++ trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconBasic.java	2007-08-23 13:40:40 UTC (rev 2432)
@@ -42,7 +42,7 @@
  * @author Pavel Kotikov
  *
  */
-public class PanelMenuIconBasic extends Java2Dresource {
+public abstract class PanelMenuIconBasic extends Java2Dresource {
 
 	public PanelMenuIconBasic() {
 		setRenderer(new GifRenderer());
@@ -57,15 +57,29 @@
 		return calculateDimensions(restoreData(resourceContext));
 	}
 	
-	protected void paint(ResourceContext context, Graphics2D g2d) {
-
+	protected void paint(ResourceContext context, Graphics2D graphics2D) {
+		
+		Color color = (Color) restoreData(context);
+		
+		if(color != null && graphics2D != null) {
+			paintImage(context, graphics2D, color);
+		}
+		
 	}
 	
+	abstract protected void paintImage(ResourceContext context, Graphics2D g2d, Color color);
+	
+	
 	protected Dimension calculateDimensions(Object data){
 		return new Dimension(16, 16);
 	}
 
 	protected Object deserializeData(byte[] objectArray) {
+		
+		if (objectArray == null) {
+			return null;
+		}
+		
 		return new Zipper2(objectArray).nextColor();
 	}
 	
@@ -78,19 +92,24 @@
 		
 		byte[] ret = new byte[3];
 		
-		Color col = null;
+		Color color = null;
 		
 		if (data!=null){
-			col = HtmlColor.decode(data.toString());
+			color = 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);
+			
+			if(headerTextColor == null) {
+				return null;
+			}
+			
+			color = HtmlColor.decode(headerTextColor);
 		}
 		
-		new Zipper2(ret).addColor(col);
+		new Zipper2(ret).addColor(color);
 
 		return ret;
 	}

Modified: trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevron.java
===================================================================
--- trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevron.java	2007-08-23 13:38:14 UTC (rev 2431)
+++ trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevron.java	2007-08-23 13:40:40 UTC (rev 2432)
@@ -21,42 +21,14 @@
 
 package org.richfaces.renderkit.html.iconimages;
 
-import java.awt.BasicStroke;
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.Graphics2D;
-import java.awt.RenderingHints;
-import java.awt.geom.AffineTransform;
 import java.awt.geom.GeneralPath;
-import java.awt.image.AffineTransformOp;
-import java.awt.image.BufferedImage;
-import org.ajax4jsf.resource.ResourceContext;
 
 
 
-public class PanelMenuIconChevron extends PanelMenuIconBasic {
+public class PanelMenuIconChevron extends PanelMenuIconChevronBasic {
 
-	protected void paint(ResourceContext context, Graphics2D graphics2d) {
+	protected void draw(GeneralPath path) {
 		
-		BufferedImage bufferedImage = new BufferedImage(128, 128, BufferedImage.TYPE_INT_ARGB);
-		Graphics2D g2d = bufferedImage.createGraphics();
-		
-		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);
-
-		Dimension dimension = getDimensions(context);
-		GeneralPath path = new GeneralPath();
-		g2d.setStroke(new BasicStroke(1,BasicStroke.CAP_BUTT,BasicStroke.JOIN_MITER));
-		g2d.translate(28,28);
-		Color col = (Color) restoreData(context);
-		
-		g2d.setColor(col);
-
 		path.moveTo(1,1);
 		path.lineTo(17,1);
 		path.lineTo(47,31);
@@ -64,17 +36,7 @@
 		path.lineTo(1,61);
 		path.lineTo(31,31);
 		path.closePath();
-		g2d.fill(path);
 		
-		g2d.translate(24,0);
-
-		g2d.fill(path);
-		
-		AffineTransform transform = AffineTransform.getScaleInstance(dimension.getHeight()/128, dimension.getHeight()/128);
-		AffineTransformOp transformOp = new AffineTransformOp(transform, AffineTransformOp.TYPE_BILINEAR);
-		
-		graphics2d.drawImage(bufferedImage,transformOp, 0, 0);
-	
-		g2d.dispose();
 	}
+	
 }
\ No newline at end of file

Added: trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevronBasic.java
===================================================================
--- trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevronBasic.java	                        (rev 0)
+++ trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevronBasic.java	2007-08-23 13:40:40 UTC (rev 2432)
@@ -0,0 +1,55 @@
+package org.richfaces.renderkit.html.iconimages;
+
+import java.awt.BasicStroke;
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Graphics2D;
+import java.awt.RenderingHints;
+import java.awt.geom.AffineTransform;
+import java.awt.geom.GeneralPath;
+import java.awt.image.AffineTransformOp;
+import java.awt.image.BufferedImage;
+
+import org.ajax4jsf.resource.ResourceContext;
+
+/**
+ * @author Anton Belevich
+ *
+ */
+public abstract class PanelMenuIconChevronBasic extends PanelMenuIconBasic {
+
+	protected void paintImage(ResourceContext context, Graphics2D graphics2d, Color color) {
+		
+		BufferedImage bufferedImage = new BufferedImage(128, 128, BufferedImage.TYPE_INT_ARGB);
+		Graphics2D g2d = bufferedImage.createGraphics();
+			
+		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);
+
+		Dimension dimension = getDimensions(context);
+		GeneralPath path = new GeneralPath();
+		g2d.setStroke(new BasicStroke(1,BasicStroke.CAP_BUTT,BasicStroke.JOIN_MITER));
+		g2d.translate(28,28);
+
+		g2d.setColor(color);
+			
+		draw(path);
+			
+		g2d.fill(path);
+		g2d.translate(24,0);
+		g2d.fill(path);
+		
+		AffineTransform transform = AffineTransform.getScaleInstance(dimension.getHeight()/128, dimension.getHeight()/128);
+		AffineTransformOp transformOp = new AffineTransformOp(transform, AffineTransformOp.TYPE_BILINEAR);
+			
+		graphics2d.drawImage(bufferedImage,transformOp, 0, 0);
+		g2d.dispose();
+	}
+	
+	abstract void draw (GeneralPath draw);
+}

Modified: trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevronDown.java
===================================================================
--- trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevronDown.java	2007-08-23 13:38:14 UTC (rev 2431)
+++ trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevronDown.java	2007-08-23 13:40:40 UTC (rev 2432)
@@ -21,41 +21,14 @@
 
 package org.richfaces.renderkit.html.iconimages;
 
-import java.awt.BasicStroke;
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.Graphics2D;
-import java.awt.RenderingHints;
-import java.awt.geom.AffineTransform;
 import java.awt.geom.GeneralPath;
-import java.awt.image.AffineTransformOp;
-import java.awt.image.BufferedImage;
-import org.ajax4jsf.resource.ResourceContext;
 
 
 
-public class PanelMenuIconChevronDown extends PanelMenuIconBasic {
+public class PanelMenuIconChevronDown extends PanelMenuIconChevronBasic {
 
-	protected void paint(ResourceContext context, Graphics2D graphics2D) {
-		BufferedImage bufferedImage = new BufferedImage(128, 128, BufferedImage.TYPE_INT_ARGB);
-		Graphics2D g2d = bufferedImage.createGraphics();
-		
-		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);
-
-		Dimension dimension = getDimensions(context);
-		GeneralPath path = new GeneralPath();
-		g2d.setStroke(new BasicStroke(1,BasicStroke.CAP_BUTT,BasicStroke.JOIN_MITER));
-		g2d.translate(28,28);
-		Color col = (Color) restoreData(context);
-		
-		g2d.setColor(col);
-
+	protected void draw(GeneralPath path) {
+	
 		path.moveTo(1,0);
 		path.lineTo(31,30);
 		path.lineTo(61,0);
@@ -63,17 +36,6 @@
 		path.lineTo(31,46);
 		path.lineTo(1,16);
 		path.closePath();
-		g2d.fill(path);
 		
-		g2d.translate(0,24);
-
-		g2d.fill(path);
-		
-		AffineTransform transform = AffineTransform.getScaleInstance(dimension.getHeight()/128, dimension.getHeight()/128);
-		AffineTransformOp transformOp = new AffineTransformOp(transform, AffineTransformOp.TYPE_BILINEAR);
-		
-		graphics2D.drawImage(bufferedImage,transformOp, 0, 0);
-	
-		g2d.dispose();		
 	}
 }
\ No newline at end of file

Modified: trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevronUp.java
===================================================================
--- trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevronUp.java	2007-08-23 13:38:14 UTC (rev 2431)
+++ trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconChevronUp.java	2007-08-23 13:40:40 UTC (rev 2432)
@@ -21,41 +21,14 @@
 
 package org.richfaces.renderkit.html.iconimages;
 
-import java.awt.BasicStroke;
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.Graphics2D;
-import java.awt.RenderingHints;
-import java.awt.geom.AffineTransform;
 import java.awt.geom.GeneralPath;
-import java.awt.image.AffineTransformOp;
-import java.awt.image.BufferedImage;
-import org.ajax4jsf.resource.ResourceContext;
 
 
 
-public class PanelMenuIconChevronUp extends PanelMenuIconBasic {
+public class PanelMenuIconChevronUp extends PanelMenuIconChevronBasic {
 
-	protected void paint(ResourceContext context, Graphics2D graphics2D) {
-		BufferedImage bufferedImage = new BufferedImage(128, 128, BufferedImage.TYPE_INT_ARGB);
-		Graphics2D g2d = bufferedImage.createGraphics();
-		
-		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);
-
-		Dimension dimension = getDimensions(context);
-		GeneralPath path = new GeneralPath();
-		g2d.setStroke(new BasicStroke(1,BasicStroke.CAP_BUTT,BasicStroke.JOIN_MITER));
-		g2d.translate(28,28);
-		Color col = (Color) restoreData(context);
-		
-		g2d.setColor(col);
-
+	protected void draw(GeneralPath path) {
+	
 		path.moveTo(0,46);
 		path.lineTo(0,31);
 		path.lineTo(30,1);
@@ -63,17 +36,7 @@
 		path.lineTo(61,46);
 		path.lineTo(30,16);
 		path.closePath();
-		g2d.fill(path);
 		
-		g2d.translate(0,24);
-
-		g2d.fill(path);
-		
-		AffineTransform transform = AffineTransform.getScaleInstance(dimension.getHeight()/128, dimension.getHeight()/128);
-		AffineTransformOp transformOp = new AffineTransformOp(transform, AffineTransformOp.TYPE_BILINEAR);
-		
-		graphics2D.drawImage(bufferedImage,transformOp, 0, 0);
-	
-		g2d.dispose();
 	}
+	
 }
\ No newline at end of file

Modified: trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconDisc.java
===================================================================
--- trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconDisc.java	2007-08-23 13:38:14 UTC (rev 2431)
+++ trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconDisc.java	2007-08-23 13:40:40 UTC (rev 2432)
@@ -26,24 +26,26 @@
 import java.awt.Graphics2D;
 import java.awt.RenderingHints;
 import java.awt.geom.Ellipse2D;
+
 import org.ajax4jsf.resource.ResourceContext;
 
 
 
 public class PanelMenuIconDisc extends PanelMenuIconBasic {
 
-	protected void paint(ResourceContext context, Graphics2D g2d) {
+	protected void paintImage(ResourceContext context, Graphics2D g2d, Color color) {
 		
 		Dimension dimension = getDimensions(context);
-		Color col = (Color) restoreData(context);
-		
 		int dim = (int) Math.round(dimension.getWidth() / 3);
 		
 		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
-		g2d.setColor(col);
+		g2d.setColor(color);
 		g2d.translate(dim,dim);
+		
 		Ellipse2D dot = new Ellipse2D.Double(0, 0, dim, dim);
+		
 		g2d.fill(dot);
 		
 	}
+
 }
\ No newline at end of file

Modified: trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconGrid.java
===================================================================
--- trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconGrid.java	2007-08-23 13:38:14 UTC (rev 2431)
+++ trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconGrid.java	2007-08-23 13:40:40 UTC (rev 2432)
@@ -34,7 +34,8 @@
 public class PanelMenuIconGrid extends PanelMenuIconBasic {
 
 
-	protected void paint(ResourceContext context, Graphics2D g2d) {
+	protected void paintImage(ResourceContext context, Graphics2D g2d, Color color) {
+		
 		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
 		g2d.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_NORMALIZE);
 		g2d.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
@@ -42,21 +43,25 @@
 		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);
+		
 		Rectangle2D.Float path = new Rectangle2D.Float();
 		Dimension dimension = getDimensions(context);
+		
 		g2d.setStroke(new BasicStroke(16,BasicStroke.CAP_SQUARE,BasicStroke.JOIN_BEVEL));
 		g2d.scale(dimension.getHeight()/128,dimension.getHeight()/128);		
-
 		g2d.translate(40,40);
 		
 		path.setRect(0,0,40,40);
-		Color col = (Color) restoreData(context);
+				
+		g2d.setColor(color);
 		
-		g2d.setColor(col);
 		Color bcolor = new Color(1f,1f,1f,0f);
+		
 		g2d.setBackground(bcolor);
 		g2d.fill(path);
 		g2d.clearRect(16,0,8,40);
 		g2d.clearRect(0,16,40,8);
+		
 	}	
+	
 }
\ No newline at end of file

Modified: trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconSpacer.java
===================================================================
--- trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconSpacer.java	2007-08-23 13:38:14 UTC (rev 2431)
+++ trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconSpacer.java	2007-08-23 13:40:40 UTC (rev 2432)
@@ -21,13 +21,15 @@
 
 package org.richfaces.renderkit.html.iconimages;
 
+import java.awt.Color;
 import java.awt.Graphics2D;
+
 import org.ajax4jsf.resource.ResourceContext;
 
 
 public class PanelMenuIconSpacer extends PanelMenuIconBasic {
 
-	protected void paint(ResourceContext context, Graphics2D g2d) {
-		
+	protected void paintImage(ResourceContext context, Graphics2D g2d, Color color) {
 	}
+	
 }
\ No newline at end of file

Modified: trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangle.java
===================================================================
--- trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangle.java	2007-08-23 13:38:14 UTC (rev 2431)
+++ trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangle.java	2007-08-23 13:40:40 UTC (rev 2432)
@@ -21,31 +21,21 @@
 
 package org.richfaces.renderkit.html.iconimages;
 
-import java.awt.Color;
-import java.awt.Dimension;
 import java.awt.Graphics2D;
-import java.awt.RenderingHints;
 import java.awt.geom.GeneralPath;
-import org.ajax4jsf.resource.ResourceContext;
 
 
-public class PanelMenuIconTriangle extends PanelMenuIconBasic {
+public class PanelMenuIconTriangle extends  PanelMenuIconTriangleBasic {
 
-	protected void paint(ResourceContext context, Graphics2D g2d) {
-		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
-		g2d.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
-		g2d.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE);
-		GeneralPath path = new GeneralPath();
-
-		Dimension  dimension = getDimensions(context);
-		g2d.scale(dimension.getHeight()/128,dimension.getHeight()/128);
+	void draw(GeneralPath path, Graphics2D g2d) {
+		
 		g2d.translate(47,30);
 		path.moveTo(0,0);
 		path.lineTo(33,33);
 		path.lineTo(33,34);
 		path.lineTo(0,67);
 		path.closePath();
-		g2d.setColor((Color)restoreData(context));
-		g2d.fill(path);
+		
 	}
+	
 }
\ No newline at end of file

Added: trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangleBasic.java
===================================================================
--- trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangleBasic.java	                        (rev 0)
+++ trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangleBasic.java	2007-08-23 13:40:40 UTC (rev 2432)
@@ -0,0 +1,40 @@
+/**
+ * 
+ */
+package org.richfaces.renderkit.html.iconimages;
+
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.Graphics2D;
+import java.awt.RenderingHints;
+import java.awt.geom.GeneralPath;
+
+import org.ajax4jsf.resource.ResourceContext;
+
+/**
+ * @author Anton Belevich
+ *
+ */
+public abstract class PanelMenuIconTriangleBasic extends PanelMenuIconBasic {
+
+	protected void paintImage(ResourceContext context, Graphics2D g2d, Color color) {
+		
+		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
+		g2d.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
+		g2d.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE);
+		
+		GeneralPath path = new GeneralPath();
+
+		Dimension  dimension = getDimensions(context);
+		g2d.scale(dimension.getHeight()/128,dimension.getHeight()/128);
+		
+		draw(path, g2d);
+		
+		g2d.setColor(color);
+		g2d.fill(path);
+
+	}
+	
+	abstract void draw(GeneralPath path, Graphics2D g2d);  
+
+}

Modified: trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangleDown.java
===================================================================
--- trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangleDown.java	2007-08-23 13:38:14 UTC (rev 2431)
+++ trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangleDown.java	2007-08-23 13:40:40 UTC (rev 2432)
@@ -21,26 +21,15 @@
 
 package org.richfaces.renderkit.html.iconimages;
 
-import java.awt.Color;
-import java.awt.Dimension;
 import java.awt.Graphics2D;
-import java.awt.RenderingHints;
 import java.awt.geom.GeneralPath;
-import org.ajax4jsf.resource.ResourceContext;
 
 
 
-public class PanelMenuIconTriangleDown extends PanelMenuIconBasic {
+public class PanelMenuIconTriangleDown extends PanelMenuIconTriangleBasic {
 
-	protected void paint(ResourceContext context, Graphics2D g2d) {
-		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
-		g2d.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
-		g2d.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE);
-		GeneralPath path = new GeneralPath();
-
-		Dimension dimension = getDimensions(context);
+	void draw(GeneralPath path, Graphics2D g2d) {
 		
-		g2d.scale(dimension.getHeight()/128,dimension.getHeight()/128);
 		g2d.translate(31,54);
 		
 		path.moveTo(0,0);
@@ -48,9 +37,7 @@
 		path.lineTo(34,33);
 		path.lineTo(67,0);
 		path.closePath();
-		Color col = (Color) restoreData(context);
 		
-		g2d.setColor(col);
-		g2d.fill(path);
-	}	
+	}
+	
 }

Modified: trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangleUp.java
===================================================================
--- trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangleUp.java	2007-08-23 13:38:14 UTC (rev 2431)
+++ trunk/ui/panelmenu/src/main/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconTriangleUp.java	2007-08-23 13:40:40 UTC (rev 2432)
@@ -21,35 +21,23 @@
 
 package org.richfaces.renderkit.html.iconimages;
 
-import java.awt.Color;
-import java.awt.Dimension;
 import java.awt.Graphics2D;
-import java.awt.RenderingHints;
 import java.awt.geom.GeneralPath;
-import org.ajax4jsf.resource.ResourceContext;
 
 
 
-public class PanelMenuIconTriangleUp extends PanelMenuIconBasic {
+public class PanelMenuIconTriangleUp extends PanelMenuIconTriangleBasic {
 
-	protected void paint(ResourceContext context, Graphics2D g2d) {
-		g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
-		g2d.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
-		g2d.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE);
-		GeneralPath path = new GeneralPath();
-
-		Dimension dimension = getDimensions(context);
+	void draw(GeneralPath path, Graphics2D g2d) {
 	
-		g2d.scale(dimension.getHeight()/128,dimension.getHeight()/128);
 		g2d.translate(31,47);
+		
 		path.moveTo(0,33);
 		path.lineTo(33,0);
 		path.lineTo(34,0);
 		path.lineTo(67,33);
 		path.closePath();
-		Color col = (Color) restoreData(context);
 		
-		g2d.setColor(col);
-		g2d.fill(path);
-	}	
+	}
+	
 }

Modified: trunk/ui/panelmenu/src/test/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconBasicTest.java
===================================================================
--- trunk/ui/panelmenu/src/test/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconBasicTest.java	2007-08-23 13:38:14 UTC (rev 2431)
+++ trunk/ui/panelmenu/src/test/java/org/richfaces/renderkit/html/iconimages/PanelMenuIconBasicTest.java	2007-08-23 13:40:40 UTC (rev 2432)
@@ -19,7 +19,7 @@
 	
 public void testSaveResources(){
 		
-		PanelMenuIconBasic icon = new PanelMenuIconBasic();
+		PanelMenuIconBasic icon = new PanelMenuIconChevron();
 	
 		Skin skin = SkinFactory.getInstance().getSkin(facesContext);
 		Skin defaultSkin = SkinFactory.getInstance().getDefaultSkin(facesContext);




More information about the richfaces-svn-commits mailing list