/******************************************************************************* * Copyright (c) 2014-2015 Codenvy, S.A. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Codenvy, S.A. - initial API and implementation *******************************************************************************/ package org.eclipse.che.ide.editor.orion.client.jso; import com.google.gwt.core.client.JavaScriptObject; import com.google.gwt.core.client.JsArray; import org.eclipse.che.api.promises.client.OperationException; public class OrionEditorOverlay extends JavaScriptObject { protected OrionEditorOverlay() { } public final native <T extends OrionEventOverlay> void addEventListener(String eventType, EventHandler<T> handler, boolean useCapture) /*-{ var func = function (param) { handler.@org.eclipse.che.ide.editor.orion.client.jso.OrionEditorOverlay.EventHandler::onEvent(*)(param); }; this.addEventListener(eventType, func, useCapture); }-*/; public interface EventHandler<T extends OrionEventOverlay> { void onEvent(T parameter) throws OperationException; } public final native String getText() /*-{ return this.getText(); }-*/; public final native void setText(final String newValue) /*-{ this.setText(newValue); }-*/; public final native OrionTextViewOverlay getTextView() /*-{ return this.getTextView(); }-*/; /** Returns the content assist of the editor. */ public final native OrionContentAssistOverlay getContentAssist() /*-{ return this.getContentAssist(); }-*/; public final native void focus() /*-{ this.focus(); }-*/; public final native OrionTextModelOverlay getModel() /*-{ return this.getModel(); }-*/; public final native void setCaretOffset(int offset) /*-{ this.setCaretOffset(offset, true); }-*/; public final native int getCaretOffset() /*-{ return this.getCaretOffset(); }-*/; public final native void setText(String text, int start, int end) /*-{ this.setText(text, start, end); }-*/; public final native OrionUndoStackOverlay getUndoStack() /*-{ return this.getUndoStack(); }-*/; public final native OrionSelectionOverlay getSelection() /*-{ return this.getSelection(); }-*/; /** * Sets the selection. * * @param start * offset of the start of range * @param end * offset of the end of range (can be before the start) */ public final native void setSelection(int start, int end) /*-{ this.setSelection(start, end); }-*/; /** * Sets the selection. * * @param start * offset of the start of range * @param end * offset of the end of range (can be before the start) * @param show * scroll to show the range iff the value is true */ public final native void setSelection(int start, int end, boolean show) /*-{ this.setSelection(start, end, show); }-*/; /** * Sets the selection. * * @param start * offset of the start of range * @param end * offset of the end of range (can be before the start) * @param show * additional percentage ([0,1] that must also be shown */ public final native void setSelection(int start, int end, double show) /*-{ this.setSelection(start, end, show); }-*/; /** * Sets the selection. * * @param start * offset of the start of range * @param end * offset of the end of range (can be before the start) * @param options * an option object */ public final native void setSelection(int start, int end, OrionTextViewShowOptionsOverlay options) /*-{ this.setSelection(start, end, show); }-*/; public final native boolean isDirty() /*-{ return this.isDirty(); }-*/; public final native void setDirty(final boolean newValue) /*-{ this.setDirty(newValue); }-*/; /** * Report the message to the user. * * @param message * the message */ public final native void reportStatus(String message) /*-{ this.reportStatus(message); }-*/; /** * Report the message to the user. * * @param message * the message * @param type * either normal or "progress" or "error"; */ public final native void reportStatus(String message, String type) /*-{ this.reportStatus(message, type); }-*/; /** * Report the message to the user. * * @param message * the message * @param type * either normal or "progress" or "error" * @param accessible * if true, a screen reader will read this message */ public final native void reportStatus(String message, String type, boolean accessible) /*-{ this.reportStatus(message, type, accessible); }-*/; /** * Returns the annotation model. * * @return the annotation model */ public final native OrionAnnotationModelOverlay getAnnotationModel() /*-{ return this.getAnnotationModel(); }-*/; public final native void setZoomRulerVisible(boolean visible) /*-{ this.setZoomRulerVisible(visible); }-*/; public final native void showProblems(JsArray<OrionProblemOverlay> problems) /*-{ this.showProblems(problems); }-*/; /** * Returns the annotation styler of the editor. * * @return */ public final native AnnotationStylerOverlay getAnnotationStyler() /*-{ return this.getAnnotationStyler(); }-*/; /** * Returns the editor linked mode. * * @return * @param annotationModel */ public final native OrionLinkedModeOverlay getLinkedMode(OrionAnnotationModelOverlay annotationModel) /*-{ var linkedMode = this.getLinkedMode(); if(linkedMode._annotationModel === undefined){ linkedMode._annotationModel = annotationModel; } return linkedMode; }-*/; }