1 package com.bluecove.emu.gui.graph;
2
3 import java.util.Map;
4
5 import org.jgraph.graph.DefaultCellViewFactory;
6 import org.jgraph.graph.DefaultGraphCell;
7 import org.jgraph.graph.VertexView;
8
9 public class DeviceCellViewFactory extends DefaultCellViewFactory {
10
11 private static final long serialVersionUID = 1L;
12
13 public static final String VIEW_CLASS_KEY = "viewClassKey";
14
15 public static final void setViewClass(Map map, String viewClass) {
16 map.put(VIEW_CLASS_KEY, viewClass);
17 }
18
19 protected VertexView createVertexView(Object v) {
20 try {
21 DefaultGraphCell cell = (DefaultGraphCell) v;
22 String viewClass = (String) cell.getAttributes().get(VIEW_CLASS_KEY);
23
24 VertexView view = (VertexView) Thread.currentThread()
25 .getContextClassLoader().loadClass(viewClass).newInstance();
26 view.setCell(v);
27 return view;
28 } catch (Exception ex) {
29 }
30 return super.createVertexView(v);
31 }
32 }