1 19 20 package ca.mcgill.sable.soot.attributes; 21 22 23 import java.util.ArrayList ; 24 25 import org.eclipse.jface.text.*; 26 import org.eclipse.jface.text.source.SourceViewer; 27 import org.eclipse.ui.*; 28 import org.eclipse.ui.texteditor.AbstractTextEditor; 29 import org.eclipse.core.resources.*; 30 import org.eclipse.core.runtime.CoreException; 31 import ca.mcgill.sable.soot.SootPlugin; 32 33 public abstract class AbstractSootAttributesHover implements ITextHover { 34 35 private IEditorPart editor; 36 private int lineNum; 37 private String fileName; 38 private String packFileName; 39 private ArrayList packFileNames; 40 private boolean editorHasChanged; 41 private String selectedProj; 42 private SootAttributesHandler attrsHandler; 43 private IResource rec; 44 private ITextViewer viewer; 45 private IDocument document; 46 public static final String sep = System.getProperty("file.separator"); 47 48 52 public void setEditor(IEditorPart ed) { 53 editor = ed; 54 } 55 56 57 58 65 protected abstract String getAttributes(AbstractTextEditor editor); 66 67 70 public String getHoverInfo(ITextViewer textViewer, org.eclipse.jface.text.IRegion hoverRegion) { 71 72 75 76 getHoverRegion(textViewer, hoverRegion.getOffset()); 77 String attr = null; 78 attr = getAttributes((AbstractTextEditor)getEditor()); 79 80 return attr; 81 82 } 83 84 87 public org.eclipse.jface.text.IRegion getHoverRegion(ITextViewer textViewer, int offset) { 88 try { 89 setLineNum(textViewer.getDocument().getLineOfOffset(offset)+1); 90 setDocument(textViewer.getDocument()); 91 return textViewer.getDocument().getLineInformationOfOffset(offset); 92 } catch (BadLocationException e) { 93 return null; 94 } 95 96 } 97 98 99 103 public int getLineNum() { 104 return lineNum; 105 } 106 107 111 public void setLineNum(int lineNum) { 112 this.lineNum = lineNum; 113 } 114 115 119 public String getFileName() { 120 return fileName; 121 } 122 123 127 public void setFileName(String fileName) { 128 this.fileName = fileName; 129 } 130 131 135 public String getPackFileName() { 136 return packFileName; 137 } 138 139 143 public void setPackFileName(String packFileName) { 144 this.packFileName = packFileName; 145 } 146 147 151 public boolean isEditorHasChanged() { 152 return editorHasChanged; 153 } 154 155 159 public void setEditorHasChanged(boolean editorHasChanged) { 160 this.editorHasChanged = editorHasChanged; 161 } 162 163 167 public String getSelectedProj() { 168 return selectedProj; 169 } 170 171 175 public void setSelectedProj(String selectedProj) { 176 this.selectedProj = selectedProj; 177 } 178 179 183 public SootAttributesHandler getAttrsHandler() { 184 return attrsHandler; 185 } 186 187 191 public void setAttrsHandler(SootAttributesHandler attrsHandler) { 192 this.attrsHandler = attrsHandler; 193 } 194 195 199 public IEditorPart getEditor() { 200 return editor; 201 } 202 203 207 public IResource getRec() { 208 return rec; 209 } 210 211 215 public void setRec(IResource rec) { 216 this.rec = rec; 217 } 218 219 222 public IDocument getDocument() { 223 return document; 224 } 225 226 229 public ITextViewer getViewer() { 230 return viewer; 231 } 232 233 236 public void setDocument(IDocument document) { 237 this.document = document; 238 } 239 240 243 public void setViewer(ITextViewer viewer) { 244 this.viewer = viewer; 245 } 246 247 250 public ArrayList getPackFileNames() { 251 return packFileNames; 252 } 253 254 257 public void setPackFileNames(ArrayList list) { 258 packFileNames = list; 259 } 260 261 } 262 | Popular Tags |