Example usage for com.google.gwt.core.client JavaScriptObject cast

List of usage examples for com.google.gwt.core.client JavaScriptObject cast

Introduction

In this page you can find the example usage for com.google.gwt.core.client JavaScriptObject cast.

Prototype

@Override
@SuppressWarnings("unchecked")
public <T extends JavascriptObjectEquivalent> T cast() 

Source Link

Document

A helper method to enable cross-casting from any JavaScriptObject type to any other JavaScriptObject type.

Usage

From source file:org.gwtnode.modules.xmldom.w3c.DOMException.java

License:Apache License

@SuppressWarnings("deprecation")
public static final DOMException create(JavaScriptException exception) {
    DOMException result;//from   ww  w  . ja v  a 2 s .  c o m
    if (exception != null) {
        JavaScriptObject e = exception.getException();
        if (e != null) {
            result = e.cast();
            String m = result.message();
            if (m == null || m.isEmpty())
                result.message(exception.getMessage());
        } else {
            result = JavaScriptObject.createObject().cast();
            result.message(exception.getMessage());
        }
    } else
        result = JavaScriptObject.createObject().cast();
    return result;
}

From source file:org.kjots.json.object.gwt.client.impl.GwtJsonObjectFactoryImplBase.java

License:Apache License

/**
 * Construct a new GWT JSON Object Factory Implementation Base.
 *//*  ww  w .  j  ava 2  s .co  m*/
@SuppressWarnings({ "rawtypes", "unchecked" })
protected GwtJsonObjectFactoryImplBase() {
    this.registerJsonObjectInstantiator(JsonObject.class, new JsonObjectInstantiator<JsonObject>() {
        @Override
        public final JsonObject newInstance(JavaScriptObject jsObject) {
            return new GwtJsonObjectImpl(jsObject);
        }
    });

    this.registerJsonObjectInstantiator(JsonArray.class, new JsonObjectInstantiator<JsonArray>() {
        @Override
        public final JsonArray newInstance(JavaScriptObject jsObject) {
            return new GwtJsonArrayImpl(jsObject);
        }
    });

    this.registerJsonObjectInstantiator(JsonBooleanArray.class, new JsonObjectInstantiator<JsonBooleanArray>() {
        @Override
        public final JsonBooleanArray newInstance(JavaScriptObject jsObject) {
            return new GwtJsonBooleanArrayImpl((JsArrayBoolean) jsObject.cast());
        }
    });

    this.registerJsonObjectInstantiator(JsonNumberArray.class, new JsonObjectInstantiator<JsonNumberArray>() {
        @Override
        public final JsonNumberArray newInstance(JavaScriptObject jsObject) {
            return new GwtJsonNumberArrayImpl((JsArrayNumber) jsObject.cast());
        }
    });

    this.registerJsonObjectInstantiator(JsonStringArray.class, new JsonObjectInstantiator<JsonStringArray>() {
        @Override
        public final JsonStringArray newInstance(JavaScriptObject jsObject) {
            return new GwtJsonStringArrayImpl((JsArrayString) jsObject.cast());
        }
    });

    this.registerJsonObjectInstantiator(JsonObjectArray.class, new JsonObjectInstantiator<JsonObjectArray>() {
        @Override
        public final JsonObjectArray newInstance(JavaScriptObject jsObject) {
            return new GwtJsonObjectArrayImpl((JsArray<?>) jsObject.cast());
        }
    });

    this.registerJsonObjectInstantiator(JsonBooleanMap.class, new JsonObjectInstantiator<JsonBooleanMap>() {
        @Override
        public final JsonBooleanMap newInstance(JavaScriptObject jsObject) {
            return new GwtJsonBooleanMapImpl(jsObject);
        }
    });

    this.registerJsonObjectInstantiator(JsonNumberMap.class, new JsonObjectInstantiator<JsonNumberMap>() {
        @Override
        public final JsonNumberMap newInstance(JavaScriptObject jsObject) {
            return new GwtJsonNumberMapImpl(jsObject);
        }
    });

    this.registerJsonObjectInstantiator(JsonStringMap.class, new JsonObjectInstantiator<JsonStringMap>() {
        @Override
        public final JsonStringMap newInstance(JavaScriptObject jsObject) {
            return new GwtJsonStringMapImpl(jsObject);
        }
    });

    this.registerJsonObjectInstantiator(JsonObjectMap.class, new JsonObjectInstantiator<JsonObjectMap>() {
        @Override
        public final JsonObjectMap newInstance(JavaScriptObject jsObject) {
            return new GwtJsonObjectMapImpl(jsObject);
        }
    });
}

From source file:org.lirazs.gbackbone.client.core.js.JsObject.java

License:Apache License

public final void pushAll(JavaScriptObject prevElem) {
    checkNull();/*from  w w  w .j  a v a 2 s . co  m*/
    JsObject c = prevElem.cast();
    for (int i = 0, ilen = c.length(); i < ilen; i++) {
        put(length(), c.get(i));
    }
}

From source file:org.nsesa.editor.gwt.core.client.ui.rte.ckeditor.CKEditorBasicStylesPlugin.java

License:EUPL

/**
 * Find basic style element based on the given container an style type
 * @param container the parent element as {@link JavaScriptObject}
 * @param tagName The tag name/*from  w  w  w  .  ja va2 s  . c  o  m*/
 * @return {@link JavaScriptObject}
 */
