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

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

Introduction

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

Prototype

public SafeHtmlBuilder appendHtmlConstant(String html) 

Source Link

Document

Appends a compile-time-constant string, which will not be escaped.

Usage

From source file:org.eclipse.che.ide.ext.git.client.history.HistoryViewImpl.java

License:Open Source License

/** Creates table what contains list of available commits.
 * @param res*//* w  w  w. ja  v  a 2 s.com*/
private void createCommitsTable(Resources res) {
    commits = new CellTable<Revision>(15, res);

    Column<Revision, String> dateColumn = new Column<Revision, String>(new TextCell()) {
        @Override
        public String getValue(Revision revision) {
            return DateTimeFormat.getFormat(DateTimeFormat.PredefinedFormat.DATE_TIME_MEDIUM)
                    .format(new Date((long) revision.getCommitTime()));
        }

        @Override
        public void render(Cell.Context context, Revision revision, SafeHtmlBuilder sb) {
            sb.appendHtmlConstant("<div id=\"" + UIObject.DEBUG_ID_PREFIX + "git-showHistory-table-"
                    + context.getIndex() + "\">");
            super.render(context, revision, sb);
        }
    };
    Column<Revision, String> commiterColumn = new Column<Revision, String>(new TextCell()) {
        @Override
        public String getValue(Revision revision) {
            if (revision.getCommitter() == null) {
                return "";
            }
            return revision.getCommitter().getName();
        }

    };
    Column<Revision, String> commentColumn = new Column<Revision, String>(new TextCell()) {
        @Override
        public String getValue(Revision revision) {
            return revision.getMessage();
        }
    };

    commits.addColumn(dateColumn, locale.commitGridDate());
    commits.setColumnWidth(dateColumn, "20%");
    commits.addColumn(commiterColumn, locale.commitGridCommiter());
    commits.setColumnWidth(commiterColumn, "30%");
    commits.addColumn(commentColumn, locale.commitGridComment());
    commits.setColumnWidth(commentColumn, "50%");

    final SingleSelectionModel<Revision> selectionModel = new SingleSelectionModel<Revision>();
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            Revision selectedObject = selectionModel.getSelectedObject();
            delegate.onRevisionSelected(selectedObject);
        }
    });
    commits.setSelectionModel(selectionModel);
}

From source file:org.eclipse.che.ide.ext.git.client.remote.RemoteViewImpl.java

License:Open Source License

/**
 * Initialize the columns of the grid./* w  w w .  java  2s  .  co m*/
 *
 * @param ideResources
 */
private void initRepositoriesTable(org.eclipse.che.ide.Resources ideResources) {
    repositories = new CellTable<>(15, ideResources);

    Column<Remote, String> nameColumn = new Column<Remote, String>(new TextCell()) {
        @Override
        public String getValue(Remote remote) {
            return remote.getName();
        }

        @Override
        public void render(Cell.Context context, Remote remote, SafeHtmlBuilder sb) {
            sb.appendHtmlConstant("<div id=\"" + UIObject.DEBUG_ID_PREFIX + "git-remotes-remotes-cellTable-"
                    + context.getIndex() + "\">");
            super.render(context, remote, sb);
        }
    };
    Column<Remote, String> urlColumn = new Column<Remote, String>(new TextCell()) {
        @Override
        public String getValue(Remote remote) {
            return remote.getUrl();
        }
    };

    repositories.addColumn(nameColumn, locale.remoteGridNameField());
    repositories.setColumnWidth(nameColumn, "20%");
    repositories.addColumn(urlColumn, locale.remoteGridLocationField());
    repositories.setColumnWidth(urlColumn, "80%");

    final SingleSelectionModel<Remote> selectionModel = new SingleSelectionModel<Remote>();
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            selectedObject = selectionModel.getSelectedObject();
            delegate.onRemoteSelected(selectedObject);
        }
    });
    repositories.setSelectionModel(selectionModel);
}

