Example usage for com.google.gwt.dom.client ImageElement setSrc

List of usage examples for com.google.gwt.dom.client ImageElement setSrc

Introduction

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

Prototype

public void setSrc(String src) 

Source Link

Document

URI designating the source of this image.

Usage

From source file:com.anzsoft.client.ui.ChatWindow.java

License:Open Source License

private DivElement createMessage(final String user, final String message, boolean local) {
    Element element = DOM.createDiv();
    DivElement messageDiv = DivElement.as(element);
    lastMsgID = DOM.createUniqueId();/*from   w w  w .j  av  a2s  .com*/
    messageDiv.setId(lastMsgID);
    messageDiv.setClassName("selected-article");

    //create the avatar table
    element = DOM.createTable();
    TableElement avatarTable = TableElement.as(element);
    messageDiv.appendChild(avatarTable);
    avatarTable.setAttribute("hspace", "4");
    avatarTable.setAttribute("cellspacing", "0");
    avatarTable.setAttribute("vspace", "2");
    avatarTable.setAttribute("border", "0");
    avatarTable.setAttribute("align", "left");

    Element tbodyElement = DOM.createTBody();
    avatarTable.appendChild(tbodyElement);

    Element trElement = DOM.createTR();
    tbodyElement.appendChild(trElement);

    Element tdElement = DOM.createTD();
    trElement.appendChild(tdElement);
    tdElement.setAttribute("height", "45");
    tdElement.setAttribute("width", "45");
    tdElement.setAttribute("align", "middle");
    Style style = tdElement.getStyle();
    style.setProperty("border", "1px solid black");
    style.setProperty("background-color", "white");

    Element imgElement = DOM.createImg();
    ImageElement imageElement = ImageElement.as(imgElement);
    tdElement.appendChild(imageElement);
    imageElement.setAttribute("height", "45");
    imageElement.setAttribute("widht", "45");
    XmppVCard vc = null;
    if (local)
        vc = JabberApp.instance().getSelfVCard();
    else
        vc = vcard;
    if (!GXT.isIE && vc != null && !vc.photo().isEmpty())
        imageElement.setSrc("data:image;base64," + vc.photo());
    else
        imageElement.setSrc(JabberApp.instance().getAvatarUrl(jid));

    tdElement = DOM.createTD();
    tdElement.setInnerHTML("&nbsp&nbsp");
    trElement.appendChild(tdElement);

    //create the div for timestamp and nick
    element = DOM.createDiv();
    DivElement tnDiv = DivElement.as(element);
    tnDiv.setClassName("msg_header");
    messageDiv.appendChild(tnDiv);
    //style = tnDiv.getStyle();
    //style.setProperty("border-bottom", "1px solid black");

    element = DOM.createTable();
    TableElement tnTableElement = TableElement.as(element);
    tnDiv.appendChild(tnTableElement);
    tnTableElement.setAttribute("cellspacing", "0");
    tnTableElement.setAttribute("cellpadding", "0");
    tnTableElement.setAttribute("width", "80%");
    tnTableElement.setAttribute("border", "0");

    tbodyElement = DOM.createTBody();
    tnTableElement.appendChild(tbodyElement);

    trElement = DOM.createTR();
    tbodyElement.appendChild(trElement);

    Element nickElement = DOM.createTD();
    trElement.appendChild(nickElement);
    nickElement.setClassName("msg-nick");
    nickElement.setAttribute("valign", "bottom");
    nickElement.setAttribute("align", "left");
    nickElement.setInnerHTML("<b>" + user + "</b>");

    Element timeElement = DOM.createTD();
    trElement.appendChild(timeElement);
    timeElement.setClassName("msg-nick");
    timeElement.setAttribute("valign", "bottom");
    timeElement.setAttribute("align", "right");
    DateTimeFormat timeFormat = DateTimeFormat.getMediumTimeFormat();
    String datetime = timeFormat.format(new java.util.Date());
    timeElement.setInnerHTML("<small>" + datetime + "</small>");

    Element messageElement = DOM.createSpan();
    messageElement.setInnerHTML(ChatTextFormatter.format(message == null ? "" : message).getHTML());

    messageDiv.appendChild(messageElement);
    return messageDiv;
}

