Example usage for com.google.gwt.user.cellview.client Column Column

List of usage examples for com.google.gwt.user.cellview.client Column Column

Introduction

In this page you can find the example usage for com.google.gwt.user.cellview.client Column Column.

Prototype

public Column(Cell<C> cell) 

Source Link

Document

Construct a new Column with a given Cell .

Usage

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 . ja v a 2 s.  co m*/
        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.github.client.importer.page.GithubImporterPageViewImpl.java

License:Open Source License

/**
 * Creates table what contains list of available repositories.
 *
 * @param resources/* www .j  a  v  a2  s .  c om*/
 */
private void createRepositoriesTable(final Resources resources, GitHubLocalizationConstant locale) {
    repositories = new CellTable<>(15, resources);

    Column<ProjectData, ImageResource> iconColumn = new Column<ProjectData, ImageResource>(
            new ImageResourceCell()) {
        @Override
        public ImageResource getValue(ProjectData item) {
            return null;
        }
    };

    Column<ProjectData, SafeHtml> repositoryColumn = new Column<ProjectData, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(final ProjectData item) {
            return SafeHtmlUtils.fromString(item.getName());
        }
    };

    Column<ProjectData, SafeHtml> descriptionColumn = new Column<ProjectData, SafeHtml>(new SafeHtmlCell()) {
        @Override
        public SafeHtml getValue(final ProjectData item) {
            return new SafeHtmlBuilder().appendHtmlConstant("<span>").appendEscaped(item.getDescription())
                    .appendHtmlConstant("</span>").toSafeHtml();
        }
    };

    repositories.addColumn(iconColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));
    repositories.setColumnWidth(iconColumn, 28, Style.Unit.PX);

    repositories.addColumn(repositoryColumn, locale.samplesListRepositoryColumn());
    repositories.addColumn(descriptionColumn, locale.samplesListDescriptionColumn());

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

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

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   w w w.  ja  v  a2 s  .  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<Parameter> createVariablesTable(final CellTableResources tableResources) {
    envVariablesTable = new CellTable<>(50, tableResources);
    envVariablesTable.setTableLayoutFixed(true);
    envVariablesTable.setKeyboardSelectionPolicy(HasKeyboardSelectionPolicy.KeyboardSelectionPolicy.DISABLED);
    envVariablesProvider.addDataDisplay(envVariablesTable);

    Column<Parameter, String> nameColumn = new Column<Parameter, String>(new TextCell()) {
        @Override/*from  www . j  ava2  s .  c  om*/
        public String getValue(Parameter parameter) {
            return parameter.getName();
        }
    };

    TextInputCellWithPlaceHolder variablesCell = new TextInputCellWithPlaceHolder(
            locale.environmentVarialbesValuePlaceholder());
    Column<Parameter, String> valueColumn = new Column<Parameter, String>(variablesCell) {
        @Override
        public void onBrowserEvent(Cell.Context context, Element elem, Parameter parameter, NativeEvent event) {
            super.onBrowserEvent(context, elem, parameter, event);

            if (event.getType().equals(BrowserEvents.KEYUP)) {
                TextInputCellWithPlaceHolder cell = (TextInputCellWithPlaceHolder) envVariablesTable
                        .getColumn(context.getColumn()).getCell();
                String newValue = cell.getViewData(context.getKey()).getCurrentValue();

                if (parameter.getGenerate() == null && Strings.isNullOrEmpty(newValue)) {
                    elem.getParentElement().addClassName(resources.css().applicationTableError());
                } else {
                    elem.getParentElement().removeClassName(resources.css().applicationTableError());
                }
                getFieldUpdater().update(context.getIndex(), parameter, newValue);
                delegate.updateControls();
            }
        }

        @Override
        public String getCellStyleNames(Cell.Context context, Parameter parameter) {
            if (parameter != null && parameter.getGenerate() == null
                    && Strings.isNullOrEmpty(parameter.getValue())) {
                return resources.css().applicationTableError();
            }
            return null;
        }

        @Override
        public void render(Cell.Context context, Parameter parameter, SafeHtmlBuilder sb) {
            if (parameter.getGenerate() == null) {
                String value = parameter.getValue() == null ? "" : parameter.getValue();
                sb.append(template.input(value));
            } else {
                super.render(context, parameter, sb);
            }
        }

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

    envVariablesTable.addColumn(nameColumn);
    envVariablesTable.setColumnWidth(nameColumn, 15, Style.Unit.PCT);
    envVariablesTable.addColumn(valueColumn);
    envVariablesTable.setColumnWidth(valueColumn, 20, Style.Unit.PCT);
    return envVariablesTable;
}

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/*from w w  w  . ja v  a 2s.c  o 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.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<>(20, res);
    Column<SshPairDto, String> hostColumn = new Column<SshPairDto, String>(new TextCell()) {
        @Override// w  w w . j  a v  a 2s  . co  m
        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 + "-sshKeys-cellTable-title-"
                    + 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 + "-sshKeys-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 + "-sshKeys-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, "Title");
    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.extension.ExtensionManagerViewImpl.java

License:Open Source License

@Inject
public ExtensionManagerViewImpl(ToolbarPresenter toolbarPresenter, ActionManager actionManager,
        Resources resources) {/*from ww w .  ja v  a 2  s.  co m*/
    dataGrid = new DataGrid<ExtensionDescription>(100, resources);
    rootElement = ourUiBinder.createAndBindUi(this);
    //        toolbarPresenter.go(toolBarPanel);
    DefaultActionGroup actionGroup = new DefaultActionGroup("extensionManager", false, actionManager);
    actionManager.registerAction("extensionManagerGroup", actionGroup);
    //        SortByStatusAction sortByStatusAction = new SortByStatusAction(this, resources);
    //        actionManager.registerAction("extensionManagerSortByStatus", sortByStatusAction);
    //        actionGroup.add(sortByStatusAction);
    toolbarPresenter.bindMainGroup(actionGroup);
    UIObject.ensureDebugId(descriptionArea, "window-preferences-extensions-descriptionArea");

    //        CheckboxCell checkboxCell = new CheckboxCell(false, false);
    //        Column<ExtensionDescription, Boolean> enabledColumn = new Column<ExtensionDescription, Boolean>(checkboxCell) {
    //            @Override
    //            public Boolean getValue(ExtensionDescription object) {
    //                return object.isEnabled();
    //            }
    //
    //            @Override
    //            public void render(Cell.Context context, ExtensionDescription object, SafeHtmlBuilder sb) {
    //                sb.appendHtmlConstant(
    //                        "<div id=\"" + UIObject.DEBUG_ID_PREFIX + "window-preferences-extensions-row-" + context.getIndex() + "\">");
    //                super.render(context, object, sb);
    //            }
    //        };

    //        enabledColumn.setFieldUpdater(new FieldUpdater<ExtensionDescription, Boolean>() {
    //            @Override
    //            public void update(int index, ExtensionDescription object, Boolean value) {
    //                object.setEnabled(value);
    //                delegate.setDirty();
    //            }
    //        });
    //        enabledColumn.setCellStyleNames(style.enabledColumn());
    //
    //        dataGrid.addColumn(enabledColumn);
    //        dataGrid.setColumnWidth(enabledColumn, 75, com.google.gwt.dom.client.Style.Unit.PX);

    Column<ExtensionDescription, String> titleColumn = new Column<ExtensionDescription, String>(
            new TextCell()) {
        @Override
        public String getValue(ExtensionDescription object) {
            return object.getTitle();
        }
    };
    titleColumn.setCellStyleNames(style.titleColumn());

    dataGrid.addColumn(titleColumn);
    SingleSelectionModel<ExtensionDescription> selectionModel = new SingleSelectionModel<ExtensionDescription>();
    dataGrid.setSelectionModel(selectionModel);
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        @Override
        public void onSelectionChange(SelectionChangeEvent event) {

        }
    });

}