private JavaScriptObject findBasicStyleElement(JavaScriptObject container, String tagName) {
    Element el = container.cast();
    OverlayWidget parent = overlayFactory.getAmendableWidget(el);
    if (parent != null) {
        OverlayWidget basicStyleWidget = basicStyleProvider.get(BasicStyleDefinition.valueOf(tagName), parent);
        return basicStyleWidget.getOverlayElement();
    }
    return null;
}

From source file:org.nsesa.editor.gwt.core.client.ui.rte.ckeditor.CKEditorBubbleUpEventsPlugin.java

License:EUPL

/**
 * Fire a new key up event/*from   w w  w .ja  v a 2  s .  c  o  m*/
 * @param jso {@link JavaScriptObject} representation of {@link KeyHandler}
 */
private void bubbleUpKeyEvent(JavaScriptObject jso) {
    KeyHandler keyHandler = jso.cast();
    NativeEvent nativeEvent = Document.get().createKeyUpEvent(keyHandler.isCtrlKey(), keyHandler.isAltKey(),
            keyHandler.isShiftKey(), keyHandler.isMetaKey(), keyHandler.getKeyCode());

    Event.fireNativePreviewEvent(nativeEvent);

}

From source file:org.nsesa.editor.gwt.core.client.ui.rte.ckeditor.CKEditorEnterKeyPlugin.java

License:EUPL

/**
 * Identify what type of element will be inserted when press enter over an existing element
 * @param existingElement//  www . j  a v a2 s  . co  m
 * @return The new element that will be inserted
 */
private String onEnter(JavaScriptObject existingElement, JavaScriptObject editor) {
    Element el = existingElement.cast();
    OverlayWidget original = findOverlayWidget(el, getEditorBodyAsOverlay(editor, overlayFactory));

    OverlayWidget newWidget = null;
    if (conversionEnterRule != null) {
        //fill in the ancestors for this widget
        newWidget = conversionEnterRule.convert(original);
    } else {
        //create a new one on the same type
        newWidget = overlayFactory.getAmendableWidget(original.getNamespaceURI(), original.getType());
        if (newWidget != null) {
            newWidget.getOverlayElement().setInnerText(EMPTY_CHAR);
        }
    }

    return newWidget == null ? null
            : DOM.toString((com.google.gwt.user.client.Element) newWidget.getOverlayElement());
}

From source file:org.nsesa.editor.gwt.core.client.ui.rte.ckeditor.CKEditorEnterKeyPlugin.java

License:EUPL

private void notifyModification(JavaScriptObject existingElement, JavaScriptObject editor) {
    Element el = existingElement.cast();
    final OverlayWidget overlayWidget = findOverlayWidget(el, getEditorBodyAsOverlay(editor, overlayFactory));
    if (overlayWidget != null && overlayWidget.getParentOverlayWidget() != null) {
        clientFactory.getEventBus()/*from w  w w  .ja va  2  s . c o  m*/
                .fireEvent(new RTEStructureChangedEvent(overlayWidget.getParentOverlayWidget()));
    }
}

From source file:org.nsesa.editor.gwt.core.client.ui.rte.ckeditor.CKEditorEnterKeyPlugin.java

License:EUPL

/**
 * Return String representation of brWidget
 * @return String//from w w w  . j ava2  s  . co m
 */
private String getLineBreak(JavaScriptObject container) {
    Element el = container.cast();
    OverlayWidget original = overlayFactory.getAmendableWidget(el);
    OverlayWidget lineBreak = lineBreakProvider.get(original);
    if (lineBreak == null) {
        LOG.severe("The line break can not be retrieved for namespace "
                + (original == null ? "null" : original.getNamespaceURI()));
        return null;
    }
    return DOM.toString((com.google.gwt.user.client.Element) lineBreak.getOverlayElement());
}

From source file:org.nsesa.editor.gwt.core.client.ui.rte.ckeditor.CKEditorEnterKeyPlugin.java

License:EUPL

/**
 * Returns true when the element was set up to be split
 * @param existingElement the element to be processed
 * @return True when the element was set up to be split;
 *//*from   w w  w . j a  v  a2 s .c  o  m*/
private boolean split(JavaScriptObject existingElement) {
    Element el = existingElement.cast();
    OverlayWidget original = overlayFactory.getAmendableWidget(el);
    return (original == null) ? false : splitEnterRule.split(original);
}

From source file:org.nsesa.editor.gwt.core.client.ui.rte.ckeditor.CKEditorSelectionChangedPlugin.java

License:EUPL

/**
 * A convenient way to fire an event from java code
 * @param jsObject The parent element//from   w ww . j  a v a2 s.  c  o  m
 * @param moreTagsSelected True when more tag elements have been selected
 * @param selectedText The selected text from the editor area
 */
private void fireEvent(JavaScriptObject jsObject, boolean moreTagsSelected, String selectedText) {
    LOG.info("Changed event fired with more tags selected: " + moreTagsSelected + " and selected text "
            + selectedText);
    Element el = jsObject.cast();
    //raise the event only when something has been changed
    if (el != null) {
        if (!el.equals(previousElement) || moreTagsSelected != previousMoreTagsSelected
                || !selectedText.equalsIgnoreCase(previousSelectedText)) {

            clientFactory.getEventBus()
                    .fireEvent(new VisualStructureSelectionChangedEvent(el, moreTagsSelected, selectedText));
        }
    }
    previousElement = el;
    previousMoreTagsSelected = moreTagsSelected;
    previousSelectedText = selectedText;

}