From 5e4034b5cba89460a62fa958fc78c2b85acb3d5f Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 7 Oct 2014 09:18:33 +0200 Subject: Repackage to org.cristalise --- .../gui/collection/AggregationMemberRenderer.java | 133 +++++++++++++++++++++ 1 file changed, 133 insertions(+) create mode 100644 src/main/java/org/cristalise/gui/collection/AggregationMemberRenderer.java (limited to 'src/main/java/org/cristalise/gui/collection/AggregationMemberRenderer.java') diff --git a/src/main/java/org/cristalise/gui/collection/AggregationMemberRenderer.java b/src/main/java/org/cristalise/gui/collection/AggregationMemberRenderer.java new file mode 100644 index 0000000..20af733 --- /dev/null +++ b/src/main/java/org/cristalise/gui/collection/AggregationMemberRenderer.java @@ -0,0 +1,133 @@ +package org.cristalise.gui.collection; + +import java.awt.FontMetrics; +import java.awt.Graphics2D; +import java.awt.Image; + +import org.cristalise.gui.ImageLoader; +import org.cristalise.gui.graph.view.VertexRenderer; +import org.cristalise.kernel.collection.Aggregation; +import org.cristalise.kernel.collection.AggregationMember; +import org.cristalise.kernel.graph.model.GraphPoint; +import org.cristalise.kernel.graph.model.Vertex; +import org.cristalise.kernel.utils.Logger; + + + +/** + * @version $Revision: 1.24 $ $Date: 2005/12/01 14:23:15 $ + * @author $Author: abranson $ + */ + +public class AggregationMemberRenderer implements VertexRenderer +{ + + private Aggregation mAggregation = null; + + public AggregationMemberRenderer() + { + } + + public void setAggregation(Aggregation agg) + { + mAggregation = agg; + } + + + @Override + public void draw(Graphics2D g2d, Vertex vertex) + { + GraphPoint centre = vertex.getCentrePoint(); + GraphPoint[] outline = vertex.getOutlinePoints(); + FontMetrics metrics = g2d.getFontMetrics(); + + AggregationMember memberPair = mAggregation.getMemberPair(vertex.getID()); + + try + { + String name = memberPair.getItemName(); + + g2d.drawString( name, + centre.x-metrics.stringWidth(name)/2, + vertex.getID()%2==0?topYOfOutline(outline):bottomYOfOutline(outline)+metrics.getHeight() ); + + g2d.drawImage + ( + getImage(memberPair), + centre.x - 8, + centre.y - 8, + null + ); + + + + // Draw the outline of the vertex + if(outline.length > 1) + { + for(int i=0; i bottomY) + { + bottomY = outline[i].y; + } + } + + return bottomY; + } + + public Image getImage(AggregationMember am) { + return ImageLoader.findImage("typeicons/"+am.getProperties().get("Type")+"_16.png").getImage(); + } +} -- cgit v1.2.3