diff --git a/lib/ace/multi_select.js b/lib/ace/multi_select.js index ea4b3198..d571b6dd 100644 --- a/lib/ace/multi_select.js +++ b/lib/ace/multi_select.js @@ -887,24 +887,25 @@ function MultiSelect(editor) { function addAltCursorListeners(editor){ var el = editor.textInput.getElement(); var altCursor = false; - var contentEl = editor.renderer.content; event.addListener(el, "keydown", function(e) { if (e.keyCode == 18 && !(e.ctrlKey || e.shiftKey || e.metaKey)) { if (!altCursor) { - contentEl.style.cursor = "crosshair"; + editor.renderer.setMouseCursor("crosshair"); altCursor = true; } } else if (altCursor) { - contentEl.style.cursor = ""; + reset(); } }); event.addListener(el, "keyup", reset); event.addListener(el, "blur", reset); - function reset() { + function reset(e) { if (altCursor) { - contentEl.style.cursor = ""; + editor.renderer.setMouseCursor(""); altCursor = false; + // TODO disable menu poping up + // e && e.preventDefault() } } } diff --git a/lib/ace/virtual_renderer.js b/lib/ace/virtual_renderer.js index 4b1ee6df..c8cb0ed0 100644 --- a/lib/ace/virtual_renderer.js +++ b/lib/ace/virtual_renderer.js @@ -1504,9 +1504,8 @@ var VirtualRenderer = function(container, theme) { * [Adds a new class, `style`, to the editor.]{: #VirtualRenderer.setStyle} * @param {String} style A class name * - * **/ - this.setStyle = function setStyle(style, include) { + this.setStyle = function(style, include) { dom.setCssClass(this.container, style, include != false); }; @@ -1514,14 +1513,20 @@ var VirtualRenderer = function(container, theme) { * [Removes the class `style` from the editor.]{: #VirtualRenderer.unsetStyle} * @param {String} style A class name * - * **/ - this.unsetStyle = function unsetStyle(style) { + this.unsetStyle = function(style) { dom.removeCssClass(this.container, style); }; /** + * @param {String} cursorStyle A css cursor style * + **/ + this.setMouseCursor = function(cursorStyle) { + this.content.style.cursor = cursorStyle; + }; + + /** * Destroys the text and cursor layers for this renderer. **/ this.destroy = function() {