From source file:com.anzsoft.client.ui.UserIndicator.java

License:Open Source License

public UserIndicator(final String nick) {
    createStatusMenu();//ww w. j  a  va  2  s.com
    setWidth("100%");
    setCellPadding(0);
    setCellSpacing(0);
    setStyleName("indicator");
    FlexCellFormatter formatter = getFlexCellFormatter();

    // Setup the links cell
    /*
    linksPanel = new HorizontalPanel();
    setWidget(0, 0, linksPanel);
    formatter.setStyleName(0, 0, "indicator-links");
    formatter.setHorizontalAlignment(0, 0, HasHorizontalAlignment.ALIGN_RIGHT);
    formatter.setColSpan(0, 0, 2);
    */

    // Setup the title cell
    setTitleWidget(null);
    formatter.setStyleName(0, 0, "indicator-title");

    getRowFormatter().setVerticalAlign(0, HasVerticalAlignment.ALIGN_TOP);
    getRowFormatter().setVerticalAlign(1, HasVerticalAlignment.ALIGN_TOP);

    final ChatIcons icons = ChatIcons.App.getInstance();
    statusImg = new Image();
    statusImg.setWidth("16px");
    statusImg.setHeight("16px");
    icons.online().applyTo(statusImg);

    avatarImg = new Image("images/default_avatar.png");
    avatarImg.setWidth("32px");
    avatarImg.setHeight("32px");
    avatarImg.setStyleName("handler");
    avatarImg.addClickListener(new ClickListener() {
        public void onClick(Widget sender) {
            JabberApp.instance().showInfoSelf();
        }

    });

    nickName = new Label(nick);
    nickName.setDirection(Direction.LTR);
    nickName.setWidth("100%");

    statusLabel = new Label();
    statusLabel.setStyleName("status_label");
    statusLabel.setWidth("100%");

    statusEditor = new TextBox();
    statusEditor.setVisible(false);
    statusEditor.setWidth("100%");

    statusButton = new Button();
    statusButton.setMenu(statusMenu);
    statusButton.setStyleName("Status-Menu-Button");

    //statusMenuLabel = new Label();
    //statusMenuLabel.setStyleName("status_menu_label");

    //addLink(new HTML("<a href=\"http://samespace.anzsoft.com\">SameSpace</a>"));
    // Add the title and some images to the title bar
    HorizontalPanel titlePanel = new HorizontalPanel();
    titlePanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
    titlePanel.setWidth("100%");
    titlePanel.setSpacing(3);

    VerticalPanel statusPanel = new VerticalPanel();
    statusPanel.setWidth("100%");
    statusPanel.add(nickName);

    HorizontalPanel hPanel = new HorizontalPanel();
    hPanel.setWidth("100%");
    hPanel.setSpacing(2);
    hPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_TOP);
    hPanel.add(statusLabel);
    hPanel.add(statusEditor);
    hPanel.add(statusButton);

    statusPanel.add(hPanel);

    titlePanel.add(statusImg);
    titlePanel.add(statusPanel);
    titlePanel.add(avatarImg);

    titlePanel.setCellWidth(statusImg, "20px");
    titlePanel.setCellWidth(statusPanel, "100%");
    titlePanel.setCellWidth(avatarImg, "32px");
    setTitleWidget(titlePanel);

    JabberApp.instance().getSession().getUser().addUserListener(new XmppUserListener() {
        public void onPresenceChanged(XmppPresence presence) {
            String show = new String("");
            PresenceShow presenceShow = presence.getShow();
            if (presenceShow != null)
                show = presenceShow.toString();
            String statusString = presence.getStatus();
            int priority = presence.getPriority();
            boolean avaiable = true;
            String type = presence.getType();
            if (type != null && !type.isEmpty()) {
                if (type.equalsIgnoreCase("unavailable"))
                    avaiable = false;
            }
            status = new XmppContactStatus(show, statusString, priority, avaiable);
            statusLabel.setText(status.status());
            iconFromStatus(status).applyTo(statusImg);
        }
    });

    statusLabel.addClickListener(new ClickListener() {
        public void onClick(Widget sender) {
            statusLabel.setVisible(false);
            statusEditor.setVisible(true);
            statusEditor.setText(statusLabel.getText());
        }

    });

    statusEditor.addKeyboardListener(new KeyboardListener() {

        public void onKeyDown(Widget sender, char keyCode, int modifiers) {

        }

        public void onKeyPress(Widget sender, char keyCode, int modifiers) {

        }

        public void onKeyUp(Widget sender, char keyCode, int modifiers) {
            if (keyCode == 13)
                doneChangeStatusString();
        }

    });

    statusEditor.addFocusListener(new FocusListener() {
        public void onFocus(Widget sender) {
        }

        public void onLostFocus(Widget sender) {
            doneChangeStatusString();
        }

    });

    XmppVCardFactory.instance().addVCardListener(new VCardListener() {
        public void onVCard(XmppID jid, XmppVCard vcard) {
            if (jid.toStringNoResource().equalsIgnoreCase(JabberApp.instance().getJid().toStringNoResource())) {
                if (!vcard.nickName().isEmpty())
                    nickName.setText(vcard.fullName());
                else if (!vcard.fullName().isEmpty())
                    nickName.setText(vcard.fullName());
                String photoData = vcard.photo();
                if (!photoData.isEmpty() && !GXT.isIE) {
                    ImageElement imgEl = avatarImg.getElement().cast();
                    imgEl.removeAttribute("src");
                    imgEl.setSrc("data:image;base64," + photoData);
                }

            }
        }

    });
}

