summaryrefslogtreecommitdiff
path: root/Source/WebInspectorUI/UserInterface/Controllers/CodeMirrorEditingController.js
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2016-04-10 09:28:39 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2016-04-10 09:28:39 +0000
commit32761a6cee1d0dee366b885b7b9c777e67885688 (patch)
treed6bec92bebfb216f4126356e55518842c2f476a1 /Source/WebInspectorUI/UserInterface/Controllers/CodeMirrorEditingController.js
parenta4e969f4965059196ca948db781e52f7cfebf19e (diff)
downloadWebKitGtk-tarball-32761a6cee1d0dee366b885b7b9c777e67885688.tar.gz
webkitgtk-2.4.11webkitgtk-2.4.11
Diffstat (limited to 'Source/WebInspectorUI/UserInterface/Controllers/CodeMirrorEditingController.js')
-rw-r--r--Source/WebInspectorUI/UserInterface/Controllers/CodeMirrorEditingController.js188
1 files changed, 0 insertions, 188 deletions
diff --git a/Source/WebInspectorUI/UserInterface/Controllers/CodeMirrorEditingController.js b/Source/WebInspectorUI/UserInterface/Controllers/CodeMirrorEditingController.js
deleted file mode 100644
index 6902ca6b9..000000000
--- a/Source/WebInspectorUI/UserInterface/Controllers/CodeMirrorEditingController.js
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Copyright (C) 2014 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-WebInspector.CodeMirrorEditingController = class CodeMirrorEditingController extends WebInspector.Object
-{
- constructor(codeMirror, marker)
- {
- super();
-
- this._codeMirror = codeMirror;
- this._marker = marker;
- this._delegate = null;
-
- this._range = marker.range;
-
- // The value must support .toString() and .copy() methods.
- this._value = this.initialValue;
-
- this._keyboardShortcutEsc = new WebInspector.KeyboardShortcut(null, WebInspector.KeyboardShortcut.Key.Escape);
- }
-
- // Public
-
- get marker()
- {
- return this._marker;
- }
-
- get range()
- {
- return this._range;
- }
-
- get value()
- {
- return this._value;
- }
-
- set value(value)
- {
- this.text = value.toString();
- this._value = value;
- }
-
- get delegate()
- {
- return this._delegate;
- }
-
- set delegate(delegate)
- {
- this._delegate = delegate;
- }
-
- get text()
- {
- var from = {line: this._range.startLine, ch: this._range.startColumn};
- var to = {line: this._range.endLine, ch: this._range.endColumn};
- return this._codeMirror.getRange(from, to);
- }
-
- set text(text)
- {
- var from = {line: this._range.startLine, ch: this._range.startColumn};
- var to = {line: this._range.endLine, ch: this._range.endColumn};
- this._codeMirror.replaceRange(text, from, to);
-
- var lines = text.split("\n");
- var endLine = this._range.startLine + lines.length - 1;
- var endColumn = lines.length > 1 ? lines.lastValue.length : this._range.startColumn + text.length;
- this._range = new WebInspector.TextRange(this._range.startLine, this._range.startColumn, endLine, endColumn);
- }
-
- get initialValue()
- {
- // Implemented by subclasses.
- return this.text;
- }
-
- get cssClassName()
- {
- // Implemented by subclasses.
- return "";
- }
-
- get popover()
- {
- return this._popover;
- }
-
- get popoverPreferredEdges()
- {
- // Best to display the popover to the left or above the edited range since its end position may change, but not its start
- // position. This way we minimize the chances of overlaying the edited range as it changes.
- return [WebInspector.RectEdge.MIN_X, WebInspector.RectEdge.MIN_Y, WebInspector.RectEdge.MAX_Y, WebInspector.RectEdge.MAX_X];
- }
-
- popoverTargetFrameWithRects(rects)
- {
- return WebInspector.Rect.unionOfRects(rects);
- }
-
- presentHoverMenu()
- {
- this._hoverMenu = new WebInspector.HoverMenu(this);
- this._hoverMenu.element.classList.add(this.cssClassName);
- this._rects = this._marker.rects;
- this._hoverMenu.present(this._rects);
- }
-
- dismissHoverMenu(discrete)
- {
- this._hoverMenu.dismiss(discrete);
- }
-
- popoverWillPresent(popover)
- {
- // Implemented by subclasses.
- }
-
- popoverDidPresent(popover)
- {
- // Implemented by subclasses.
- }
-
- // Protected
-
- handleKeydownEvent(event)
- {
- if (!this._keyboardShortcutEsc.matchesEvent(event) || !this._popover.visible)
- return false;
-
- this.value = this._originalValue;
- this._popover.dismiss();
-
- return true;
- }
-
- hoverMenuButtonWasPressed(hoverMenu)
- {
- this._popover = new WebInspector.Popover(this);
- this.popoverWillPresent(this._popover);
- this._popover.present(this.popoverTargetFrameWithRects(this._rects).pad(2), this.popoverPreferredEdges);
- this.popoverDidPresent(this._popover);
-
- WebInspector.addWindowKeydownListener(this);
-
- hoverMenu.dismiss();
-
- if (this._delegate && typeof this._delegate.editingControllerDidStartEditing === "function")
- this._delegate.editingControllerDidStartEditing(this);
-
- this._originalValue = this._value.copy();
- }
-
- didDismissPopover(popover)
- {
- delete this._popover;
- delete this._originalValue;
-
- WebInspector.removeWindowKeydownListener(this);
-
- if (this._delegate && typeof this._delegate.editingControllerDidFinishEditing === "function")
- this._delegate.editingControllerDidFinishEditing(this);
- }
-};