List of usage examples for com.google.gwt.user.cellview.client Column Column
public Column(Cell<C> cell)
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; }