From source file:com.badlogic.gdx.backends.gwt.preloader.AssetDownloader.java

License:Apache License

public void loadImage(final String url, final String mimeType, final String crossOrigin,
        final AssetLoaderListener<ImageElement> listener) {
    if (useBrowserCache || useInlineBase64) {
        loadBinary(url, new AssetLoaderListener<Blob>() {
            @Override/*www.ja v a 2  s  . c om*/
            public void onProgress(double amount) {
                listener.onProgress(amount);
            }

            @Override
            public void onFailure() {
                listener.onFailure();
            }

            @Override
            public void onSuccess(Blob result) {
                final ImageElement image = createImage();
                if (crossOrigin != null) {
                    image.setAttribute("crossOrigin", crossOrigin);
                }
                hookImgListener(image, new ImgEventListener() {
                    @Override
                    public void onEvent(NativeEvent event) {
                        if (event.getType().equals("error"))
                            listener.onFailure();
                        else
                            listener.onSuccess(image);
                    }
                });
                if (isUseInlineBase64()) {
                    image.setSrc("data:" + mimeType + ";base64," + result.toBase64());
                } else {
                    image.setSrc(url);
                }
            }

        });
    } else {
        final ImageElement image = createImage();
        if (crossOrigin != null) {
            image.setAttribute("crossOrigin", crossOrigin);
        }
        hookImgListener(image, new ImgEventListener() {
            @Override
            public void onEvent(NativeEvent event) {
                if (event.getType().equals("error"))
                    listener.onFailure();
                else
                    listener.onSuccess(image);
            }
        });
        image.setSrc(url);
    }
}

From source file:com.devbliss.gwtbliss.client.ui.ImageAnchor.java

License:Apache License

/**
 * Create an image element using an URI.
 *//* w  ww  .  j  av a  2 s .  com*/
private static ImageElement createImage(final String src) {
    final ImageElement img = Document.get().createImageElement();
    img.setSrc(src);
    return img;
}