From source file:org.eclipse.che.ide.macro.chooser.MacroChooserViewImpl.java

License:Open Source License

private void initMacrosTable(org.eclipse.che.ide.Resources resources) {
    macrosTable = new CellTable<>(500, resources);

    final Column<Macro, String> nameColumn = new Column<Macro, String>(new TextCell()) {
        @Override//from   w w w  .j  av a  2s.  c  o  m
        public String getValue(Macro remote) {
            return remote.getName();
        }
    };

    final Column<Macro, String> descriptionColumn = new Column<Macro, String>(new TextCell()) {
        @Override
        public String getValue(Macro remote) {
            return remote.getDescription();
        }
    };

    macrosTable.addColumn(nameColumn, "Macro");
    macrosTable.setColumnWidth(nameColumn, "40%");
    macrosTable.addColumn(descriptionColumn, "Description");
    macrosTable.setColumnWidth(descriptionColumn, "60%");

    final SingleSelectionModel<Macro> selectionModel = new SingleSelectionModel<>();

    macrosTable.setSelectionModel(selectionModel);

    macrosTable.addDomHandler(event -> {
        if (selectionModel.getSelectedObject() != null) {
            delegate.onMacroChosen(selectionModel.getSelectedObject());
        }
    }, DoubleClickEvent.getType());

    macrosTable.addDomHandler(event -> {
        if (selectionModel.getSelectedObject() != null && (KeyCodes.KEY_ENTER == event.getNativeKeyCode()
                || KeyCodes.KEY_MAC_ENTER == event.getNativeKeyCode())) {

            delegate.onMacroChosen(selectionModel.getSelectedObject());
        }
    }, KeyUpEvent.getType());
}

From source file:org.eclipse.che.ide.preferences.pages.extensions.ExtensionManagerViewImpl.java

License:Open Source License

