Source:
protected void onInitUI() { super.onInitUI(); setPageTitle(Util.C.projectListTitle()); projects = new ProjectsTable() { @Override protected void initColumnHeaders() { super.initColumnHeaders(); if (Gerrit.getGitwebLink() != null) { table.setText(0, 3, Util.C.projectRepoBrowser()); table.getFlexCellFormatter(). addStyleName(0, 3, Gerrit.RESOURCES.css().dataHeader()); } } @Override protected void onOpenRow(final int row) { History.newItem(link(getRowItem(row))); } private String link(final ProjectInfo item) { return Dispatcher.toProjectAdmin(item.name_key(), ProjectScreen.INFO); } @Override protected void insert(int row, ProjectInfo k) { super.insert(row, k); if (Gerrit.getGitwebLink() != null) { table.getFlexCellFormatter(). addStyleName(row, 3, Gerrit.RESOURCES.css().dataCell()); } } @Override protected void populate(final int row, final ProjectInfo k) { FlowPanel fp = new FlowPanel(); fp.add(createSearchLink(k.name())); fp.add(new InlineHyperlink(k.name(), link(k))); table.setWidget(row, 1, fp); table.setText(row, 2, k.description()); GitwebLink l = Gerrit.getGitwebLink(); if (l != null) { table.setWidget(row, 3, new Anchor(l.getLinkName(), false, l.toProject(k .name_key()))); } setRowItem(row, k); } private Widget createSearchLink(String projectName) { Image image = new Image(Gerrit.RESOURCES.queryProjectLink()); InlineHyperlink h = new InlineHyperlink(" ", PageLinks.toChangeQuery("project:" + projectName)); h.setTitle("Search for changes"); DOM.insertBefore(h.getElement(), image.getElement(), DOM.getFirstChild(h.getElement())); return h; } }; projects.setSavePointerId(PageLinks.ADMIN_PROJECTS); add(projects); }

Target:
protected void onInitUI() { super.onInitUI(); setPageTitle(Util.C.projectListTitle()); projects = new ProjectsTable() { @Override protected void initColumnHeaders() { super.initColumnHeaders(); if (Gerrit.getGitwebLink() != null) { table.setText(0, 3, Util.C.projectRepoBrowser()); table.getFlexCellFormatter(). addStyleName(0, 3, Gerrit.RESOURCES.css().dataHeader()); } } @Override protected void onOpenRow(final int row) { History.newItem(link(getRowItem(row))); } private String link(final ProjectInfo item) { return Dispatcher.toProjectAdmin(item.name_key(), ProjectScreen.INFO); } @Override protected void insert(int row, ProjectInfo k) { super.insert(row, k); if (Gerrit.getGitwebLink() != null) { table.getFlexCellFormatter(). addStyleName(row, 3, Gerrit.RESOURCES.css().dataCell()); } } @Override protected void populate(final int row, final ProjectInfo k) { FlowPanel fp = new FlowPanel(); fp.add(createSearchLink(k.name())); fp.add(new InlineHyperlink(k.name(), link(k))); table.setWidget(row, 1, fp); table.setText(row, 2, k.description()); GitwebLink l = Gerrit.getGitwebLink(); if (l != null) { table.setWidget(row, 3, new Anchor(l.getLinkName(), false, l.toProject(k .name_key()))); } setRowItem(row, k); } private Widget createSearchLink(String projectName) { Image image = new Image(Gerrit.RESOURCES.queryProjectLink()); InlineHyperlink h = new InlineHyperlink(" ", PageLinks.toChangeQuery("project:" + projectName)); h.setTitle(Util.C.projectListQueryLink()); DOM.insertBefore(h.getElement(), image.getElement(), DOM.getFirstChild(h.getElement())); return h; } }; projects.setSavePointerId(PageLinks.ADMIN_PROJECTS); add(projects); }