From source file:com.mashery.examples.api.client.weatherbug.WeatherBugOverlayView.java

License:Open Source License

@Override
public void draw() {
    HasLatLngBounds bounds = getMap().getBounds();
    HasMapCanvasProjection ovrPrj = getProjection();
    HasPoint ovrNE = ovrPrj.fromLatLngToDivPixel(bounds.getNorthEast());
    HasPoint ovrSW = ovrPrj.fromLatLngToDivPixel(bounds.getSouthWest());

    div.getStyle().setLeft(ovrSW.getX(), Unit.PX);
    div.getStyle().setTop(ovrNE.getY(), Unit.PX);
    div.getStyle().setWidth(ovrNE.getX() - ovrSW.getX(), Unit.PX);
    div.getStyle().setHeight(ovrSW.getY() - ovrNE.getY(), Unit.PX);

    String endpoint = WEATHERBUG_ENDPOINT.replace("${layerType}", layerType.getPath());
    HashSet<TileKey> usedTiles = new HashSet<TileKey>();

    int zoom = getMap().getZoom();
    double scale = Math.pow(2d, zoom);
    HasProjection prj = getMap().getProjection();
    LatLng nwLatLng = new LatLng(bounds.getNorthEast().getLatitude(), bounds.getSouthWest().getLongitude());
    HasPoint nwRaw = prj.fromLatLngToPoint(nwLatLng);
    LatLng seLatLng = new LatLng(bounds.getSouthWest().getLatitude(), bounds.getNorthEast().getLongitude());
    HasPoint seRaw = prj.fromLatLngToPoint(seLatLng);

    Point nw = new Point(Math.floor(nwRaw.getX() * scale), Math.floor(nwRaw.getY() * scale));
    Point se = new Point(Math.floor(seRaw.getX() * scale), Math.floor(seRaw.getY() * scale));

    double offsetX = nw.getX() % 256d;
    double offsetY = nw.getY() % 256d;
    Point startPoint = new Point(nw.getX() - offsetX, nw.getY() - offsetY);

    while (startPoint.getY() < se.getY()) {
        Point p = new Point(startPoint.getX(), startPoint.getY());
        startPoint = new Point(startPoint.getX(), startPoint.getY() + 256);
        while (p.getX() < se.getX()) {
            int tx = (int) p.getX() / 256;
            int ty = (int) p.getY() / 256;

            TileKey tileKey = new TileKey(tx, ty, zoom);
            usedTiles.add(tileKey);/*from   w  w  w  . ja  va  2s.  c  om*/

            ImageElement img = tiles.remove(tileKey);
            if (img == null) {
                img = Document.get().createImageElement();
                img.getStyle().setBorderStyle(BorderStyle.NONE);
                img.getStyle().setBorderWidth(0d, Unit.PX);
                img.getStyle().setPosition(Position.ABSOLUTE);

                StringBuilder buf = new StringBuilder(endpoint);
                buf.append("&tx=").append(tx);
                buf.append("&ty=").append(ty);
                buf.append("&zm=").append(zoom);
                img.setSrc(buf.toString());

                div.appendChild(img);
            } else {
                img.getStyle().setVisibility(Visibility.VISIBLE);
            }

            img.getStyle().setLeft(p.getX() - nw.getX(), Unit.PX);
            img.getStyle().setTop(p.getY() - nw.getY(), Unit.PX);
            img.getStyle().setWidth(256d, Unit.PX);
            img.getStyle().setHeight(256d, Unit.PX);
            tiles.put(tileKey, img);

            p = new Point(p.getX() + 256, p.getY());
        }
    }

    for (Iterator<Map.Entry<TileKey, ImageElement>> i = tiles.entrySet().iterator(); i.hasNext();) {
        Map.Entry<TileKey, ImageElement> entry = i.next();
        if (!usedTiles.remove(entry.getKey())) {
            if (tiles.size() > TILE_CACHE_SIZE) {
                i.remove();
                entry.getValue().removeFromParent();
            } else {
                entry.getValue().getStyle().setVisibility(Visibility.HIDDEN);
            }
        }
    }
}