From source file:org.eclipse.che.ide.ext.git.client.reset.commit.ResetToCommitViewImpl.java

License:Open Source License

/** Creates table what contains list of available commits. */
private void createCommitsTable() {
    commits = new CellTable<Revision>(15, tableRes);

    Column<Revision, String> dateColumn = new Column<Revision, String>(new TextCell()) {
        @Override/*w w w .  jav a 2 s  .c  o  m*/
        public String getValue(Revision revision) {
            return DateTimeFormat.getFormat(DateTimeFormat.PredefinedFormat.DATE_TIME_MEDIUM)
                    .format(new Date((long) revision.getCommitTime()));
        }

        @Override
        public void render(Cell.Context context, Revision revision, SafeHtmlBuilder sb) {
            sb.appendHtmlConstant("<div id=\"" + UIObject.DEBUG_ID_PREFIX + "git-reset-cellTable-"
                    + context.getIndex() + "\">");
            super.render(context, revision, sb);
        }
    };
    Column<Revision, String> commiterColumn = new Column<Revision, String>(new TextCell()) {
        @Override
        public String getValue(Revision revision) {
            if (revision.getCommitter() == null) {
                return "";
            }
            return revision.getCommitter().getName();
        }

    };
    Column<Revision, String> commentColumn = new Column<Revision, String>(new TextCell()) {
        @Override
        public String getValue(Revision revision) {
            return revision.getMessage();
        }
    };

    commits.addColumn(dateColumn, locale.commitGridDate());
    commits.setColumnWidth(dateColumn, "20%");
    commits.addColumn(commiterColumn, locale.commitGridCommiter());
    commits.setColumnWidth(commiterColumn, "20%");
    commits.addColumn(commentColumn, locale.commitGridComment());
    commits.setColumnWidth(commentColumn, "60%");

    final SingleSelectionModel<Revision> selectionModel = new SingleSelectionModel<Revision>();
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
            Revision selectedObject = selectionModel.getSelectedObject();
            delegate.onRevisionSelected(selectedObject);
        }
    });
    commits.setSelectionModel(selectionModel);
}

From source file:org.eclipse.che.ide.ext.git.ssh.client.manage.SshKeyManagerViewImpl.java

License:Open Source License

/** Creates table what contains list of available ssh keys. */
private void initSshKeyTable(final CellTable.Resources res) {
    keys = new CellTable<>(15, res);
    Column<SshPairDto, String> hostColumn = new Column<SshPairDto, String>(new TextCell()) {
        @Override//from w  w  w . j  a va2s  .c  om
        public String getValue(SshPairDto object) {
            return object.getName();
        }

        @Override
        public void render(Context context, SshPairDto object, SafeHtmlBuilder sb) {
            sb.appendHtmlConstant("<div id=\"" + UIObject.DEBUG_ID_PREFIX + "-gitSshKeys-cellTable-host-"
                    + context.getIndex() + "\">");
            super.render(context, object, sb);
        }
    };
    hostColumn.setSortable(true);

    Column<SshPairDto, String> publicKeyColumn = new Column<SshPairDto, String>(new ButtonCell()) {
        @Override
        public String getValue(SshPairDto object) {
            return "View";
        }

        @Override
        public void render(Context context, SshPairDto object, SafeHtmlBuilder sb) {
            sb.appendHtmlConstant("<div id=\"" + UIObject.DEBUG_ID_PREFIX + "-gitSshKeys-cellTable-key-"
                    + context.getIndex() + "\">");
            if (object != null && object.getPublicKey() != null) {
                super.render(context, object, sb);
            }
        }
    };
    // Creates handler on button clicked
    publicKeyColumn.setFieldUpdater(new FieldUpdater<SshPairDto, String>() {
        @Override
        public void update(int index, SshPairDto object, String value) {
            delegate.onViewClicked(object);
        }
    });

    Column<SshPairDto, String> deleteKeyColumn = new Column<SshPairDto, String>(new ButtonCell()) {
        @Override
        public String getValue(SshPairDto object) {
            return "Delete";
        }

        @Override
        public void render(Context context, SshPairDto object, SafeHtmlBuilder sb) {
            sb.appendHtmlConstant("<div id=\"" + UIObject.DEBUG_ID_PREFIX + "-gitSshKeys-cellTable-delete-"
                    + context.getIndex() + "\">");
            super.render(context, object, sb);
        }
    };
    // Creates handler on button clicked
    deleteKeyColumn.setFieldUpdater(new FieldUpdater<SshPairDto, String>() {
        @Override
        public void update(int index, SshPairDto object, String value) {
            delegate.onDeleteClicked(object);
        }
    });

    keys.addColumn(hostColumn, "Host");
    keys.addColumn(publicKeyColumn, "Public Key");
    keys.addColumn(deleteKeyColumn, "Delete");
    keys.setColumnWidth(hostColumn, 50, Style.Unit.PCT);
    keys.setColumnWidth(publicKeyColumn, 30, Style.Unit.PX);
    keys.setColumnWidth(deleteKeyColumn, 30, Style.Unit.PX);

    // don't show loading indicator
    keys.setLoadingIndicator(null);
}

