List of usage examples for com.google.gwt.user.cellview.client AbstractCellTable addColumn
public void addColumn(Column<T, ?> col)
From source file:org.uberfire.ext.plugin.client.editor.DynamicMenuEditorView.java
License:Apache License
private void initTable(final AbstractCellTable<DynamicMenuItem> dynamicMenuTable) { dynamicMenuTable.setEmptyTableWidget(new Label(CommonConstants.INSTANCE.MenusNoMenuItems())); //We need to inform the SelectionModel that the ButtonCell (i.e. Delete) column is excluded from selecting a row final DefaultSelectionEventManager<DynamicMenuItem> manager = DefaultSelectionEventManager .createBlacklistManager(4);// w w w. j ava2 s .c om dynamicMenuTable.setSelectionModel(selectionModel, manager); //Furthermore we cannot have a KeyboardSelectionPolicy with a ButtonCell and a SelectionModel dynamicMenuTable.setKeyboardSelectionPolicy(HasKeyboardSelectionPolicy.KeyboardSelectionPolicy.DISABLED); { final IconCell iCell = new IconCell(IconType.ARROW_UP); iCell.setTooltip(CommonConstants.INSTANCE.MenusMoveUpHint()); final Column<DynamicMenuItem, String> iconColumn = new Column<DynamicMenuItem, String>(iCell) { public String getValue(DynamicMenuItem object) { return ""; } }; iconColumn.setFieldUpdater(new FieldUpdater<DynamicMenuItem, String>() { @Override public void update(final int index, final DynamicMenuItem object, final String value) { presenter.updateIndex(object, index, DynamicMenuEditorPresenter.UpdateIndexOperation.UP); } }); dynamicMenuTable.addColumn(iconColumn); dynamicMenuTable.setColumnWidth(iconColumn, "25px"); } { final IconCell iCell = new IconCell(IconType.ARROW_DOWN); iCell.setTooltip(CommonConstants.INSTANCE.MenusMoveDownHint()); final Column<DynamicMenuItem, String> iconColumn = new Column<DynamicMenuItem, String>(iCell) { public String getValue(DynamicMenuItem object) { return ""; } }; iconColumn.setFieldUpdater(new FieldUpdater<DynamicMenuItem, String>() { @Override public void update(final int index, final DynamicMenuItem object, final String value) { presenter.updateIndex(object, index, DynamicMenuEditorPresenter.UpdateIndexOperation.DOWN); } }); dynamicMenuTable.addColumn(iconColumn); dynamicMenuTable.setColumnWidth(iconColumn, "25px"); } { final TextColumn<DynamicMenuItem> activityCol = new TextColumn<DynamicMenuItem>() { @Override public String getValue(DynamicMenuItem object) { return String.valueOf(object.getActivityId()); } }; dynamicMenuTable.addColumn(activityCol, CommonConstants.INSTANCE.MenusActivityID()); } { final TextColumn<DynamicMenuItem> labelCol = new TextColumn<DynamicMenuItem>() { @Override public String getValue(DynamicMenuItem object) { return object.getMenuLabel(); } }; dynamicMenuTable.addColumn(labelCol, CommonConstants.INSTANCE.MenusLabel()); } { final ButtonCell buttonCell = new ButtonCell(IconType.REMOVE, ButtonType.DANGER, ButtonSize.EXTRA_SMALL); final Column<DynamicMenuItem, String> buttonCol = new Column<DynamicMenuItem, String>(buttonCell) { @Override public String getValue(DynamicMenuItem object) { return CommonConstants.INSTANCE.MenusDelete(); } }; buttonCol.setFieldUpdater(new FieldUpdater<DynamicMenuItem, String>() { @Override public void update(final int index, final DynamicMenuItem object, final String value) { if (selectionModel.isSelected(object)) { selectionModel.clear(); } presenter.removeObject(object); } }); dynamicMenuTable.addColumn(buttonCol); dynamicMenuTable.setColumnWidth(buttonCol, "80px"); } selectionModel.addSelectionChangeHandler(new Handler() { @Override public void onSelectionChange(SelectionChangeEvent event) { //ListDataProvider raises this event with a null item when a item is removed if (selectionModel.getSelectedObject() == null) { editedItem = null; setMenuItem(new DynamicMenuItem()); } else { editedItem = selectionModel.getSelectedObject(); setMenuItem(new DynamicMenuItem(selectionModel.getSelectedObject().getActivityId(), selectionModel.getSelectedObject().getMenuLabel())); } } }); presenter.setDataDisplay(dynamicMenuTable); }