From source file:com.pronoiahealth.olhie.client.pages.main.Header.java

License:Open Source License

/**
 * Inject the custom resources and create the main gui via uiBinder
 *//*from w ww  . ja  va  2  s  .co m*/
@PostConstruct
private void postConstruct() {
    initWidget(binder.createAndBindUi(this));

    // Add formatting to Add link
    addBookLink.getAnchor().getElement().setAttribute("style", "padding: 0px");

    // Set logo image in brand.
    // Brand currently does not support this easily
    ImageElement imgElem = Document.get().createImageElement();
    imgElem.setSrc("Olhie/images/OLHIE.png");
    imgElem.setWidth(28);
    imgElem.setHeight(28);
    imgElem.setAttribute("style", "margin-right: 10px;");
    navBarBrand.getElement().insertFirst(imgElem);

    // When built hide the dropdown
    setNotLoggedIn();
}

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

License:sencha.com license

/**
 * In the Canvas2d class, this method does more or less what renderSprite does in SVG and VML - it
 * actually renders the sprite to the dom.
 * @param sprite the sprite to draw/*from  w w  w . jav a 2 s. c om*/
 */
protected void append(Sprite sprite) {
    if (sprite.isHidden() || sprite.getOpacity() == 0) {
        return;
    }
    Context2d ctx = getContext();
    ctx.save();
    //set global stuff, fill, stroke, clip, etc

    //clip - deal with translation or normal rectangle
    if (sprite.getClipRectangle() != null) {
        PreciseRectangle clip = sprite.getClipRectangle();
        if (sprite.getScaling() != null || sprite.getTranslation() != null || sprite.getRotation() != null) {
            PathSprite transPath = new PathSprite(new RectangleSprite(clip));
            transPath = transPath.map(sprite.transformMatrix());
            appendPath(ctx, transPath);
        } else {
            ctx.beginPath();
            ctx.rect(clip.getX(), clip.getY(), clip.getWidth(), clip.getHeight());
            ctx.closePath();
        }
        ctx.clip();
    }

    if (sprite.getScaling() != null || sprite.getTranslation() != null || sprite.getRotation() != null
            || (component.isViewBox() && viewbox != null)) {
        Matrix matrix = sprite.transformMatrix();
        if (matrix != null) {
            //TODO consider replacing this transform call with three distinct calls to translate/scale/rotate if cheaper
            ctx.transform(matrix.get(0, 0), matrix.get(1, 0), matrix.get(0, 1), matrix.get(1, 1),
                    matrix.get(0, 2), matrix.get(1, 2));
        }
        if (component.isViewBox() && viewbox != null) {
            double size = Math.min(getWidth() / viewbox.getWidth(), getHeight() / viewbox.getHeight());

            ctx.scale(size, size);
            ctx.translate(-viewbox.getX(), -viewbox.getY());
        }
    }

    //TODO see about caching colors via the dirty flag? If we don't use a color/gradient for a pass or three, dump it
    double opacity = Double.isNaN(sprite.getOpacity()) ? 1.0 : sprite.getOpacity();
    PreciseRectangle untransformedBbox = sprite.getPathSprite().dimensions();
    if (sprite.getStroke() != null && sprite.getStroke() != Color.NONE && sprite.getStrokeWidth() != 0) {
        ctx.setLineWidth(Double.isNaN(sprite.getStrokeWidth()) ? 1.0 : sprite.getStrokeWidth());
        ctx.setStrokeStyle(getColor(sprite.getStroke(), untransformedBbox));//TODO read bbox from cache
    }
    if (sprite.getFill() != null && sprite.getFill() != Color.NONE) {
        ctx.setFillStyle(getColor(sprite.getFill(), untransformedBbox));//TODO read bbox from cache
    }

    if (sprite instanceof PathSprite) {
        appendPath(ctx, (PathSprite) sprite);
    } else if (sprite instanceof TextSprite) {
        TextSprite text = (TextSprite) sprite;
        //TODO style and weight
        ctx.setFont(text.getFontSize() + "px " + text.getFont());
        ctx.setTextAlign(getTextAlign(text.getTextAnchor()));
        ctx.setTextBaseline(getTextBaseline(text.getTextBaseline()));
        ctx.fillText(text.getText(), text.getX(), text.getY());
    } else if (sprite instanceof RectangleSprite) {
        RectangleSprite rect = (RectangleSprite) sprite;
        if (Double.isNaN(rect.getRadius()) || rect.getRadius() == 0) {
            if (sprite.getFill() != null && sprite.getFill() != Color.NONE) {
                ctx.setGlobalAlpha(
                        Double.isNaN(sprite.getFillOpacity()) ? opacity : opacity * sprite.getFillOpacity());
                ctx.fillRect(rect.getX(), rect.getY(), rect.getWidth(), rect.getHeight());
            }
            if (sprite.getStroke() != null && sprite.getStroke() != Color.NONE
                    && sprite.getStrokeWidth() != 0) {
                ctx.setGlobalAlpha(Double.isNaN(sprite.getStrokeOpacity()) ? opacity
                        : opacity * sprite.getStrokeOpacity());
                ctx.strokeRect(rect.getX(), rect.getY(), rect.getWidth(), rect.getHeight());
            }
        } else {
            appendPath(ctx, rect.getPathSprite());
        }
    } else if (sprite instanceof CircleSprite) {
        CircleSprite circle = (CircleSprite) sprite;
        ctx.beginPath();
        ctx.arc(circle.getCenterX(), circle.getCenterY(), circle.getRadius(), 0, 2 * Math.PI);
        ctx.closePath();
        if (sprite.getFill() != null && sprite.getFill() != Color.NONE) {
            ctx.setGlobalAlpha(
                    Double.isNaN(sprite.getFillOpacity()) ? opacity : opacity * sprite.getFillOpacity());
            ctx.fill();
        }
        if (sprite.getStroke() != null && sprite.getStroke() != Color.NONE && sprite.getStrokeWidth() != 0) {
            ctx.setGlobalAlpha(
                    Double.isNaN(sprite.getStrokeOpacity()) ? opacity : opacity * sprite.getStrokeOpacity());
            ctx.stroke();
        }
    } else if (sprite instanceof EllipseSprite) {
        appendPath(ctx, sprite.getPathSprite());
    } else if (sprite instanceof ImageSprite) {
        ImageSprite image = (ImageSprite) sprite;
        ImageElement elt = Document.get().createImageElement();
        elt.setSrc(image.getResource().getSafeUri().asString());
        ctx.drawImage(elt, image.getX(), image.getY(), image.getWidth(), image.getHeight());
    }

    ctx.restore();

    if (!REDRAW_ALL) {
        renderedBbox.put(sprite, getBBox(sprite));
    }

    sprite.clearDirtyFlags();
}

