emit events on copy, cut and paste

This commit is contained in:
Fabian Jakobs 2011-08-12 09:51:43 +02:00
commit 9505a85237

View file

@ -405,20 +405,23 @@ var Editor =function(renderer, session) {
}; };
this.getCopyText = function() { this.getCopyText = function() {
if (!this.selection.isEmpty()) { var text = "";
return this.session.getTextRange(this.getSelectionRange()); if (!this.selection.isEmpty())
} text = this.session.getTextRange(this.getSelectionRange());
else {
return ""; this._emit("copy", text);
} return text;
}; };
this.onCut = function() { this.onCut = function() {
if (this.$readOnly) if (this.$readOnly)
return; return;
var range = this.getSelectionRange();
this._emit("cut", range);
if (!this.selection.isEmpty()) { if (!this.selection.isEmpty()) {
this.session.remove(this.getSelectionRange()) this.session.remove(range)
this.clearSelection(); this.clearSelection();
} }
}; };
@ -521,6 +524,9 @@ var Editor =function(renderer, session) {
}; };
this.onTextInput = function(text, notPasted) { this.onTextInput = function(text, notPasted) {
if (!notPasted)
this._emit("paste", text);
// In case the text was not pasted and we got only one character, then // In case the text was not pasted and we got only one character, then
// handel it as a command key stroke. // handel it as a command key stroke.
if (notPasted && text.length == 1) { if (notPasted && text.length == 1) {