Example usage for com.vaadin.client UIDL hasAttribute

List of usage examples for com.vaadin.client UIDL hasAttribute

Introduction

In this page you can find the example usage for com.vaadin.client UIDL hasAttribute.

Prototype

public boolean hasAttribute(final String name) 

Source Link

Document

Indicates whether or not the named attribute is available.

Usage

From source file:annis.gui.widgets.gwt.client.ui.VAnnotationGrid.java

License:Apache License

/**
 * Called whenever an update is received from the server
 *//*from  www.  j  a va  2 s.  c  om*/
@Override
public void updateFromUIDL(UIDL uidl, ApplicationConnection client) {

    // This call should be made first.
    // It handles sizes, captions, tooltips, etc. automatically.
    if (client.updateComponent(this, uidl, true)) {
        // If client.updateComponent returns true there has been no changes and we
        // do not need to update anything.
        return;
    }

    // Save reference to server connection object to be able to send
    // user interaction later
    this.gClient = client;

    // Save the client side identifier (paintable id) for the widget
    paintableId = uidl.getId();

    try {
        if (uidl.hasAttribute("escapeHTML")) {
            this.escapeHTML = uidl.getBooleanAttribute("escapeHTML");
        }

        UIDL rows = uidl.getChildByTagName("rows");
        if (rows != null) {
            // clear all old table cells
            table.removeAllRows();
            highlighted.clear();
            position2id.clear();

            for (int i = 0; i < rows.getChildCount(); i++) {
                UIDL row = rows.getChildUIDL(i);
                if ("row".equals(row.getTag())) {
                    addRow(row, i);
                }
            }
        } // end if rows not null

        // add end events if necessary to have a nicely aligned regular grid
        int maxCellCount = 0;
        for (int row = 0; row < table.getRowCount(); row++) {
            maxCellCount = Math.max(maxCellCount, getRealColumnCount(row));
        }

        for (int row = 0; row < table.getRowCount(); row++) {
            int isValue = getRealColumnCount(row);

            if (isValue < maxCellCount) {
                int diff = maxCellCount - isValue;
                table.setHTML(row, table.getCellCount(row) + diff - 1, "");
            }
        }

    } catch (Exception ex) {
        VConsole.log(ex);
    }
}

From source file:annis.gui.widgets.gwt.client.ui.VAnnotationGrid.java

License:Apache License

private void addRow(UIDL row, int rowNumber) {

    String caption = row.getStringAttribute("caption");
    boolean showNamespace = row.getBooleanAttribute("show-namespace");
    String name;//  w w  w  .  j a va 2 s  . c o m
    if (showNamespace) {
        name = caption;
    } else {
        String[] captionSplit = caption.split("::");
        name = captionSplit[captionSplit.length - 1];
    }

    boolean showCaption = row.getBooleanAttribute("show-caption");

    int startColumn = 0;

    if (showCaption) {
        table.setHTML(rowNumber, 0, Util.escapeHTML(name));
        formatter.addStyleName(rowNumber, 0, "header");
        startColumn = 1;
    }

    int colspanOffset = 0;

    UIDL events = row.getChildByTagName("events");
    for (int j = 0; j < events.getChildCount(); j++) {
        UIDL event = events.getChildUIDL(j);
        String id = event.getStringAttribute("id");
        int left = event.getIntAttribute("left");
        int right = event.getIntAttribute("right");
        String value = event.getStringAttribute("value");
        if (escapeHTML) {
            value = Util.escapeHTML(value);
        }

        // +1 because we also have a caption column, subtract columns we
        // jumped over by using colspan
        int col = left + startColumn - colspanOffset;

        table.setHTML(rowNumber, col, value);

        if (event.hasAttribute("tooltip")) {
            Element tdElement = table.getCellFormatter().getElement(rowNumber, col);
            tdElement.setTitle(event.getStringAttribute("tooltip"));
        }

        position2id.put(new Position(rowNumber, col), id);

        int colspan = right - left + 1;
        formatter.setColSpan(rowNumber, col, colspan);
        if (colspan > 1) {
            colspanOffset += (colspan - 1);
        }

        addStyleForEvent(event, rowNumber, col);

    }
}

From source file:annis.gui.widgets.gwt.client.ui.VAnnotationGrid.java

License:Apache License

private void addStyleForEvent(UIDL event, int rowNumber, int col) {
    String id = event.getStringAttribute("id");

    // style given by the server component
    if (event.hasAttribute("style")) {
        String[] styles = event.getStringArrayAttribute("style");
        for (String s : styles) {
            formatter.addStyleName(rowNumber, col, s);
        }//from  w ww .j  av  a 2 s. c o m
    } else {
        formatter.addStyleName(rowNumber, col, "single_event");
    }

    // fill highlight map
    if (event.hasAttribute("highlight")) {
        highlighted.put(id, event.getStringArrayAttribute("highlight"));
    }

    if (event.hasAttribute("startTime")) {
        formatter.addStyleName(rowNumber, col, "speaker");
        startTimes.put(new Position(rowNumber, col), event.getDoubleAttribute("startTime"));
        if (event.hasAttribute("endTime")) {
            endTimes.put(new Position(rowNumber, col), event.getDoubleAttribute("endTime"));
        }
    }

    if (event.hasAttribute("openPDF")) {
        String number = event.getStringAttribute("openPDF");
        formatter.addStyleName(rowNumber, col, "pdf");
        pdfPageNumbers.put(new Position(rowNumber, col), number);
    }
}

From source file:annis.gui.widgets.gwt.client.ui.VJITWrapper.java

License:Apache License

@Override
public void updateFromUIDL(UIDL uidl, ApplicationConnection client) {

    // This call should be made first.
    // It handles sizes, captions, tooltips, etc. automatically.
    if (client.updateComponent(this, uidl, true)) {
        // If client.updateComponent returns true there has been no changes and we
        // do not need to update anything.
        return;/*  w  w  w .j ava  2s .com*/
    }

    if (uidl.hasAttribute("visData")) {

        jsonData = parseStringToJSON(uidl.getStringAttribute("visData"));

        // setup config for visualization
        if (uidl.hasAttribute("mappings")) {
            setupConfig(uidl.getMapAttribute("mappings"));
        } else {
            setupConfig();
        }

        if (visualization == null) {
            visualization = visualizationInit(config.getJavaScriptObject());
        }

        if (jsonData != null) {
            visualization.render();
        } else {
            GWT.log("jsonData are null");
        }
    }
}

From source file:annis.gui.widgets.gwt.client.ui.VMediaPlayerBase.java

License:Apache License

@Override
public void updateFromUIDL(UIDL uidl, ApplicationConnection client) {
    if (client.updateComponent(this, uidl, true)) {
        return;/*from w  w  w.j a va  2  s .  c om*/
    }

    // Save reference to server connection object to be able to send
    // user interaction later
    this.gClient = client;

    // Save the client side identifier (paintable id) for the widget
    paintableId = uidl.getId();

    if (media == null) {
        VConsole.error("media not set!!!");
        return;
    }

    if (uidl.hasAttribute(SOURCE_URL)) {
        registerMetadataLoadedEvent(media);

        if (uidl.hasAttribute(MIME_TYPE)) {
            String mimeType = uidl.getStringAttribute(MIME_TYPE);
            VConsole.log(
                    "canPlayType for \"" + mimeType + "\"value is \"" + media.canPlayType(mimeType) + "\"");
            // check for correct mime type
            if (media.canPlayType(uidl.getStringAttribute(MIME_TYPE)).equals(MediaElement.CANNOT_PLAY)) {
                VConsole.log("CANNOT PLAY!!!");

                gClient.updateVariable(paintableId, CANNOT_PLAY, true, true);
            } else if (media.canPlayType(uidl.getStringAttribute(MIME_TYPE))
                    .equals(MediaElement.CAN_PLAY_MAYBE)) {
                gClient.updateVariable(paintableId, MIGHT_NOT_PLAY, true, true);
            }
        }
        media.setSrc(uidl.getStringAttribute(SOURCE_URL));
    }

    if (uidl.hasAttribute(PLAY)) {
        String[] time = uidl.getStringArrayAttribute(PLAY);
        if (time != null && time.length > 0) {
            if (time.length == 1) {
                try {
                    media.setCurrentTime(Double.parseDouble(time[0]));
                } catch (NumberFormatException ex) {
                    VConsole.error(ex);
                }
            } else if (time.length == 2) {
                try {
                    media.setCurrentTime(Double.parseDouble(time[0]));
                    setEndTimeOnce(media, Double.parseDouble(time[1]));
                } catch (NumberFormatException ex) {
                    VConsole.error(ex);
                }
            }
            media.play();
        }
    } else if (uidl.hasAttribute(PAUSE)) {
        media.pause();
    } else if (uidl.hasAttribute(STOP)) {
        media.pause();
        media.setSrc("");
    }
}

From source file:com.haulmont.cuba.web.toolkit.ui.client.aggregation.TableAggregationRow.java

License:Apache License