From source file:com.smartgwt.mobile.client.widgets.tableview.TableView.java

License:Open Source License

private LIElement showGroup(List<Record> recordsToShow, UListElement ul) {
    final Document document = Document.get();
    final String primaryKeyField = getPrimaryKeyFieldName(), iconField = getIconField(),
            titleField = getTitleField(), infoField = getInfoField(), descriptionField = getDescriptionField();
    LIElement lastLI = null;/*www  .  ja  v a2  s  .  c  o m*/
    for (final Record record : recordsToShow) {
        final Canvas recordComponent;
        if (getShowRecordComponents()) {
            recordComponent = createRecordComponent(record);
            if (recordComponent == null) {
                continue;
            } else
                recordComponents.add(recordComponent);
        } else
            recordComponent = null;

        final LIElement li = document.createLIElement();
        li.addClassName(ROW_CLASS_NAME);
        com.google.gwt.user.client.Element element = li.cast();
        final Object recordID = record.getAttributeAsObject(primaryKeyField);
        elementMap.put(recordID, element);
        final Integer recordIndex = record.getAttributeAsInt(recordIndexProperty);
        li.setAttribute(RECORD_INDEX_ATTRIBUTE_NAME, recordIndex.toString());

        if (lastLI == null) {
            li.addClassName(_CSS.firstTableViewRowClass());
        }

        if (showSelectedIcon && selectedIcon == null && getSelectionType() == SelectionStyle.MULTIPLE) {
            DivElement selectionDisclosure = document.createDivElement();
            selectionDisclosure.setClassName(_CSS.recordSelectionDisclosureClass());
            if (!_canSelectRecord(record)) {
                selectionDisclosure.addClassName(_CSS.nonselectableSelectionDisclosureClass());
            }
            SpanElement span = document.createSpanElement();
            selectionDisclosure.appendChild(span);
            li.appendChild(selectionDisclosure);
        }

        if (canRemoveRecords) {
            Boolean deletable = record.getAttributeAsBoolean(canRemoveProperty);
            if (deletable == null || (deletable != null && deletable.booleanValue())) {
                DivElement div = document.createDivElement();
                div.addClassName(_CSS.recordDeleteDisclosureClass());
                SpanElement span = document.createSpanElement();
                div.appendChild(span);
                li.appendChild(div);

                if (markedForRemoval != null && markedForRemoval.contains(record)) {
                    _markRecordRemoved(record, div, true);
                }
            }
        }

        if (canReorderRecords) {
            MoveIndicator draggableRow = new MoveIndicator(element);
            add(draggableRow, element);
        }

        if (!getShowRecordComponents()) {
            if (recordFormatter != null) {
                DivElement div = document.createDivElement();
                div.setClassName("content");
                div.setInnerHTML(recordFormatter.format(record));
                li.appendChild(div);
            } else {
                if (getShowNavigation(record)) {
                    final ImageResource navIcon = getNavigationIcon(record);
                    if (navigationMode == NavigationMode.NAVICON_ONLY) {
                        Boolean navigate = record.getAttributeAsBoolean(getRecordNavigationProperty());
                        if (navigate == null || (navigate != null && navigate.booleanValue())) {
                            final DetailsRow detailsRow = new DetailsRow(navIcon);
                            add(detailsRow, element);
                        }
                    } else if (navIcon != null) {
                        final Image image = new Image(navIcon);
                        image.getElement().addClassName(TableView._CSS.recordDetailDisclosureNavIconClass());
                        add(image, element);
                    } else {
                        li.addClassName(_CSS.tableViewRowHasNavigationDisclosureClass());
                    }
                }
                if (showIcons) {
                    Object icon = record.get(iconField);
                    if (!(icon instanceof ImageResource) && !(icon instanceof Image)) {
                        icon = formatCellValue(record, recordIndex.intValue(), iconField);
                    }
                    if (icon != null) {
                        SpanElement span = document.createSpanElement();
                        span.addClassName(RECORD_ICON_CLASS_NAME);
                        li.appendChild(span);
                        li.addClassName(_CSS.tableViewRowHasIconClass());
                        ImageElement img = document.createImageElement();
                        if (icon instanceof ImageResource) {
                            img.setSrc(((ImageResource) icon).getSafeUri().asString());
                        } else if (icon instanceof Image) {
                            img.setSrc(((Image) icon).getUrl());
                        } else {
                            img.setSrc(icon.toString());
                        }
                        span.appendChild(img);
                    }
                }
                if (showDetailCount) {
                    String count = formatCellValue(record, recordIndex.intValue(), detailCountProperty);
                    if (count != null) {
                        SpanElement span = document.createSpanElement();
                        span.addClassName(RECORD_COUNTER_CLASS_NAME);
                        span.setInnerHTML(count);
                        li.appendChild(span);
                    }
                }
                String title = formatCellValue(record, recordIndex.intValue(), titleField);
                if (title != null) {
                    SpanElement span = document.createSpanElement();
                    final String baseStyle = getBaseStyle(record, recordIndex.intValue(),
                            getFieldNum(titleField));
                    if (baseStyle != null)
                        span.setClassName(baseStyle);
                    span.addClassName(RECORD_TITLE_CLASS_NAME);
                    span.setInnerHTML(title);
                    li.appendChild(span);
                }
                if (recordLayout == RecordLayout.AUTOMATIC || recordLayout == RecordLayout.SUMMARY_FULL
                        || recordLayout == RecordLayout.SUMMARY_INFO) {
                    String info = formatCellValue(record, recordIndex.intValue(), infoField);
                    if (info != null) {
                        ul.addClassName(_CSS.stackedTableViewClass());
                        li.addClassName(_CSS.tableViewRowHasRecordInfoClass());
                        SpanElement span = document.createSpanElement();
                        final String baseStyle = getBaseStyle(record, recordIndex.intValue(),
                                getFieldNum(infoField));
                        if (baseStyle != null)
                            span.setClassName(baseStyle);
                        span.addClassName(RECORD_INFO_CLASS_NAME);
                        span.appendChild(document.createTextNode(info));
                        li.appendChild(span);
                    }
                }
                if (recordLayout == RecordLayout.AUTOMATIC || recordLayout == RecordLayout.TITLE_DESCRIPTION
                        || recordLayout == RecordLayout.SUMMARY_DATA
                        || recordLayout == RecordLayout.SUMMARY_FULL
                        || recordLayout == RecordLayout.SUMMARY_INFO) {
                    String description = formatCellValue(record, recordIndex.intValue(), descriptionField);
                    if (description != null) {
                        SpanElement span = document.createSpanElement();
                        final String baseStyle = getBaseStyle(record, recordIndex.intValue(),
                                getFieldNum(descriptionField));
                        if (baseStyle != null)
                            span.setClassName(baseStyle);
                        span.addClassName(RECORD_DESCRIPTION_CLASS_NAME);
                        span.appendChild(document.createTextNode(description));
                        li.appendChild(span);
                    }
                }
            }
        } else {
            assert recordComponent != null;
            recordComponent.getElement().addClassName(RECORD_COMPONENT_CLASS_NAME);
            add(recordComponent, element);
        }

        ul.appendChild(li);
        lastLI = li;
    }
    return lastLI;
}

