do not require cursors to be sorted
This commit is contained in:
parent
bd6ecd1b8b
commit
107735560a
1 changed files with 21 additions and 25 deletions
|
|
@ -141,37 +141,33 @@ var Cursor = function(parentEl) {
|
||||||
this.update = function(config) {
|
this.update = function(config) {
|
||||||
this.config = config;
|
this.config = config;
|
||||||
|
|
||||||
if (!this.session.selection.multiSelectMode) {
|
if (this.session.selection.rangeCount > 1) {
|
||||||
this.pixelPos = this.getPixelPosition(null, true);
|
var selections = this.session.selection.allRanges
|
||||||
|
var i = 0, sel, cursorIndex = 0;
|
||||||
|
|
||||||
|
for (var i = selections.length; i--; ) {
|
||||||
|
sel = selections[i];
|
||||||
|
var pixelPos = this.getPixelPosition(sel.cursor, true);
|
||||||
|
|
||||||
|
var style = (this.cursors[cursorIndex++] || this.addCursor()).style;
|
||||||
|
|
||||||
|
style.left = pixelPos.left + "px";
|
||||||
|
style.top = pixelPos.top + "px";
|
||||||
|
style.width = config.characterWidth + "px";
|
||||||
|
style.height = config.lineHeight + "px";
|
||||||
|
}
|
||||||
|
while (cursorIndex < this.cursors.length)
|
||||||
|
this.removeCursor();
|
||||||
|
} else {
|
||||||
|
var pixelPos = this.getPixelPosition(null, true);
|
||||||
var style = this.cursor.style;
|
var style = this.cursor.style;
|
||||||
style.left = this.pixelPos.left + "px";
|
style.left = pixelPos.left + "px";
|
||||||
style.top = this.pixelPos.top + "px";
|
style.top = pixelPos.top + "px";
|
||||||
style.width = config.characterWidth + "px";
|
style.width = config.characterWidth + "px";
|
||||||
style.height = config.lineHeight + "px";
|
style.height = config.lineHeight + "px";
|
||||||
|
|
||||||
while (this.cursors.length > 1)
|
while (this.cursors.length > 1)
|
||||||
this.removeCursor();
|
this.removeCursor();
|
||||||
} else {
|
|
||||||
var selections = this.session.selection.allRanges
|
|
||||||
var i = 0, sel, cursorIndex = 0;
|
|
||||||
|
|
||||||
while ((sel = selections[i]) && sel.cursor.row < config.firstRow)
|
|
||||||
i++;
|
|
||||||
|
|
||||||
while ((sel = selections[i]) && sel.cursor.row < config.lastRow) {
|
|
||||||
this.pixelPos = this.getPixelPosition(sel.cursor, true);
|
|
||||||
|
|
||||||
var style = (this.cursors[cursorIndex++] || this.addCursor()).style;
|
|
||||||
|
|
||||||
style.left = this.pixelPos.left + "px";
|
|
||||||
style.top = this.pixelPos.top + "px";
|
|
||||||
style.width = config.characterWidth + "px";
|
|
||||||
style.height = config.lineHeight + "px";
|
|
||||||
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
while (cursorIndex < this.cursors.length)
|
|
||||||
this.removeCursor();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var overwrite = this.session.getOverwrite();
|
var overwrite = this.session.getOverwrite();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue