From 99eed1e3c7e7292aea91131baeb36f81e23e3e82 Mon Sep 17 00:00:00 2001 From: Andrew Branson Date: Tue, 26 Jun 2012 12:41:11 +0200 Subject: Initial refactor from kernel --- .../gui/collection/AggregationMemberRenderer.java | 125 +++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 src/main/java/com/c2kernel/gui/collection/AggregationMemberRenderer.java (limited to 'src/main/java/com/c2kernel/gui/collection/AggregationMemberRenderer.java') diff --git a/src/main/java/com/c2kernel/gui/collection/AggregationMemberRenderer.java b/src/main/java/com/c2kernel/gui/collection/AggregationMemberRenderer.java new file mode 100644 index 0000000..8c4b80f --- /dev/null +++ b/src/main/java/com/c2kernel/gui/collection/AggregationMemberRenderer.java @@ -0,0 +1,125 @@ +package com.c2kernel.gui.collection; + +import java.awt.FontMetrics; +import java.awt.Graphics2D; + +import com.c2kernel.collection.Aggregation; +import com.c2kernel.collection.AggregationMember; +import com.c2kernel.graph.model.GraphPoint; +import com.c2kernel.graph.model.Vertex; +import com.c2kernel.gui.graph.view.VertexRenderer; +import com.c2kernel.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.getEntityName(); + + g2d.drawString( name, + centre.x-metrics.stringWidth(name)/2, + vertex.getID()%2==0?topYOfOutline(outline):bottomYOfOutline(outline)+metrics.getHeight() ); + + g2d.drawImage + ( + memberPair.getImage(), + 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; + } +} -- cgit v1.2.3