Example usage for com.google.gwt.safehtml.shared SafeHtmlBuilder toSafeHtml

List of usage examples for com.google.gwt.safehtml.shared SafeHtmlBuilder toSafeHtml

Introduction

In this page you can find the example usage for com.google.gwt.safehtml.shared SafeHtmlBuilder toSafeHtml.

Prototype

public SafeHtml toSafeHtml() 

Source Link

Document

Returns the safe HTML accumulated in the builder as a SafeHtml .

Usage

From source file:com.codenvy.redhat.plugin.quick.start.ide.panel.DocsViewPartImpl.java

License:Open Source License

private Widget createSafeHtmlWidget(String htmlText) {
    SafeHtmlBuilder safeHtmlBuilder = new SafeHtmlBuilder().appendHtmlConstant(htmlText);
    return new HTMLPanel(safeHtmlBuilder.toSafeHtml());
}

From source file:com.dawg6.gwt.client.ApplicationPanel.java

License:Open Source License

public static String escapeText(String text) {
    SafeHtmlBuilder builder = new SafeHtmlBuilder();
    builder.appendEscaped(text);/*from   w  ww  . j  a  v a 2  s .  c o  m*/
    return builder.toSafeHtml().asString();
}

From source file:com.dianaui.universal.core.client.ui.base.helper.SourceCodeHelper.java

License:Apache License

/**
 * If source code contains "\n" it will be replaced by a {@code <br>} element and "\s" will be replaced by a whitespace.
 *
 * @param code Unformatted source code//w w w  .  j  a v a  2  s .  c  o m
 * @return Formatted source code in HTML for use in {@link com.dianaui.universal.core.client.ui.Pre} or {@link com.dianaui.universal.core.client.ui.Code}
 */
public static SafeHtml parseCode(final String code) {
    final SafeHtmlBuilder builder = new SafeHtmlBuilder();
    final String[] splitted = code.replaceAll("\\\\s", " ").split("\\\\n\\s?");

    for (final String s : splitted) {
        builder.append(SafeHtmlUtils.fromTrustedString(SafeHtmlUtils.htmlEscapeAllowEntities(s)));
        builder.appendHtmlConstant("<br>");
    }

    return builder.toSafeHtml();
}

From source file:com.dingziran.effective.client.Showcase.java

License:Apache License

/**
 * Create a hidden site map for crawlability.
 * //from   w  w  w .  j av a2  s  .  c  om
 * @param contentWidgets the {@link ContentWidget}s used in Showcase
 */
private void createSiteMap(Set<ContentWidget> contentWidgets) {
    SafeHtmlBuilder sb = new SafeHtmlBuilder();
    for (ContentWidget cw : contentWidgets) {
        String token = getContentWidgetToken(cw);
        sb.append(SafeHtmlUtils.fromTrustedString("<a href=\"#" + token + "\">" + token + "</a>"));
    }

    // Add the site map to the page.
    HTML siteMap = new HTML(sb.toSafeHtml());
    siteMap.setVisible(false);
    RootPanel.get().add(siteMap, 0, 0);
}

From source file:com.eas.grid.cells.RenderedEditorCell.java

@Override
public void render(final Context context, final T value, SafeHtmlBuilder sb) {
    String viewDataId = "";
    if (isEditing(context, null, value)) {
        final ViewData<T> viewData = getViewData(context.getKey());
        viewDataId = viewData.id;//  ww  w. j  a v a  2 s. c  o  m
        Scheduler.get().scheduleDeferred(new ScheduledCommand() {

            @Override
            public void execute() {
                if (isEditing(context, null, value)) {
                    Element identifiedCellTextSection = Document.get().getElementById(viewData.id);
                    if (identifiedCellTextSection != null) {
                        identifiedCellTextSection.blur();
                        Element table = identifiedCellTextSection;
                        while (table != null && !"table".equalsIgnoreCase(table.getTagName())) {
                            table = table.getParentElement();
                        }
                        final Element table1 = table;
                        if (identifiedCellTextSection.getOwnerDocument() == Document.get()) {
                            startEditing(context, identifiedCellTextSection.getParentElement(),
                                    table1.getParentElement(), value, viewData.updater, new Runnable() {

                                        public void run() {
                                            if (onEditorClose != null && table1 != null) {
                                                onEditorClose.closed(table1);
                                            }
                                        }

                                    });
                        }
                    }
                }
            }

        });
    }
    if (renderer == null || !renderer.render(context, viewDataId, value, sb)) {
        SafeHtmlBuilder content = new SafeHtmlBuilder();
        renderCell(context, value, content);
        sb.append(PaddedCell.INSTANCE.generate(new SafeStylesBuilder().toSafeStyles(), viewDataId,
                content.toSafeHtml()));
    }
}

