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.graph.AttributeMap; 29 import org.jgraph.graph.DefaultPort; 30 import org.jgraph.graph.GraphConstants; 31 import org.lucane.applications.whiteboard.graph.MyGraph; 32 import org.lucane.applications.whiteboard.graph.cells.EllipseCell; 33 34 class Ellipse implements Shape 35 { 36 public void paint(Graphics g, Point start, Point end) 37 { 38 Rectangle bounds = ShapeUtils.getBounds(start, end); 39 g.drawOval(bounds.x, bounds.y, bounds.width, bounds.height); 40 } 41 42 public void addToGraph(MyGraph graph, Point start, Point end) 43 { 44 EllipseCell cell = new EllipseCell(""); 45 AttributeMap attrs = new AttributeMap(); 46 attrs.put("timestamp", new Date ()); 47 48 GraphConstants.setBounds(attrs, ShapeUtils.getBounds(start, end)); 49 GraphConstants.setLineWidth(attrs, graph.getLineWidth()); 50 GraphConstants.setBorderColor(attrs, graph.getCellBorder()); 51 if(graph.getCellBackground()!=null) 52 { 53 GraphConstants.setBackground(attrs, graph.getCellBackground()); 54 GraphConstants.setOpaque(attrs, true); 55 } 56 57 58 DefaultPort hp = new DefaultPort(); 59 cell.add(hp); 60 61 Object [] cells = new Object [] { cell }; 62 63 Map attributes = new Hashtable (); 64 attributes.put(cell, attrs); 65 graph.getModel().insert(cells, attributes, null, null, null); 66 } 67 } | Popular Tags |