Example usage for com.google.gwt.dom.client Element getPropertyJSO

List of usage examples for com.google.gwt.dom.client Element getPropertyJSO

Introduction

In this page you can find the example usage for com.google.gwt.dom.client Element getPropertyJSO.

Prototype

@Override
    public JavaScriptObject getPropertyJSO(String name) 

Source Link

Usage

From source file:com.sencha.gxt.chart.client.draw.engine.VML.java

License:sencha.com license

/**
 * Applies the fill attribute of a sprite to its VML DOM element.
 * /*w w w.j av a  2  s . com*/
 * @param sprite the sprite to have its fill set
 */
private void setFill(Sprite sprite, Element element) {
    Element fill = element.getPropertyJSO("fill").cast();

    if (fill == null) {
        fill = createNode("fill");
        element.setPropertyJSO("fill", fill);
        element.appendChild(fill);
    }

    if (sprite.getFill() == null || sprite.getFill() == Color.NONE) {
        fill.setPropertyBoolean("on", false);
    } else {
        if (sprite.isFillDirty() || ignoreOptimizations) {
            fill.setPropertyBoolean("on", true);
            if (sprite.getFill() instanceof Gradient) {
                Gradient gradient = (Gradient) sprite.getFill();
                // VML angle is offset and inverted from standard, and must be
                // adjusted
                // to match rotation transform
                final double degrees;
                if (sprite.getRotation() != null) {
                    degrees = sprite.getRotation().getDegrees();
                } else {
                    degrees = 0;
                }

                double angle;
                angle = -(gradient.getAngle() + 270 + degrees) % 360.0;
                // IE will flip the angle at 0 degrees...
                if (angle == 0) {
                    angle = 180;
                }
                fill.setPropertyDouble("angle", angle);
                fill.setPropertyString("type", "gradient");
                fill.setPropertyString("method", "sigma");
                StringBuilder stops = new StringBuilder();
                for (Stop stop : gradient.getStops()) {
                    if (stops.length() > 0) {
                        stops.append(", ");
                    }
                    stops.append(stop.getOffset()).append("% ").append(stop.getColor());
                }
                Element colors = fill.getPropertyJSO("colors").cast();
                colors.setPropertyString("value", stops.toString());
            } else {
                fill.setPropertyString("color", sprite.getFill().getColor());
                fill.setPropertyString("src", "");
                fill.setPropertyString("type", "solid");
            }
        }

        if (!Double.isNaN(sprite.getOpacity()) && (sprite.isOpacityDirty() || ignoreOptimizations)) {
            fill.setPropertyString("opacity", String.valueOf(sprite.getOpacity()));
        }
        if (!Double.isNaN(sprite.getFillOpacity()) && (sprite.isFillOpacityDirty() || ignoreOptimizations)) {
            fill.setPropertyString("opacity", String.valueOf(sprite.getFillOpacity()));
        }
    }
}

From source file:com.vaadin.client.ApplicationConfiguration.java

License:Apache License

private boolean vaadinBootstrapLoaded() {
    Element window = ScriptInjector.TOP_WINDOW.cast();
    return window.getPropertyJSO("vaadin") != null;
}

From source file:org.waveprotocol.wave.client.editor.content.paragraph.ParagraphHelperBr.java

License:Apache License

/**
 * Get the spacer for the given paragraph.
 * Lazily creates & registers one if not present.
 * If there's one that the browser created, registers it as our own.
 * If the browser put a different one in to the one that we were already
 * using, replace ours with the browser's.
 * @param paragraph/*from   w  ww .j  a v  a  2s  .  c  om*/
 * @return The spacer
 */
protected BRElement getSpacer(Element paragraph) {
    Node last = paragraph.getLastChild();
    BRElement spacer = paragraph.getPropertyJSO(BR_REF).cast();
    if (spacer == null) {
        // Register our spacer, using one the browser put in if present
        spacer = isSpacer(last) ? last.<BRElement>cast() : Document.get().createBRElement();
        setupSpacer(paragraph, spacer);
    } else if (isSpacer(last) && last != spacer) {
        // The browser put a different one in by itself, so let's use that one
        if (spacer.hasParentElement()) {
            spacer.removeFromParent();
        }
        spacer = last.<BRElement>cast();
        setupSpacer(paragraph, spacer);
    }
    return spacer;
}