From source file:org.eclipse.che.ide.ext.java.client.refactoring.move.wizard.ProjectsAndPackagesModel.java

License:Open Source License

/** {@inheritDoc} */
@Override//from   w  w  w. j a  v  a2 s.com
public <T> NodeInfo<?> getNodeInfo(T value) {
    if (value == null) {
        return new DefaultNodeInfo<>(new ListDataProvider<>(projects), new AbstractCell<JavaProject>() {
            @Override
            public void render(Context context, JavaProject value, SafeHtmlBuilder sb) {
                sb.appendHtmlConstant(resources.javaCategoryIcon().getSvg().getElement().getString())
                        .appendEscaped(" ");
                sb.appendEscaped(value.getName());
            }
        }, selectionModel, null);
    }

    if (value instanceof JavaProject) {
        final JavaProject project = (JavaProject) value;
        return new DefaultNodeInfo<>(new ListDataProvider<>(project.getPackageFragmentRoots()),
                new AbstractCell<PackageFragmentRoot>() {
                    @Override
                    public void render(Context context, PackageFragmentRoot value, SafeHtmlBuilder sb) {
                        sb.appendHtmlConstant(resources.sourceFolder().getSvg().getElement().getString())
                                .appendEscaped(" ");

                        sb.appendEscaped(value.getPath().substring(project.getPath().length()));
                    }
                }, selectionModel, null);
    }

    if (value instanceof PackageFragmentRoot) {
        return new DefaultNodeInfo<>(
                new ListDataProvider<>(((PackageFragmentRoot) value).getPackageFragments()),
                new AbstractCell<PackageFragment>() {
                    @Override
                    public void render(Context context, PackageFragment value, SafeHtmlBuilder sb) {
                        sb.appendHtmlConstant(resources.packageItem().getSvg().getElement().getString())
                                .appendEscaped(" ");

                        if (value.getElementName().isEmpty()) {
                            sb.appendEscaped("(default package)");
                        } else {
                            sb.appendEscaped(value.getElementName());
                        }
                    }
                }, selectionModel, null);
    }
    return null;
}

From source file:org.eclipse.che.ide.ext.java.client.refactoring.preview.PreviewChangesModel.java

License:Open Source License

public PreviewChangesModel(RefactoringPreview changes, final SelectionModel<RefactoringPreview> selectionModel,
        final PreviewView.ActionDelegate delegate) {
    this.changes = changes;
    this.selectionModel = selectionModel;

    List<HasCell<RefactoringPreview, ?>> hasCells = new ArrayList<>();

    hasCells.add(new HasCell<RefactoringPreview, Boolean>() {

        private CheckboxCell cell = new CheckboxCell(false, false);

        @Override/*from www  .j a va  2 s. c  om*/
        public Cell<Boolean> getCell() {
            return cell;
        }

        @Override
        public FieldUpdater<RefactoringPreview, Boolean> getFieldUpdater() {
            return new FieldUpdater<RefactoringPreview, Boolean>() {
                @Override
                public void update(int index, RefactoringPreview object, Boolean value) {
                    object.setEnabled(value);
                    delegate.onEnabledStateChanged(object);
                }
            };
        }

        @Override
        public Boolean getValue(RefactoringPreview object) {
            return object.isEnabled();
        }

    });

    hasCells.add(new HasCell<RefactoringPreview, RefactoringPreview>() {

        private RefactoringPreviewCell cell = new RefactoringPreviewCell();

        @Override
        public Cell<RefactoringPreview> getCell() {
            return cell;
        }

        @Override
        public FieldUpdater<RefactoringPreview, RefactoringPreview> getFieldUpdater() {
            return null;
        }

        @Override
        public RefactoringPreview getValue(RefactoringPreview object) {
            return object;
        }
    });

    refactoringPreviewCell = new CompositeCell<RefactoringPreview>(hasCells) {
        @Override
        public void render(Context context, RefactoringPreview value, SafeHtmlBuilder sb) {
            sb.appendHtmlConstant("<div style=\"display: inline-flex\">");
            super.render(context, value, sb);
            sb.appendHtmlConstant("</div>");
        }

        @Override
        protected Element getContainerElement(Element parent) {
            return parent.getFirstChildElement();
        }

        @Override
        protected <X> void render(Context context, RefactoringPreview value, SafeHtmlBuilder sb,
                HasCell<RefactoringPreview, X> hasCell) {
            Cell<X> cell = hasCell.getCell();
            sb.appendHtmlConstant("<div style=\"display: flex; align-items: center;\">");
            cell.render(context, hasCell.getValue(value), sb);
            sb.appendHtmlConstant("</div>");
        }
    };
}

From source file:org.eclipse.che.ide.ext.java.jdi.client.debug.DebuggerViewImpl.java

License:Open Source License

@Inject
protected DebuggerViewImpl(PartStackUIResources partStackUIResources, JavaRuntimeResources resources,
        JavaRuntimeLocalizationConstant locale, Resources coreRes,
        VariableTreeNodeRenderer.Resources rendererResources, DtoFactory dtoFactory,
        DebuggerViewImplUiBinder uiBinder) {
    super(partStackUIResources);

    this.locale = locale;
    this.res = resources;
    this.coreRes = coreRes;
    this.dtoFactory = dtoFactory;

    setContentWidget(uiBinder.createAndBindUi(this));

    TableElement breakPointsElement = Elements.createTableElement();
    breakPointsElement.setAttribute("style", "width: 100%");
    SimpleList.ListEventDelegate<Breakpoint> breakpointListEventDelegate = new SimpleList.ListEventDelegate<Breakpoint>() {
        public void onListItemClicked(Element itemElement, Breakpoint itemData) {
            breakpoints.getSelectionModel().setSelectedItem(itemData);
        }//from w  w  w  . j  ava 2 s.  c o m

        public void onListItemDoubleClicked(Element listItemBase, Breakpoint itemData) {
            // TODO: implement 'go to breakpoint source' feature
        }
    };

    SimpleList.ListItemRenderer<Breakpoint> breakpointListItemRenderer = new SimpleList.ListItemRenderer<Breakpoint>() {
        @Override
        public void render(Element itemElement, Breakpoint itemData) {
            TableCellElement label = Elements.createTDElement();

            SafeHtmlBuilder sb = new SafeHtmlBuilder();
            // Add icon
            sb.appendHtmlConstant("<table><tr><td>");
            SVGResource icon = res.breakpoint();
            if (icon != null) {
                sb.appendHtmlConstant("<img src=\"" + icon.getSafeUri().asString() + "\">");
            }
            sb.appendHtmlConstant("</td>");

            // Add title
            sb.appendHtmlConstant("<td>");
            sb.appendEscaped(
                    itemData.getPath() + " - [line: " + String.valueOf(itemData.getLineNumber() + 1) + "]");
            sb.appendHtmlConstant("</td></tr></table>");

            label.setInnerHTML(sb.toSafeHtml().asString());

            itemElement.appendChild(label);
        }

        @Override
        public Element createElement() {
            return Elements.createTRElement();
        }
    };

    breakpoints = SimpleList.create((SimpleList.View) breakPointsElement, coreRes.defaultSimpleListCss(),
            breakpointListItemRenderer, breakpointListEventDelegate);
    this.breakpointsPanel.add(breakpoints);
    this.variables = Tree.create(rendererResources, new VariableNodeDataAdapter(),
            new VariableTreeNodeRenderer(rendererResources));
    this.variables.setTreeEventHandler(new Tree.Listener<DebuggerVariable>() {
        @Override
        public void onNodeAction(@NotNull TreeNodeElement<DebuggerVariable> node) {
        }

        @Override
        public void onNodeClosed(@NotNull TreeNodeElement<DebuggerVariable> node) {
            selectedVariable = null;
        }

        @Override
        public void onNodeContextMenu(int mouseX, int mouseY, @NotNull TreeNodeElement<DebuggerVariable> node) {
        }

        @Override
        public void onNodeDragStart(@NotNull TreeNodeElement<DebuggerVariable> node,
                @NotNull MouseEvent event) {
        }

        @Override
        public void onNodeDragDrop(@NotNull TreeNodeElement<DebuggerVariable> node, @NotNull MouseEvent event) {
        }

        @Override
        public void onNodeExpanded(@NotNull final TreeNodeElement<DebuggerVariable> node) {
            selectedVariable = node;
            delegate.onSelectedVariableElement(selectedVariable.getData());
            delegate.onExpandVariablesTree();
        }

        @Override
        public void onNodeSelected(@NotNull TreeNodeElement<DebuggerVariable> node,
                @NotNull SignalEvent event) {
            selectedVariable = node;
            delegate.onSelectedVariableElement(selectedVariable.getData());
        }

        @Override
        public void onRootContextMenu(int mouseX, int mouseY) {
        }

        @Override
        public void onRootDragDrop(@NotNull MouseEvent event) {
        }

        @Override
        public void onKeyboard(@NotNull KeyboardEvent event) {
        }
    });

    this.variablesPanel.add(variables);
    minimizeButton.ensureDebugId("debugger-minimizeBut");
}

From source file:org.eclipse.che.ide.ext.openshift.client.deploy._new.NewApplicationViewImpl.java

License:Open Source License

private CellTable<KeyValue> createCellTable(CellTableResources cellTableResources,
        final ListDataProvider<KeyValue> dataProvider, final Predicate<String> keyValidator,
        final Predicate<String> valueValidator) {
    final CellTable<KeyValue> table = new CellTable<>(50, cellTableResources);
    table.setKeyboardSelectionPolicy(HasKeyboardSelectionPolicy.KeyboardSelectionPolicy.DISABLED);
    dataProvider.addDataDisplay(table);/*from   ww w. j  av a2s  .co m*/

    TextInputCell keyCell = new TextInputCell() {
        @Override
        public void onBrowserEvent(Context context, com.google.gwt.dom.client.Element parent, String value,
                NativeEvent event, ValueUpdater<String> valueUpdater) {
            super.onBrowserEvent(context, parent, value, event, valueUpdater);
            if (event.getType().equals(BrowserEvents.KEYUP)) {
                String newValue = getInputElement(parent).getValue();
                if (!keyValidator.apply(newValue)) {
                    parent.getParentElement().addClassName(resources.css().deployApplicationTableError());
                } else {
                    parent.getParentElement().removeClassName(resources.css().deployApplicationTableError());
                }
                valueUpdater.update(newValue);
                delegate.updateControls();
            }
        }
    };

    Column<KeyValue, String> nameColumn = new Column<KeyValue, String>(keyCell) {
        @Override
        public String getCellStyleNames(Cell.Context context, KeyValue object) {
            if (!keyValidator.apply(object.getKey())) {
                return resources.css().deployApplicationTableError();
            }
            return null;
        }

        @Override
        public String getValue(KeyValue object) {
            return object.getKey();
        }
    };

    nameColumn.setFieldUpdater(new FieldUpdater<KeyValue, String>() {
        @Override
        public void update(int index, KeyValue object, String value) {
            object.setKey(value);
        }
    });

    TextInputCell valueCell = new TextInputCell() {
        @Override
        public void onBrowserEvent(Cell.Context context, com.google.gwt.dom.client.Element parent, String value,
                NativeEvent event, ValueUpdater<String> valueUpdater) {
            super.onBrowserEvent(context, parent, value, event, valueUpdater);
            if (event.getType().equals(BrowserEvents.KEYUP)) {
                String newValue = getInputElement(parent).getValue();
                if (!valueValidator.apply(newValue)) {
                    parent.getParentElement().addClassName(resources.css().deployApplicationTableError());
                } else {
                    parent.getParentElement().removeClassName(resources.css().deployApplicationTableError());
                }
                valueUpdater.update(newValue);
                delegate.updateControls();
            }
        }
    };

    Column<KeyValue, String> valueColumn = new Column<KeyValue, String>(valueCell) {
        @Override
        public String getCellStyleNames(Cell.Context context, KeyValue object) {
            if (!valueValidator.apply(object.getValue())) {
                return resources.css().deployApplicationTableError();
            }
            return null;
        }

        @Override
        public String getValue(KeyValue object) {
            return object.getValue();
        }
    };

    valueColumn.setFieldUpdater(new FieldUpdater<KeyValue, String>() {
        @Override
        public void update(int index, KeyValue object, String value) {
            object.setValue(value);
        }
    });

    Column<KeyValue, String> removeColumn = new Column<KeyValue, String>(new ButtonCell()) {
        @Override
        public String getValue(KeyValue object) {
            return "-";
        }

        @Override
        public void render(Cell.Context context, KeyValue object, SafeHtmlBuilder sb) {
            Button removeButton = new Button();
            super.render(context, object, sb.appendHtmlConstant(removeButton.getHTML()));
        }
    };

    removeColumn.setFieldUpdater(new FieldUpdater<KeyValue, String>() {
        @Override
        public void update(int index, KeyValue object, String value) {
            dataProvider.getList().remove(object);
            delegate.updateControls();
        }
    });

    table.addColumn(nameColumn);
    table.setColumnWidth(nameColumn, 35, Style.Unit.PCT);
    table.addColumn(valueColumn);
    table.setColumnWidth(valueColumn, 55, Style.Unit.PCT);
    table.addColumn(removeColumn);
    table.setColumnWidth(removeColumn, 10, Style.Unit.PCT);
    removeColumn.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);

    return table;
}

From source file:org.eclipse.che.ide.ext.openshift.client.service.add.wizard.page.configure.ConfigureServiceViewImpl.java

License:Open Source License

