001 package nl.cwi.sen1.error.model;
002
003 import nl.cwi.sen1.error.viewer.ErrorViewerBridge;
004 import nl.cwi.sen1.gui.Studio;
005 import errorapi.types.Area;
006 import errorapi.types.Location;
007
008 public class LocationNode extends SelectableNode {
009 private Location location;
010
011 public LocationNode(Location location) {
012 super(location);
013 this.location = location;
014 }
015
016 public void selected(Studio studio, ErrorViewerBridge bridge) {
017 bridge.postEvent(studio.getATermFactory().make(
018 "location-selected(<term>)", location.toTerm()));
019 }
020
021 public String toString() {
022 StringBuffer buf = new StringBuffer();
023
024 if (location.hasFilename()) {
025 buf.append("file: ").append(location.getFilename());
026 }
027
028 if (location.hasArea()) {
029 Area area = location.getArea();
030 buf.append(", line: ").append(area.getBeginLine());
031 buf.append(", column: ").append(area.getBeginColumn());
032 }
033 return buf.toString();
034 }
035 }