From source file:com.eas.grid.cells.TreeExpandableCell.java

@Override
public void render(Context context, C value, SafeHtmlBuilder sb) {
    if (treeProvider != null) {
        SafeHtmlBuilder cellBuilder = new SafeHtmlBuilder();
        cell.render(context, value, cellBuilder);
        int deepness = getDeepness(context);
        int outerDivPadding = indent * deepness;
        SafeStylesBuilder styles = new SafeStylesBuilder();
        if (deepness > 0) {
            styles.paddingLeft(outerDivPadding, Style.Unit.PX);
        }//from   w ww .j  a va  2s. c o  m
        styles.position(Style.Position.RELATIVE).height(100, Style.Unit.PCT).toSafeStyles();
        sb.append(template.outerDiv(outerDivClasses(context), styles.toSafeStyles(), cellBuilder.toSafeHtml()));
    } else {
        cell.render(context, value, sb);
    }
}

From source file:com.eas.grid.Grid.java

public Grid(ProvidesKey<T> aKeyProvider) {
    super();//from ww w . j av a2 s  .c o  m
    getElement().getStyle().setPosition(Style.Position.RELATIVE);
    getElement().appendChild(tdsStyleElement);
    getElement().appendChild(cellsStyleElement);
    getElement().appendChild(oddRowsStyleElement);
    getElement().appendChild(evenRowsStyleElement);
    setRowsHeight(30);
    hive = new FlexTable();
    setWidget(hive);
    hive.setCellPadding(0);
    hive.setCellSpacing(0);
    hive.setBorderWidth(0);
    headerLeft = new GridSection<T>(aKeyProvider);
    headerLeftContainer = new ScrollPanel(headerLeft);
    headerRight = new GridSection<T>(aKeyProvider);
    headerRightContainer = new ScrollPanel(headerRight);
    frozenLeft = new GridSection<T>(aKeyProvider) {

        @Override
        protected void replaceAllChildren(List<T> values, SafeHtml html) {
            super.replaceAllChildren(values, html);
            footerLeft.redrawFooters();
            frozenLeftRendered();
        }

        @Override
        protected void replaceChildren(List<T> values, int start, SafeHtml html) {
            super.replaceChildren(values, start, html);
            footerLeft.redrawFooters();
            frozenLeftRendered();
        }

        @Override
        protected void onFocus() {
            super.onFocus();
            Element focused = getKeyboardSelectedElement();
            if (focused != null)
                focused.setTabIndex(tabIndex);
            FocusEvent.fireNativeEvent(Document.get().createFocusEvent(), Grid.this);
        }

        @Override
        protected void onBlur() {
            super.onBlur();
            FocusEvent.fireNativeEvent(Document.get().createBlurEvent(), Grid.this);
        }
    };

    frozenLeftContainer = new ScrollPanel(frozenLeft);
    frozenRight = new GridSection<T>(aKeyProvider) {

        @Override
        protected void replaceAllChildren(List<T> values, SafeHtml html) {
            super.replaceAllChildren(values, html);
            footerRight.redrawFooters();
            frozenRightRendered();
        }

        @Override
        protected void replaceChildren(List<T> values, int start, SafeHtml html) {
            super.replaceChildren(values, start, html);
            footerRight.redrawFooters();
            frozenRightRendered();
        }

        @Override
        protected void onFocus() {
            super.onFocus();
            Element focused = getKeyboardSelectedElement();
            if (focused != null)
                focused.setTabIndex(tabIndex);
            FocusEvent.fireNativeEvent(Document.get().createFocusEvent(), Grid.this);
        }

        @Override
        protected void onBlur() {
            super.onBlur();
            FocusEvent.fireNativeEvent(Document.get().createBlurEvent(), Grid.this);
        }
    };
    frozenRightContainer = new ScrollPanel(frozenRight);
    scrollableLeft = new GridSection<T>(aKeyProvider) {

        @Override
        protected void replaceAllChildren(List<T> values, SafeHtml html) {
            super.replaceAllChildren(values, html);
            footerLeft.redrawFooters();
            scrollableLeftRendered();
        }

        @Override
        protected void replaceChildren(List<T> values, int start, SafeHtml html) {
            super.replaceChildren(values, start, html);
            footerLeft.redrawFooters();
            scrollableLeftRendered();
        }

        @Override
        protected void onFocus() {
            super.onFocus();
            Element focused = getKeyboardSelectedElement();
            if (focused != null)
                focused.setTabIndex(tabIndex);
            FocusEvent.fireNativeEvent(Document.get().createFocusEvent(), Grid.this);
        }

        @Override
        protected void onBlur() {
            super.onBlur();
            FocusEvent.fireNativeEvent(Document.get().createBlurEvent(), Grid.this);
        }
    };
    scrollableLeftContainer = new ScrollPanel(scrollableLeft);
    scrollableRight = new GridSection<T>(aKeyProvider) {

        @Override
        protected void replaceAllChildren(List<T> values, SafeHtml html) {
            super.replaceAllChildren(values, html);
            footerRight.redrawFooters();
            scrollableRightRendered();
        }

        @Override
        protected void replaceChildren(List<T> values, int start, SafeHtml html) {
            super.replaceChildren(values, start, html);
            footerRight.redrawFooters();
            scrollableRightRendered();
        }

        @Override
        protected void onFocus() {
            super.onFocus();
            Element focused = getKeyboardSelectedElement();
            if (focused != null)
                focused.setTabIndex(tabIndex);
            FocusEvent.fireNativeEvent(Document.get().createFocusEvent(), Grid.this);
        }

        @Override
        protected void onBlur() {
            super.onBlur();
            FocusEvent.fireNativeEvent(Document.get().createBlurEvent(), Grid.this);
        }
    };
    scrollableRightContainer = new ScrollPanel(scrollableRight);
    footerLeft = new GridSection<>(aKeyProvider);
    footerLeftContainer = new ScrollPanel(footerLeft);
    footerRight = new GridSection<>(aKeyProvider);
    footerRightContainer = new ScrollPanel(footerRight);
    // positioning context / overflow setup
    // overflow
    for (Widget w : new Widget[] { headerLeftContainer, headerRightContainer, frozenLeftContainer,
            frozenRightContainer, scrollableLeftContainer, footerLeftContainer, footerRightContainer }) {
        w.getElement().getStyle().setOverflow(Style.Overflow.HIDDEN);
    }
    // scrollableRightContainer.getElement().getStyle().setOverflow(Style.Overflow.AUTO);
    // default value
    // context
    for (Widget w : new Widget[] { headerLeftContainer, headerRightContainer, frozenLeftContainer,
            frozenRightContainer, scrollableLeftContainer, scrollableRightContainer, footerLeftContainer,
            footerRightContainer }) {
        w.getElement().getFirstChildElement().getStyle().setPosition(Style.Position.ABSOLUTE);
    }
    // propagation of some widths
    headerLeft.setWidthPropagator(new GridWidthPropagator<T>(headerLeft) {

        @Override
        public void changed() {
            super.changed();
            propagateHeaderWidth();
        }

    });
    for (GridSection<T> section : (GridSection<T>[]) new GridSection<?>[] { headerRight, frozenLeft,
            frozenRight, scrollableLeft, scrollableRight, footerLeft, footerRight }) {
        section.setWidthPropagator(new GridWidthPropagator<>(section));
    }
    headerLeft.setColumnsPartners(new AbstractCellTable[] { frozenLeft, scrollableLeft, footerLeft });
    headerRight.setColumnsPartners(new AbstractCellTable[] { frozenRight, scrollableRight, footerRight });
    ColumnsRemover leftColumnsRemover = new ColumnsRemoverAdapter<T>(headerLeft, frozenLeft, scrollableLeft,
            footerLeft);
    ColumnsRemover rightColumnsRemover = new ColumnsRemoverAdapter<T>(headerRight, frozenRight, scrollableRight,
            footerRight);
    for (GridSection<T> section : (GridSection<T>[]) new GridSection<?>[] { headerLeft, frozenLeft,
            scrollableLeft, footerLeft }) {
        section.setColumnsRemover(leftColumnsRemover);
    }
    for (GridSection<T> section : (GridSection<T>[]) new GridSection<?>[] { headerRight, frozenRight,
            scrollableRight, footerRight }) {
        section.setColumnsRemover(rightColumnsRemover);
    }
    for (GridSection<T> section : (GridSection<T>[]) new GridSection<?>[] { frozenLeft, scrollableLeft,
            footerLeft }) {
        section.setHeaderSource(headerLeft);
    }
    for (GridSection<T> section : (GridSection<T>[]) new GridSection<?>[] { frozenRight, scrollableRight,
            footerRight }) {
        section.setHeaderSource(headerRight);
    }
    for (GridSection<T> section : (GridSection<T>[]) new GridSection<?>[] { headerLeft, frozenLeft,
            scrollableLeft }) {
        section.setFooterSource(footerLeft);
    }
    for (GridSection<T> section : (GridSection<T>[]) new GridSection<?>[] { headerRight, frozenRight,
            scrollableRight }) {
        section.setFooterSource(footerRight);
    }

    // hive organization
    hive.setWidget(0, 0, headerLeftContainer);
    hive.setWidget(0, 1, headerRightContainer);
    hive.setWidget(1, 0, frozenLeftContainer);
    hive.setWidget(1, 1, frozenRightContainer);
    hive.setWidget(2, 0, scrollableLeftContainer);
    hive.setWidget(2, 1, scrollableRightContainer);
    hive.setWidget(3, 0, footerLeftContainer);
    hive.setWidget(3, 1, footerRightContainer);

    for (Widget w : new Widget[] { headerLeftContainer, headerRightContainer, frozenLeftContainer,
            frozenRightContainer, scrollableLeftContainer, scrollableRightContainer, footerLeftContainer,
            footerRightContainer }) {
        w.setWidth("100%");
        w.setHeight("100%");
    }
    // misc
    for (Widget w : new Widget[] { headerRightContainer, frozenRightContainer, footerRightContainer,
            scrollableLeftContainer }) {
        w.getElement().getParentElement().getStyle().setOverflow(Style.Overflow.HIDDEN);
    }
    hive.getElement().getStyle().setTableLayout(Style.TableLayout.FIXED);
    hive.getElement().getStyle().setPosition(Style.Position.RELATIVE);
    for (CellTable<?> tbl : new CellTable<?>[] { headerLeft, headerRight, frozenLeft, frozenRight,
            scrollableLeft, scrollableRight, footerLeft, footerRight }) {
        tbl.setTableLayoutFixed(true);
    }
    // header
    headerLeft.setHeaderBuilder(new ThemedHeaderOrFooterBuilder<T>(headerLeft, false, this));
    headerLeft.setFooterBuilder(new NullHeaderOrFooterBuilder<T>(headerLeft, true));
    headerRight.setHeaderBuilder(new ThemedHeaderOrFooterBuilder<T>(headerRight, false, this));
    headerRight.setFooterBuilder(new NullHeaderOrFooterBuilder<T>(headerRight, true));
    // footer
    footerLeft.setHeaderBuilder(new NullHeaderOrFooterBuilder<T>(footerLeft, false));
    footerLeft.setFooterBuilder(new ThemedHeaderOrFooterBuilder<T>(footerLeft, true));
    footerRight.setHeaderBuilder(new NullHeaderOrFooterBuilder<T>(footerRight, false));
    footerRight.setFooterBuilder(new ThemedHeaderOrFooterBuilder<T>(footerRight, true));
    // data bodies
    for (GridSection<?> section : new GridSection<?>[] { frozenLeft, frozenRight, scrollableLeft,
            scrollableRight }) {
        GridSection<T> gSection = (GridSection<T>) section;
        gSection.setHeaderBuilder(new NullHeaderOrFooterBuilder<T>(gSection, false));
        gSection.setFooterBuilder(new NullHeaderOrFooterBuilder<T>(gSection, true));
    }
    for (GridSection<?> section : new GridSection<?>[] { headerLeft, headerRight, frozenLeft, frozenRight,
            scrollableLeft, scrollableRight, footerLeft, footerRight }) {
        section.setAutoHeaderRefreshDisabled(true);
    }
    for (GridSection<?> section : new GridSection<?>[] { headerLeft, headerRight, footerLeft, footerRight }) {
        section.setAutoFooterRefreshDisabled(true);
    }
    // cells
    installCellBuilders();

    scrollableRightContainer.addScrollHandler(new ScrollHandler() {

        @Override
        public void onScroll(ScrollEvent event) {
            int aimLeft = scrollableRightContainer.getElement().getScrollLeft();
            if (isHeaderVisible()) {
                headerRightContainer.getElement().setScrollLeft(aimLeft);
                int factLeftDelta0 = aimLeft - headerRightContainer.getElement().getScrollLeft();
                if (factLeftDelta0 > 0) {
                    headerRightContainer.getElement().getStyle().setRight(factLeftDelta0, Style.Unit.PX);
                } else {
                    headerRightContainer.getElement().getStyle().clearRight();
                }
            }
            if (frozenColumns > 0 || frozenRows > 0) {
                int aimTop = scrollableRightContainer.getElement().getScrollTop();

                scrollableLeftContainer.getElement().setScrollTop(aimTop);
                int factTopDelta = aimTop - scrollableLeftContainer.getElement().getScrollTop();
                if (factTopDelta > 0) {
                    scrollableLeftContainer.getElement().getStyle().setBottom(factTopDelta, Style.Unit.PX);
                } else {
                    scrollableLeftContainer.getElement().getStyle().clearBottom();
                }
                frozenRightContainer.getElement().setScrollLeft(aimLeft);
                int factLeftDelta1 = aimLeft - frozenRightContainer.getElement().getScrollLeft();
                if (factLeftDelta1 > 0) {
                    frozenRightContainer.getElement().getStyle().setRight(factLeftDelta1, Style.Unit.PX);
                } else {
                    frozenRightContainer.getElement().getStyle().clearRight();
                }
                footerRightContainer.getElement()
                        .setScrollLeft(scrollableRightContainer.getElement().getScrollLeft());
                int factLeftDelta2 = aimLeft - footerRightContainer.getElement().getScrollLeft();
                if (factLeftDelta2 > 0) {
                    footerRightContainer.getElement().getStyle().setRight(factLeftDelta2, Style.Unit.PX);
                } else {
                    footerRightContainer.getElement().getStyle().clearRight();
                }
            }
        }

    });
    ghostLine = Document.get().createDivElement();
    ghostLine.addClassName(RULER_STYLE);
    ghostLine.getStyle().setPosition(Style.Position.ABSOLUTE);
    ghostLine.getStyle().setTop(0, Style.Unit.PX);
    ghostColumn = Document.get().createDivElement();
    ghostColumn.addClassName(COLUMN_PHANTOM_STYLE);
    ghostColumn.getStyle().setPosition(Style.Position.ABSOLUTE);
    ghostColumn.getStyle().setTop(0, Style.Unit.PX);
    addDomHandler(new DragEnterHandler() {

        @Override
        public void onDragEnter(DragEnterEvent event) {
            if (DraggedColumn.instance != null) {
                if (DraggedColumn.instance.isMove()) {
                    event.preventDefault();
                    event.stopPropagation();
                    DraggedColumn<T> target = findTargetDraggedColumn(event.getNativeEvent().getEventTarget());
                    if (target != null) {
                        showColumnMoveDecorations(target);
                        event.getDataTransfer().<XDataTransfer>cast().setDropEffect("move");
                    } else {
                        event.getDataTransfer().<XDataTransfer>cast().setDropEffect("none");
                    }
                } else {
                }
            }
        }
    }, DragEnterEvent.getType());
    addDomHandler(new DragHandler() {

        @Override
        public void onDrag(DragEvent event) {
            if (DraggedColumn.instance != null && DraggedColumn.instance.isResize()) {
                event.stopPropagation();
            }
        }
    }, DragEvent.getType());
    addDomHandler(new DragOverHandler() {

        @Override
        public void onDragOver(DragOverEvent event) {
            if (DraggedColumn.instance != null) {
                event.preventDefault();
                event.stopPropagation();
                if (DraggedColumn.instance.isMove()) {
                    DraggedColumn<T> target = findTargetDraggedColumn(event.getNativeEvent().getEventTarget());
                    if (target != null) {
                        event.getDataTransfer().<XDataTransfer>cast().setDropEffect("move");
                    } else {
                        hideColumnDecorations();
                        event.getDataTransfer().<XDataTransfer>cast().setDropEffect("none");
                    }
                } else {
                    Element hostElement = Grid.this.getElement();
                    int clientX = event.getNativeEvent().getClientX();
                    int hostAbsX = hostElement.getAbsoluteLeft();
                    int hostScrollX = hostElement.getScrollLeft();
                    int docScrollX = hostElement.getOwnerDocument().getScrollLeft();
                    int relativeX = clientX - hostAbsX + hostScrollX + docScrollX;
                    ghostLine.getStyle().setLeft(relativeX, Style.Unit.PX);
                    ghostLine.getStyle().setHeight(hostElement.getClientHeight(), Style.Unit.PX);
                    if (ghostLine.getParentElement() != hostElement) {
                        hostElement.appendChild(ghostLine);
                    }
                }
            }
        }
    }, DragOverEvent.getType());
    addDomHandler(new DragLeaveHandler() {

        @Override
        public void onDragLeave(DragLeaveEvent event) {
            if (DraggedColumn.instance != null) {
                event.stopPropagation();
                if (DraggedColumn.instance.isMove()) {
                    if (event.getNativeEvent().getEventTarget() == (JavaScriptObject) Grid.this.getElement()) {
                        hideColumnDecorations();
                    }
                }
            }
        }
    }, DragLeaveEvent.getType());
    addDomHandler(new DragEndHandler() {

        @Override
        public void onDragEnd(DragEndEvent event) {
            if (DraggedColumn.instance != null) {
                event.stopPropagation();
                hideColumnDecorations();
                DraggedColumn.instance = null;
            }
        }
    }, DragEndEvent.getType());
    addDomHandler(new DropHandler() {

        @Override
        public void onDrop(DropEvent event) {
            DraggedColumn<?> source = DraggedColumn.instance;
            DraggedColumn<T> target = targetDraggedColumn;
            hideColumnDecorations();
            DraggedColumn.instance = null;
            if (source != null) {
                event.preventDefault();
                event.stopPropagation();
                if (source.isMove()) {
                    AbstractCellTable<T> sourceSection = (AbstractCellTable<T>) source.getTable();
                    // target table may be any section in our grid
                    if (target != null) {
                        Header<?> sourceHeader = source.getHeader();
                        Header<?> targetHeader = target.getHeader();
                        if (sourceHeader instanceof DraggableHeader<?>
                                && targetHeader instanceof DraggableHeader<?>) {
                            DraggableHeader<T> sourceDH = (DraggableHeader<T>) sourceHeader;
                            DraggableHeader<T> targetDH = (DraggableHeader<T>) targetHeader;
                            moveColumnNode(sourceDH.getHeaderNode(), targetDH.getHeaderNode());
                        } else {
                            int sourceIndex = source.getColumnIndex();
                            int targetIndex = target.getColumnIndex();
                            GridSection<T> targetSection = (GridSection<T>) target.getTable();

                            boolean isSourceLeft = sourceSection == headerLeft || sourceSection == frozenLeft
                                    || sourceSection == scrollableLeft || sourceSection == footerLeft;
                            boolean isTargetLeft = targetSection == headerLeft || targetSection == frozenLeft
                                    || targetSection == scrollableLeft || targetSection == footerLeft;
                            sourceSection = isSourceLeft ? headerLeft : headerRight;
                            targetSection = isTargetLeft ? headerLeft : headerRight;
                            int generalSourceIndex = isSourceLeft ? sourceIndex : sourceIndex + frozenColumns;
                            int generalTargetIndex = isTargetLeft ? targetIndex : targetIndex + frozenColumns;
                            Header<?> header = sourceSection.getHeader(sourceIndex);
                            if (header instanceof DraggableHeader) {
                                ((DraggableHeader) header).setTable(targetSection);
                            }
                            if (generalSourceIndex != generalTargetIndex) {
                                Column<T, ?> column = (Column<T, ?>) source.getColumn();
                                if (!(header instanceof DraggableHeader)
                                        || ((DraggableHeader) header).isMoveable()) {
                                    moveColumn(generalSourceIndex, generalTargetIndex);
                                }
                            }
                        }
                    }
                } else {
                    Header<?> header = source.getHeader();
                    if (!(header instanceof DraggableHeader) || ((DraggableHeader) header).isResizable()) {
                        int newWidth = Math.max(
                                event.getNativeEvent().getClientX() - source.getCellElement().getAbsoluteLeft(),
                                MINIMUM_COLUMN_WIDTH);
                        // Source and target tables are the same, so we can
                        // cast to DraggedColumn<T> with no care
                        setColumnWidthFromHeaderDrag(((DraggedColumn<T>) source).getColumn(), newWidth,
                                Style.Unit.PX);
                    }
                }
            }
        }
    }, DropEvent.getType());

    columnsChevron.getElement().getStyle().setPosition(Style.Position.ABSOLUTE);
    columnsChevron.getElement().addClassName(COLUMNS_CHEVRON_STYLE);
    getElement().appendChild(columnsChevron.getElement());
    columnsChevron.addDomHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            PlatypusPopupMenu columnsMenu = new PlatypusPopupMenu();
            fillColumns(columnsMenu, headerLeft);
            fillColumns(columnsMenu, headerRight);
            columnsMenu.setPopupPosition(columnsChevron.getAbsoluteLeft(), columnsChevron.getAbsoluteTop());
            columnsMenu.showRelativeTo(columnsChevron);
        }

        private void fillColumns(MenuBar aTarget, final GridSection<T> aSection) {
            for (int i = 0; i < aSection.getColumnCount(); i++) {
                Header<?> h = aSection.getHeader(i);
                final Column<T, ?> column = aSection.getColumn(i);
                SafeHtml rendered;
                if (h.getValue() instanceof String) {
                    String hVal = (String) h.getValue();
                    rendered = hVal.startsWith("<html>") ? SafeHtmlUtils.fromTrustedString(hVal.substring(6))
                            : SafeHtmlUtils.fromString(hVal);
                } else {
                    Cell.Context context = new Cell.Context(0, i, h.getKey());
                    SafeHtmlBuilder sb = new SafeHtmlBuilder();
                    h.render(context, sb);
                    rendered = sb.toSafeHtml();
                }
                MenuItemCheckBox miCheck = new MenuItemCheckBox(!aSection.isColumnHidden(column),
                        rendered.asString(), true);
                miCheck.addValueChangeHandler(new ValueChangeHandler<Boolean>() {

                    @Override
                    public void onValueChange(ValueChangeEvent<Boolean> event) {
                        if (Boolean.TRUE.equals(event.getValue())) {
                            showColumn(column);
                        } else {
                            hideColumn(column);
                        }
                        Grid.this.onResize();
                    }

                });
                aTarget.addItem(miCheck);
            }
        }

    }, ClickEvent.getType());

    ColumnSortEvent.Handler sectionSortHandler = new ColumnSortEvent.Handler() {

        @Override
        public void onColumnSort(ColumnSortEvent event) {
            boolean isCtrlKey = ((GridSection<?>) event.getSource()).isCtrlKey();
            boolean contains = false;
            int containsAt = -1;
            for (int i = 0; i < sortList.size(); i++) {
                if (sortList.get(i).getColumn() == event.getColumn()) {
                    contains = true;
                    containsAt = i;
                    break;
                }
            }
            if (!contains) {
                if (!isCtrlKey) {
                    sortList.clear();
                }
                sortList.insert(sortList.size(), new ColumnSortList.ColumnSortInfo(event.getColumn(), true));
            } else {
                boolean wasAscending = sortList.get(containsAt).isAscending();
                if (!isCtrlKey) {
                    sortList.clear();
                    if (wasAscending) {
                        sortList.push(new ColumnSortList.ColumnSortInfo(event.getColumn(), false));
                    }
                } else {
                    sortList.remove(sortList.get(containsAt));
                    if (wasAscending) {
                        sortList.insert(containsAt,
                                new ColumnSortList.ColumnSortInfo(event.getColumn(), false));
                    }
                }
            }
            ColumnSortEvent.fire(Grid.this, sortList);
        }
    };
    headerLeft.getColumnSortList().setLimit(1);
    headerLeft.addColumnSortHandler(sectionSortHandler);
    headerRight.getColumnSortList().setLimit(1);
    headerRight.addColumnSortHandler(sectionSortHandler);
    gridColor = PublishedColor.create(211, 211, 211, 255);
    regenerateDynamicTDStyles();
    regenerateDynamicOddRowsStyles();
    getElement().<XElement>cast().addResizingTransitionEnd(this);
    setStyleName(GRID_SHELL_STYLE);
}

From source file:com.eucalyptus.www.X509Download.java

License:Open Source License

public static String getError(String message) {
    SafeHtmlBuilder builder = new SafeHtmlBuilder();
    builder.append(SafeHtmlUtils.fromTrustedString(
            "<html><title>Getting credentials failed</title><body><div align=\"center\"><p><h1>Getting credentails failed</h1></p><p><img src=\"themes/active/logo.png\" /></p><p><h3 style=\"font-color: red;\">"));
    builder.appendEscaped(message);/*from   w  w  w .  j av a  2s . c o  m*/
    builder.append(SafeHtmlUtils.fromTrustedString("</h3></p></div></body></html>"));
    return builder.toSafeHtml().asString();
}

From source file:com.extjs.gxt.ui.client.widget.ListView.java

License:sencha.com license

/**
 * Refreshes the view by reloading the data from the store and re-rendering
 * the template.//from  w  w w .j  a  v  a  2 s .  c  om
 */
public void refresh() {
    if (!rendered) {
        return;
    }
    el().setInnerHtml(SafeHtmlUtils.EMPTY_SAFE_HTML);
    repaint();
    List<M> models = store == null ? new ArrayList<M>() : store.getModels();
    all.removeAll();

    SafeHtmlBuilder html = new SafeHtmlBuilder();
    renderer.render(collectData(models, 0), html);

    getElement().setInnerSafeHtml(html.toSafeHtml());

    all = new CompositeElement(Util.toElementArray(el().select(itemSelector)));
    if (GXT.isAriaEnabled()) {
        for (int i = 0; i < all.getCount(); i++) {
            all.getElement(i).setId(XDOM.getUniqueId());
        }
    }
    updateIndexes(0, -1);
    fireEvent(Events.Refresh);
}

From source file:com.github.gwtbootstrap.client.ui.base.ValueBoxBase.java

License:Apache License

/**
 * /*from   w w  w .java 2 s.c o  m*/
 * @see com.google.gwt.editor.client.HasEditorErrors#showErrors(java.util.List)
 */
@Override
public void showErrors(List<EditorError> errors) {
    Widget decoratedWidget = controlGroup != null ? controlGroup : this;
    if (errors != null && !errors.isEmpty()) {
        StyleHelper.addStyle(decoratedWidget, ControlGroupType.ERROR);
        SafeHtmlBuilder sb = new SafeHtmlBuilder();
        for (EditorError error : errors) {
            if (error.getEditor() == this) {
                error.setConsumed(true);
                sb.appendEscaped(error.getMessage());
                sb.appendHtmlConstant("<br />");
            }
        }
        setErrorLabelText(sb.toSafeHtml().asString());
    } else {
        StyleHelper.removeStyle(decoratedWidget, ControlGroupType.ERROR);
        setErrorLabelText("");
    }
}