private CellTable<KeyValue> createLabelsTable(CellTableResources tableResources,
        final Predicate<String> labelValidator) {
    labelsTable = new CellTable<>(50, tableResources);
    labelsTable.setTableLayoutFixed(true);
    labelsTable.setKeyboardSelectionPolicy(HasKeyboardSelectionPolicy.KeyboardSelectionPolicy.DISABLED);
    labelsProvider.addDataDisplay(labelsTable);

    final ValidatedInputCell keyTextInputCell = new ValidatedInputCell(labelValidator,
            locale.labelNamePlaceholder());
    final Column<KeyValue, String> keyColumn = new Column<KeyValue, String>(keyTextInputCell) {
        @Override/*  ww  w .  j  a v  a2 s .  co m*/
        public String getCellStyleNames(Cell.Context context, KeyValue keyValue) {
            if (!labelValidator.apply(keyValue.getKey())) {
                return resources.css().applicationTableError();
            }
            return null;
        }

        @Override
        public String getValue(KeyValue keyValue) {
            return keyValue.getKey();
        }
    };
    keyColumn.setFieldUpdater(new FieldUpdater<KeyValue, String>() {
        @Override
        public void update(int index, KeyValue keyValue, String value) {
            keyValue.setKey(value);
            delegate.updateControls();
        }
    });

    ValidatedInputCell valueTextInputCell = new ValidatedInputCell(labelValidator,
            locale.labelValuePlaceholder());
    Column<KeyValue, String> valueColumn = new Column<KeyValue, String>(valueTextInputCell) {
        @Override
        public String getCellStyleNames(Cell.Context context, KeyValue keyValue) {
            if (!labelValidator.apply(keyValue.getValue())) {
                return resources.css().applicationTableError();
            }
            return null;
        }

        @Override
        public String getValue(KeyValue keyValue) {
            return keyValue.getValue();
        }
    };
    valueColumn.setFieldUpdater(new FieldUpdater<KeyValue, String>() {
        @Override
        public void update(int index, KeyValue keyValue, String value) {
            keyValue.setValue(value);
            delegate.updateControls();
        }
    });

    Column<KeyValue, String> removeColumn = new Column<KeyValue, String>(new ButtonCell()) {
        @Override
        public String getValue(KeyValue value) {
            return "-";
        }

        @Override
        public void render(Cell.Context context, KeyValue keyValue, SafeHtmlBuilder sb) {
            Button removeButton = new Button();
            super.render(context, keyValue, sb.appendHtmlConstant(removeButton.getHTML()));
        }
    };
    removeColumn.setFieldUpdater(new FieldUpdater<KeyValue, String>() {
        @Override
        public void update(int index, KeyValue keyValue, String value) {
            labelsProvider.getList().remove(keyValue);
            labelsProvider.refresh();
            delegate.updateControls();
        }
    });

    labelsTable.addColumn(keyColumn);
    labelsTable.setColumnWidth(keyColumn, 20, Style.Unit.PCT);
    labelsTable.addColumn(valueColumn);
    labelsTable.setColumnWidth(valueColumn, 20, Style.Unit.PCT);
    labelsTable.addColumn(removeColumn);
    labelsTable.setColumnWidth(removeColumn, 1, Style.Unit.PCT);
    removeColumn.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_CENTER);

    return labelsTable;
}

From source file:org.eclipse.che.ide.ext.runner.client.tabs.console.panel.MessageBuilder.java

License:Open Source License

/** @return an instance of {@link SafeHtml} with all given information */
@Nonnull//from  www. j a va  2s .  c o  m
public SafeHtml build() {
    SafeHtmlBuilder builder = new SafeHtmlBuilder().appendHtmlConstant("<pre style='margin:0px;'>");
    StringBuilder prefixes = new StringBuilder();

    for (Iterator<MessageType> iterator = types.iterator(); iterator.hasNext();) {
        MessageType type = iterator.next();

        if (UNDEFINED.equals(type)) {
            builder.append(SimpleHtmlSanitizer.sanitizeHtml(message));
        } else {
            String prefix = type.getPrefix();

            builder.appendHtmlConstant("[<span style='color:" + type.getColor() + ";'>")
                    .appendHtmlConstant("<b>" + prefix.replaceAll("[\\[\\]]", "") + "</b></span>]");

            prefixes.append(prefix);

            if (iterator.hasNext()) {
                prefixes.append(' ');
            }
        }
    }

    builder.append(SimpleHtmlSanitizer.sanitizeHtml(message.substring(prefixes.length())));

    return builder.appendHtmlConstant("</pre>").toSafeHtml();
}