1 19 20 package ca.mcgill.sable.soot.cfg.model; 21 22 import java.util.*; 23 import org.eclipse.ui.*; 24 import org.eclipse.jface.resource.*; 25 import org.eclipse.core.runtime.*; 26 import org.eclipse.draw2d.graph.*; 27 import org.eclipse.core.resources.*; 28 29 public class CFGGraph extends CFGElement implements IEditorInput { 30 31 private String name; 32 private ArrayList children = new ArrayList(); 33 private IResource resource; 34 35 36 public CFGGraph() { 37 } 38 39 40 public void addChild(CFGNode child){ 41 children.add(child); 42 fireStructureChange(CHILDREN, child); 43 } 44 45 46 49 public String getName() { 50 return name; 51 } 52 53 54 55 58 public void setName(String string) { 59 name = string; 60 } 61 62 63 64 public boolean exists(){ 65 return false; 66 } 67 68 public ImageDescriptor getImageDescriptor(){ 69 return null; 70 } 71 72 public IPersistableElement getPersistable(){ 73 return null; 74 } 75 76 public String getToolTipText(){ 77 return getName(); 78 } 79 80 public Object getAdapter(Class c){ 81 if (c == IResource.class){ 82 return getResource(); 83 } 84 return null; 85 } 86 87 90 public ArrayList getChildren() { 91 return children; 92 } 93 94 97 public void setChildren(ArrayList list) { 98 children = list; 99 } 100 101 104 public IResource getResource() { 105 return resource; 106 } 107 108 111 public void setResource(IResource resource) { 112 this.resource = resource; 113 } 114 115 public void newFlowData(){ 116 firePropertyChange(CFGElement.NEW_FLOW_DATA, null); 117 } 118 119 public void handleClickEvent(Object evt){ 120 Iterator it = getChildren().iterator(); 121 while (it.hasNext()){ 122 CFGNode child = (CFGNode)it.next(); 123 ArrayList list = child.getData().getText(); 124 if (list.size() == 1){ 125 if (list.get(0).equals(evt)){ 126 child.handleClickEvent(evt); 127 } 128 } 129 } 130 } 131 } 132 | Popular Tags |