From source file:forplay.html.HtmlAssetManager.java

License:Apache License

private Image adaptImage(String url) {
    ImageElement img = Document.get().createImageElement();
    /*//w  w w  .ja v a2  s . c om
     * When the server provides an appropriate {@literal
     * Access-Control-Allow-Origin} response header, allow images to be served
     * cross origin on supported, CORS enabled, browsers.
     */
    setCrossOrigin(img, "anonymous");
    img.setSrc(url);
    return new HtmlImage(img);
}

From source file:gwt.g2d.client.graphics.ImageLoader.java

License:Apache License

/**
 * Takes in an url String corresponding to the image needed to be loaded. 
 * The onImagesLoaded() method in the specified CallBack
 * object is invoked with an array of ImageElements corresponding to
 * the where the first element of the array is the image requested.
 * //from  ww w  . j  a  v  a 2 s .  c  o m
 * @param url Array of urls for the images that need to be loaded
 * @param cb CallBack object
 */
public static void loadImages(String url, CallBack cb) {
    ImageLoader il = new ImageLoader();
    il.finalize(cb);
    ImageLoader.imageLoaders.add(il);
    il.totalImages = 1;
    ImageElement imageElement = il.prepareImage();
    il.images.add(imageElement);
    imageElement.setSrc(url);
}