diff --git a/gerrit-gwtui/src/main/java/net/codemirror/addon/Addons.java b/gerrit-gwtui/src/main/java/net/codemirror/addon/Addons.java index 1cddc7f369..79dcada989 100644 --- a/gerrit-gwtui/src/main/java/net/codemirror/addon/Addons.java +++ b/gerrit-gwtui/src/main/java/net/codemirror/addon/Addons.java @@ -25,4 +25,8 @@ public interface Addons extends ClientBundle { @Source("selection/mark-selection.js") @DoNotEmbed DataResource mark_selection(); + + @Source("fold/foldcode.js") + @DoNotEmbed + DataResource foldcode(); } diff --git a/gerrit-gwtui/src/main/java/net/codemirror/lib/CodeMirror.java b/gerrit-gwtui/src/main/java/net/codemirror/lib/CodeMirror.java index cd0331936f..2f1893dafc 100644 --- a/gerrit-gwtui/src/main/java/net/codemirror/lib/CodeMirror.java +++ b/gerrit-gwtui/src/main/java/net/codemirror/lib/CodeMirror.java @@ -71,6 +71,10 @@ public class CodeMirror extends JavaScriptObject { this.addLineWidget(line, node, options); }-*/; + public final native CodeMirrorDoc getDoc() /*-{ + return this.getDoc(); + }-*/; + public final native void scrollTo(int x, int y) /*-{ this.scrollTo(x, y); }-*/; diff --git a/gerrit-gwtui/src/main/java/net/codemirror/lib/CodeMirrorDoc.java b/gerrit-gwtui/src/main/java/net/codemirror/lib/CodeMirrorDoc.java new file mode 100644 index 0000000000..ff5d230706 --- /dev/null +++ b/gerrit-gwtui/src/main/java/net/codemirror/lib/CodeMirrorDoc.java @@ -0,0 +1,33 @@ +// Copyright (C) 2013 The Android Open Source Project +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package net.codemirror.lib; + +import com.google.gwt.core.client.JavaScriptObject; + +/** The Doc object representing the content in a CodeMirror */ +public class CodeMirrorDoc extends JavaScriptObject { + + public final native void replaceRange(String replacement, + LineCharacter from, LineCharacter to) /*-{ + this.replaceRange(replacement, from, to); + }-*/; + + public final native void insertText(String insertion, LineCharacter at) /*-{ + this.replaceRange(insertion, at); + }-*/; + + protected CodeMirrorDoc() { + } +} diff --git a/gerrit-gwtui/src/main/java/net/codemirror/lib/Loader.java b/gerrit-gwtui/src/main/java/net/codemirror/lib/Loader.java index 6373906d67..b6e3d7f620 100644 --- a/gerrit-gwtui/src/main/java/net/codemirror/lib/Loader.java +++ b/gerrit-gwtui/src/main/java/net/codemirror/lib/Loader.java @@ -47,6 +47,7 @@ class Loader { public void onSuccess(Void result) {} })); injectScript(Addons.I.mark_selection().getSafeUri(), group.add(cb)); + injectScript(Addons.I.foldcode().getSafeUri(), group.add(cb)); } }