提交 434da15e 编写于 作者: A Alex Dima

ViewLineChanged -> ViewLinesChanged

上级 493c5a1c
......@@ -155,7 +155,7 @@ export class RenderedLinesCollection<T extends ILine> {
return deleted;
}
public onLineChanged(changedLineNumber: number): boolean {
public onLinesChanged(changeFromLineNumber: number, changeToLineNumber: number): boolean {
if (this.getCount() === 0) {
// no lines
return false;
......@@ -164,14 +164,17 @@ export class RenderedLinesCollection<T extends ILine> {
let startLineNumber = this.getStartLineNumber();
let endLineNumber = this.getEndLineNumber();
if (changedLineNumber < startLineNumber || changedLineNumber > endLineNumber) {
// a line has been changed above or below the viewport
return false;
let someoneNotified = false;
for (let changedLineNumber = changeFromLineNumber; changedLineNumber <= changeToLineNumber; changedLineNumber++) {
if (changedLineNumber >= startLineNumber && changedLineNumber <= endLineNumber) {
// Notify the line
this._lines[changedLineNumber - this._rendLineNumberStart].onContentChanged();
someoneNotified = true;
}
}
// Notify the line
this._lines[changedLineNumber - this._rendLineNumberStart].onContentChanged();
return true;
return someoneNotified;
}
public onLinesInserted(insertFromLineNumber: number, insertToLineNumber: number): T[] {
......@@ -283,8 +286,8 @@ export abstract class ViewLayer<T extends IVisibleLine> extends ViewPart {
return true;
}
public onLineChanged(e: viewEvents.ViewLineChangedEvent): boolean {
return this._linesCollection.onLineChanged(e.lineNumber);
public onLinesChanged(e: viewEvents.ViewLinesChangedEvent): boolean {
return this._linesCollection.onLinesChanged(e.fromLineNumber, e.toLineNumber);
}
public onLinesDeleted(e: viewEvents.ViewLinesDeletedEvent): boolean {
......
......@@ -124,7 +124,7 @@ export class ViewContentWidgets extends ViewPart {
public onFlushed(e: viewEvents.ViewFlushedEvent): boolean {
return true;
}
public onLineChanged(e: viewEvents.ViewLineChangedEvent): boolean {
public onLinesChanged(e: viewEvents.ViewLinesChangedEvent): boolean {
return true;
}
public onLinesDeleted(e: viewEvents.ViewLinesDeletedEvent): boolean {
......
......@@ -54,7 +54,7 @@ export class DecorationsOverlay extends DynamicViewOverlay {
public onFlushed(e: viewEvents.ViewFlushedEvent): boolean {
return true;
}
public onLineChanged(e: viewEvents.ViewLineChangedEvent): boolean {
public onLinesChanged(e: viewEvents.ViewLinesChangedEvent): boolean {
return true;
}
public onLinesDeleted(e: viewEvents.ViewLinesDeletedEvent): boolean {
......
......@@ -163,10 +163,10 @@ export class EditorScrollbar extends ViewPart {
public onFocusChanged(e: viewEvents.ViewFocusChangedEvent): boolean {
return false;
}
public onLineChanged(e: viewEvents.ViewLineChangedEvent): boolean {
public onLineMappingChanged(e: viewEvents.ViewLineMappingChangedEvent): boolean {
return false;
}
public onLineMappingChanged(e: viewEvents.ViewLineMappingChangedEvent): boolean {
public onLinesChanged(e: viewEvents.ViewLinesChangedEvent): boolean {
return false;
}
public onLinesDeleted(e: viewEvents.ViewLinesDeletedEvent): boolean {
......
......@@ -127,7 +127,7 @@ export class GlyphMarginOverlay extends DedupOverlay {
public onFlushed(e: viewEvents.ViewFlushedEvent): boolean {
return true;
}
public onLineChanged(e: viewEvents.ViewLineChangedEvent): boolean {
public onLinesChanged(e: viewEvents.ViewLinesChangedEvent): boolean {
return true;
}
public onLinesDeleted(e: viewEvents.ViewLinesDeletedEvent): boolean {
......
......@@ -53,7 +53,7 @@ export class IndentGuidesOverlay extends DynamicViewOverlay {
public onFlushed(e: viewEvents.ViewFlushedEvent): boolean {
return true;
}
public onLineChanged(e: viewEvents.ViewLineChangedEvent): boolean {
public onLinesChanged(e: viewEvents.ViewLinesChangedEvent): boolean {
return true;
}
public onLinesDeleted(e: viewEvents.ViewLinesDeletedEvent): boolean {
......
......@@ -74,7 +74,7 @@ export class LineNumbersOverlay extends DynamicViewOverlay {
public onFlushed(e: viewEvents.ViewFlushedEvent): boolean {
return true;
}
public onLineChanged(e: viewEvents.ViewLineChangedEvent): boolean {
public onLinesChanged(e: viewEvents.ViewLinesChangedEvent): boolean {
return true;
}
public onLinesDeleted(e: viewEvents.ViewLinesDeletedEvent): boolean {
......
......@@ -55,7 +55,7 @@ export class LinesDecorationsOverlay extends DedupOverlay {
public onFlushed(e: viewEvents.ViewFlushedEvent): boolean {
return true;
}
public onLineChanged(e: viewEvents.ViewLineChangedEvent): boolean {
public onLinesChanged(e: viewEvents.ViewLinesChangedEvent): boolean {
return true;
}
public onLinesDeleted(e: viewEvents.ViewLinesDeletedEvent): boolean {
......
......@@ -45,7 +45,7 @@ export class MarginViewLineDecorationsOverlay extends DedupOverlay {
public onFlushed(e: viewEvents.ViewFlushedEvent): boolean {
return true;
}
public onLineChanged(e: viewEvents.ViewLineChangedEvent): boolean {
public onLinesChanged(e: viewEvents.ViewLinesChangedEvent): boolean {
return true;
}
public onLinesDeleted(e: viewEvents.ViewLinesDeletedEvent): boolean {
......
......@@ -343,12 +343,12 @@ class RenderData {
};
}
public onLinesChanged(e: viewEvents.ViewLinesChangedEvent): boolean {
return this._renderedLines.onLinesChanged(e.fromLineNumber, e.toLineNumber);
}
public onLinesDeleted(e: viewEvents.ViewLinesDeletedEvent): void {
this._renderedLines.onLinesDeleted(e.fromLineNumber, e.toLineNumber);
}
public onLineChanged(e: viewEvents.ViewLineChangedEvent): boolean {
return this._renderedLines.onLineChanged(e.lineNumber);
}
public onLinesInserted(e: viewEvents.ViewLinesInsertedEvent): void {
this._renderedLines.onLinesInserted(e.fromLineNumber, e.toLineNumber);
}
......@@ -596,9 +596,9 @@ export class Minimap extends ViewPart {
this._lastRenderData = null;
return true;
}
public onLineChanged(e: viewEvents.ViewLineChangedEvent): boolean {
public onLinesChanged(e: viewEvents.ViewLinesChangedEvent): boolean {
if (this._lastRenderData) {
return this._lastRenderData.onLineChanged(e);
return this._lastRenderData.onLinesChanged(e);
}
return false;
}
......
......@@ -122,7 +122,7 @@ export class SelectionsOverlay extends DynamicViewOverlay {
public onFlushed(e: viewEvents.ViewFlushedEvent): boolean {
return true;
}
public onLineChanged(e: viewEvents.ViewLineChangedEvent): boolean {
public onLinesChanged(e: viewEvents.ViewLinesChangedEvent): boolean {
return true;
}
public onLinesDeleted(e: viewEvents.ViewLinesDeletedEvent): boolean {
......
......@@ -149,7 +149,7 @@ export class ViewCursors extends ViewPart {
this._updateBlinking();
return false;
}
public onLineChanged(e: viewEvents.ViewLineChangedEvent): boolean {
public onLinesChanged(e: viewEvents.ViewLinesChangedEvent): boolean {
return true;
}
public onLinesDeleted(e: viewEvents.ViewLinesDeletedEvent): boolean {
......
......@@ -17,8 +17,8 @@ export const enum ViewEventType {
ViewDecorationsChanged = 4,
ViewFlushed = 5,
ViewFocusChanged = 6,
ViewLineChanged = 7,
ViewLineMappingChanged = 8,
ViewLineMappingChanged = 7,
ViewLinesChanged = 8,
ViewLinesDeleted = 9,
ViewLinesInserted = 10,
ViewRevealRangeRequest = 11,
......@@ -122,26 +122,31 @@ export class ViewFocusChangedEvent {
}
}
export class ViewLineChangedEvent {
public readonly type = ViewEventType.ViewLineChanged;
export class ViewLineMappingChangedEvent {
/**
* The line that has changed.
*/
public readonly lineNumber: number;
public readonly type = ViewEventType.ViewLineMappingChanged;
constructor(lineNumber: number) {
this.lineNumber = lineNumber;
constructor() {
// Nothing to do
}
}
export class ViewLineMappingChangedEvent {
export class ViewLinesChangedEvent {
public readonly type = ViewEventType.ViewLineMappingChanged;
public readonly type = ViewEventType.ViewLinesChanged;
constructor() {
// Nothing to do
/**
* The first line that has changed.
*/
public readonly fromLineNumber: number;
/**
* The last line that has changed.
*/
public readonly toLineNumber: number;
constructor(fromLineNumber: number, toLineNumber: number) {
this.fromLineNumber = fromLineNumber;
this.toLineNumber = toLineNumber;
}
}
......@@ -296,7 +301,7 @@ export type ViewEvent = (
| ViewDecorationsChangedEvent
| ViewFlushedEvent
| ViewFocusChangedEvent
| ViewLineChangedEvent
| ViewLinesChangedEvent
| ViewLineMappingChangedEvent
| ViewLinesDeletedEvent
| ViewLinesInsertedEvent
......
......@@ -655,9 +655,7 @@ export class SplitLinesCollection {
this.prefixSumComputer.changeValue(lineIndex, newOutputLineCount);
if (changeFrom <= changeTo) {
for (let i = changeFrom; i <= changeTo; i++) {
eventsCollector.emit(new viewEvents.ViewLineChangedEvent(i));
}
eventsCollector.emit(new viewEvents.ViewLinesChangedEvent(changeFrom, changeTo));
}
if (insertFrom <= insertTo) {
eventsCollector.emit(new viewEvents.ViewLinesInsertedEvent(insertFrom, insertTo));
......
......@@ -50,10 +50,10 @@ export class ViewEventHandler {
public onFocusChanged(e: viewEvents.ViewFocusChangedEvent): boolean {
return false;
}
public onLineChanged(e: viewEvents.ViewLineChangedEvent): boolean {
public onLineMappingChanged(e: viewEvents.ViewLineMappingChangedEvent): boolean {
return false;
}
public onLineMappingChanged(e: viewEvents.ViewLineMappingChangedEvent): boolean {
public onLinesChanged(e: viewEvents.ViewLinesChangedEvent): boolean {
return false;
}
public onLinesDeleted(e: viewEvents.ViewLinesDeletedEvent): boolean {
......@@ -128,14 +128,14 @@ export class ViewEventHandler {
}
break;
case viewEvents.ViewEventType.ViewLineChanged:
if (this.onLineChanged(e)) {
case viewEvents.ViewEventType.ViewLineMappingChanged:
if (this.onLineMappingChanged(e)) {
shouldRender = true;
}
break;
case viewEvents.ViewEventType.ViewLineMappingChanged:
if (this.onLineMappingChanged(e)) {
case viewEvents.ViewEventType.ViewLinesChanged:
if (this.onLinesChanged(e)) {
shouldRender = true;
}
break;
......
......@@ -325,7 +325,7 @@ suite('RenderedLinesCollection onLineChanged', () => {
new TestLine('old8'),
new TestLine('old9')
]);
let actualPinged = col.onLineChanged(changedLineNumber);
let actualPinged = col.onLinesChanged(changedLineNumber, changedLineNumber);
assert.deepEqual(actualPinged, expectedPinged);
assertState(col, expectedState);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册