@Inject
public ExtensionManagerViewImpl(ToolbarPresenter toolbarPresenter, ActionManager actionManager,
        Resources resources) {//from  w w  w  . j a va  2s  . c  o  m
    dataGrid = new DataGrid<>(100, resources);
    rootElement = ourUiBinder.createAndBindUi(this);
    DefaultActionGroup actionGroup = new DefaultActionGroup("extensionManager", false, actionManager);
    actionManager.registerAction("extensionManagerGroup", actionGroup);
    toolbarPresenter.bindMainGroup(actionGroup);
    UIObject.ensureDebugId(descriptionArea, "window-preferences-extensions-descriptionArea");

    Column<ExtensionDescription, String> titleColumn = new Column<ExtensionDescription, String>(
            new TextCell()) {
        @Override
        public String getValue(ExtensionDescription object) {
            return object.getTitle();
        }
    };
    titleColumn.setCellStyleNames(style.titleColumn());

    dataGrid.addColumn(titleColumn);
    SingleSelectionModel<ExtensionDescription> selectionModel = new SingleSelectionModel<ExtensionDescription>();
    dataGrid.setSelectionModel(selectionModel);
    selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
        @Override
        public void onSelectionChange(SelectionChangeEvent event) {
        }
    });
}

From source file:org.eclipse.che.ide.processes.runtime.CellTableRuntimeInfoWidgetFactory.java

License:Open Source License

private Widget createCellTable(ListDataProvider<RuntimeInfo> dataProvider) {
    CellTable<RuntimeInfo> table = new CellTable<>(100, resources);
    table.ensureDebugId("runtimeInfoCellTable");

    TextColumn<RuntimeInfo> referenceColumn = new TextColumn<RuntimeInfo>() {
        @Override/*from   w  w  w.j  av  a  2s.c o  m*/
        public String getValue(RuntimeInfo record) {
            return valueOrDefault(record.getReference());
        }

        @Override
        public void render(Context context, RuntimeInfo object, SafeHtmlBuilder sb) {
            sb.appendHtmlConstant("<div id=\"" + UIObject.DEBUG_ID_PREFIX + "runtime-info-reference-"
                    + context.getIndex() + "\">");
            super.render(context, object, sb);
        }
    };

    TextColumn<RuntimeInfo> portColumn = new TextColumn<RuntimeInfo>() {
        @Override
        public String getValue(RuntimeInfo record) {
            return valueOrDefault(record.getPort());
        }

        @Override
        public void render(Context context, RuntimeInfo object, SafeHtmlBuilder sb) {
            sb.appendHtmlConstant("<div id=\"" + UIObject.DEBUG_ID_PREFIX + "runtime-info-port-"
                    + context.getIndex() + "\">");
            super.render(context, object, sb);
        }
    };

    TextColumn<RuntimeInfo> protocolColumn = new TextColumn<RuntimeInfo>() {
        @Override
        public String getValue(RuntimeInfo record) {
            return valueOrDefault(record.getProtocol());
        }

        @Override
        public void render(Context context, RuntimeInfo object, SafeHtmlBuilder sb) {
            sb.appendHtmlConstant("<div id=\"" + UIObject.DEBUG_ID_PREFIX + "runtime-info-protocol-"
                    + context.getIndex() + "\">");
            super.render(context, object, sb);
        }
    };

    Column<RuntimeInfo, SafeHtml> urlColumn = new Column<RuntimeInfo, SafeHtml>(
            new AbstractCell<SafeHtml>("click", "keydown") {

                @Override
                public void render(Context context, SafeHtml value, SafeHtmlBuilder sb) {
                    sb.appendHtmlConstant("<div id=\"" + UIObject.DEBUG_ID_PREFIX + "runtime-info-url-"
                            + context.getIndex() + "\">");

                    if (value != null) {
                        sb.append(value);
                    }
                }

                @Override
                protected void onEnterKeyDown(Context context, Element parent, SafeHtml value,
                        NativeEvent event, ValueUpdater<SafeHtml> valueUpdater) {
                    if (valueUpdater != null) {
                        valueUpdater.update(value);
                    }
                }

                @Override
                public void onBrowserEvent(Context context, Element parent, SafeHtml value, NativeEvent event,
                        ValueUpdater<SafeHtml> valueUpdater) {
                    super.onBrowserEvent(context, parent, value, event, valueUpdater);
                    if ("click".equals(event.getType())) {
                        onEnterKeyDown(context, parent, value, event, valueUpdater);
                    }
                }
            }) {
        @Override
        public SafeHtml getValue(RuntimeInfo record) {
            String value = valueOrDefault(record.getUrl());

            SafeHtmlBuilder sb = new SafeHtmlBuilder();
            sb.appendHtmlConstant("<a target=\"_blank\" href=\"" + value + "\">");
            sb.appendEscaped(value);
            sb.appendHtmlConstant("</a>");
            return sb.toSafeHtml();
        }
    };

    table.addColumn(referenceColumn, locale.cellTableReferenceColumn());
    table.addColumn(portColumn, locale.cellTablePortColumn());
    table.addColumn(protocolColumn, locale.cellTableProtocolColumn());
    table.addColumn(urlColumn, locale.cellTableUrlColumn());

    table.setColumnWidth(referenceColumn, 15., Unit.PCT);
    table.setColumnWidth(portColumn, 7., Unit.PCT);
    table.setColumnWidth(protocolColumn, 7., Unit.PCT);
    table.setColumnWidth(urlColumn, 71., Unit.PCT);

    dataProvider.addDataDisplay(table);

    return table;
}