/******************************************************************************* * Copyright (c) 2012-2017 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; /** * The 'Hover Object' for Orion hover * See <a href="https://wiki.eclipse.org/Orion/Documentation/Developer_Guide/Plugging_into_the_editor#orion.edit.hover">Hover Object</a> * * @author Evgen Vidolob */ public class OrionHoverOverlay extends JavaScriptObject { protected OrionHoverOverlay() {} public static native OrionHoverOverlay create() /*-{ return {}; }-*/; /** * @param title The title to use to identify this section. This may be either raw text or formatted as markdown. */ public final native void setTite(String title) /*-{ this.title = title; }-*/; /** * @param content The content to show. This combined with the defined 'type' determine the eventual output in the tooltip. */ public final native void setContent(String content) /*-{ this.content = content; }-*/; /** * @param type Defines the type of the 'content'. This is used to render the correct information into the tooltip's contents. * if this field is undefined then both 'title' and 'content' are rendered as raw text. * The type 'markdown' will render the content and title text as markdown (sanitized to remove HTML tags). * The type 'html' will render the content text as HTML inside of an iframe. */ public final native void setType(String type) /*-{ this.type = type; }-*/; /** * @param offset Along with offsetEnd, specifies the text offset range associated with the returned hover content. * If not provided, the closest word to the offset will be used. */ public final native void setOffsetStart(int offset) /*-{ this.offsetStart = offset; }-*/; /** * @param offset Along with offsetStart, specifies the text offset range associated with the returned hover content. * If not provided, the closest word to the offset will be used. */ public final native void setOffsetEnd(int offset) /*-{ this.offsetEnd = offset; }-*/; /** * @param width When the content 'type' is 'html', this string is set as the 'width' style of the iframe containing the content (ex. "200px"). */ public final native void setWidth(String width) /*-{ this.width = width; }-*/; /** * @param height When the content 'type' is 'html', this string is set as the 'height' style of the iframe containing the content (ex. "200px"). */ public final native void setHeight(String height) /*-{ this.height = height; }-*/; /** * @param allowFullWidth By default the tooltip width is restricted to half of the editor width. * This allows long contents to not cover the entire editor and instead wrap and scroll. * This behavior can be overridden by setting the allowFullWidth property to true. * When true, the tooltip can open as wide as the editor. * */ public final native void setAllowFullWidth(boolean allowFullWidth) /*-{ this.allowFullWidth = allowFullWidth; }-*/; }