package sk.stuba.fiit.perconik.activity.listeners.ui.text;
import org.eclipse.jface.text.ITextViewer;
import sk.stuba.fiit.perconik.eclipse.jface.text.LineRegion;
import static com.google.common.collect.Range.closed;
final class TextViewEvent extends AbstractTextEvent {
final ITextViewer viewer;
final LineRegion region;
final int verticalOffset;
TextViewEvent(final long time, final ITextViewer viewer, final LineRegion region, final int verticalOffset) {
super(time);
assert viewer != null && region != null;
this.viewer = viewer;
this.region = region;
this.verticalOffset = verticalOffset;
}
boolean isContinuousWith(final TextViewEvent other) {
if (!this.viewer.equals(other.viewer)) {
return false;
}
LineRegion a = this.region;
LineRegion b = other.region;
return closed(a.start.line, a.end.line).isConnected(closed(b.start.line, b.end.line));
}
}