1 19 package org.lucane.applications.whiteboard.graph.shapes; 20 21 import java.awt.Graphics ; 22 import java.awt.Point ; 23 import java.awt.Rectangle ; 24 import java.util.Date ; 25 import java.util.Hashtable ; 26 import java.util.Map ; 27 28 import org.jgraph.cellview.JGraphRoundRectView; 29 import org.jgraph.graph.AttributeMap; 30 import org.jgraph.graph.DefaultPort; 31 import org.jgraph.graph.GraphConstants; 32 import org.lucane.applications.whiteboard.graph.MyGraph; 33 import org.lucane.applications.whiteboard.graph.cells.RoundRectangleCell; 34 35 class RoundRectangle implements Shape 36 { 37 public void paint(Graphics g, Point start, Point end) 38 { 39 Rectangle bounds = ShapeUtils.getBounds(start, end); 40 int arcSize = JGraphRoundRectView.getArcSize(bounds.width, bounds.height); 41 42 g.drawRoundRect(bounds.x, bounds.y, bounds.width, bounds.height, arcSize, arcSize); 43 } 44 45 public void addToGraph(MyGraph graph, Point start, Point end) 46 { 47 RoundRectangleCell cell = new RoundRectangleCell(""); 48 AttributeMap attrs = new AttributeMap(); 49 attrs.put("timestamp", new Date ()); 50 51 GraphConstants.setBounds(attrs, ShapeUtils.getBounds(start, end)); 52 GraphConstants.setLineWidth(attrs, graph.getLineWidth()); 53 GraphConstants.setBorderColor(attrs, graph.getCellBorder()); 54 if(graph.getCellBackground()!=null) 55 { 56 GraphConstants.setBackground(attrs, graph.getCellBackground()); 57 GraphConstants.setOpaque(attrs, true); 58 } 59 60 DefaultPort hp = new DefaultPort(); 61 cell.add(hp); 62 63 Object [] cells = new Object [] { cell }; 64 65 Map attributes = new Hashtable (); 66 attributes.put(cell, attrs); 67 graph.getModel().insert(cells, attributes, null, null, null); 68 } 69 } | Popular Tags |