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

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

Introduction

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

Prototype

@Override
    public void setPropertyJSO(String name, JavaScriptObject value) 

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 a v  a 2 s .co m*/
 * @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:org.waveprotocol.wave.client.editor.content.paragraph.ParagraphHelperBr.java

License:Apache License

/**
 * Setup the given br element as the paragraph's spacer
 * @param paragraph/*from   w  ww  .j ava  2  s.  c  om*/
 * @param spacer
 */
private void setupSpacer(Element paragraph, BRElement spacer) {
    NodeManager.setTransparency(spacer, Skip.DEEP);
    paragraph.setPropertyJSO(BR_REF, spacer);
}