protected void addCellsFromUIDL(UIDL uidl) {
    int colIndex = 0;
    final Iterator cells = uidl.getChildIterator();
    while (cells.hasNext() && colIndex < tableWidget.getVisibleColOrder().length) {
        String columnId = tableWidget.getVisibleColOrder()[colIndex];

        if (addSpecificCell(columnId, colIndex)) {
            colIndex++;/*from   w  w  w . j  a va2  s. c  o m*/
            continue;
        }

        final Object cell = cells.next();

        String style = "";
        if (uidl.hasAttribute("style-" + columnId)) {
            style = uidl.getStringAttribute("style-" + columnId);
        }

        boolean sorted = tableWidget.getHead().getHeaderCell(colIndex).isSorted();

        if (cell instanceof String) {
            addCell((String) cell, aligns[colIndex], style, sorted);
        }

        final String colKey = tableWidget.getColKeyByIndex(colIndex);
        int colWidth;
        if ((colWidth = tableWidget.getColWidth(colKey)) > -1) {
            tableWidget.setColWidth(colIndex, colWidth, false);
        }

        colIndex++;
    }
}

From source file:com.haulmont.cuba.web.toolkit.ui.client.menubar.CubaMenuBarConnector.java

License:Apache License

@Override
protected String getItemId(UIDL uidl) {
    if (uidl.hasAttribute("tid")) {
        return uidl.getStringAttribute("tid");
    }/*www  . j  a v a 2s .c o m*/

    return null;
}

From source file:com.haulmont.cuba.web.toolkit.ui.client.menubar.CubaMenuBarConnector.java

License:Apache License

@Override
protected void assignAdditionalAttributes(VMenuBar.CustomMenuItem currentItem, UIDL item) {
    if (item.hasAttribute("cid")) {
        currentItem.getElement().setAttribute("cuba-id", item.getStringAttribute("cid"));
    }/*  www. java2s  .  c  o  m*/
}

From source file:com.haulmont.cuba.web.toolkit.ui.client.menubar.CubaMenuBarWidget.java

License:Apache License

@Override
public String buildItemHTML(UIDL item) {
    // Construct html from the text and the optional icon
    // Haulmont API : Added support for shortcuts
    StringBuilder itemHTML = new StringBuilder();
    if (item.hasAttribute("separator")) {
        itemHTML.append("<span>---</span><span>---</span>");
    } else {/*from  ww w  .j a  va  2  s  .  c o m*/
        itemHTML.append("<span class=\"").append(getStylePrimaryName()).append("-menuitem-caption\">");

        Icon icon = client.getIcon(item.getStringAttribute("icon"));
        if (icon != null) {
            itemHTML.append(icon.getElement().getString());
        }

        String itemText = item.getStringAttribute("text");
        if (!htmlContentAllowed) {
            itemText = WidgetUtil.escapeHTML(itemText);
        }
        itemHTML.append(itemText);
        itemHTML.append("</span>");

        // Add submenu indicator
        if (item.getChildCount() > 0) {
            String bgStyle = "";
            itemHTML.append("<span class=\"").append(getStylePrimaryName()).append("-submenu-indicator\"")
                    .append(bgStyle).append("><span class=\"").append(getStylePrimaryName())
                    .append("-submenu-indicator-icon\"")
                    .append("><span class=\"text\">&#x25BA;</span></span></span>");
        } else {
            itemHTML.append("<span class=\"");
            String shortcut = "";
            if (item.hasAttribute("shortcut")) {
                shortcut = item.getStringAttribute("shortcut");
            } else {
                itemHTML.append(getStylePrimaryName()).append("-menuitem-empty-shortcut ");
            }

            itemHTML.append(getStylePrimaryName()).append("-menuitem-shortcut\">").append(shortcut)
                    .append("</span");
        }
    }
    return itemHTML.toString();
}

From source file:com.haulmont.cuba.web.toolkit.ui.client.table.CubaScrollTableWidget.java

License:Apache License

@Override
public void updateColumnProperties(UIDL uidl) {
    super.updateColumnProperties(uidl);

    if (uidl.hasAttribute("colcubaids") && uidl.hasAttribute("vcolorder")) {
        try {//w ww. j ava2 s.c o  m
            String[] vcolorder = uidl.getStringArrayAttribute("vcolorder");
            String[] colcubaids = uidl.getStringArrayAttribute("colcubaids");

            Map<String, HeaderCell> headerCellMap = new HashMap<>();
            for (int i = 0; i < getHead().getVisibleCellCount(); i++) {
                HeaderCell headerCell = getHead().getHeaderCell(i);
                if (headerCell.getColKey() != null) {
                    headerCellMap.put(headerCell.getColKey(), headerCell);
                }
            }

            for (int i = 0; i < vcolorder.length; i++) {
                String key = vcolorder[i];
                HeaderCell headerCell = headerCellMap.get(key);

                if (headerCell != null) {
                    headerCell.getElement().setAttribute("cuba-id", "column_" + colcubaids[i]);
                }
            }
        } catch (Exception e) {
            VConsole.error("Unable to init cuba-ids for columns " + e.getMessage());
        }
    }
}