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

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

Introduction

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

Prototype

public CellTable(final int pageSize, Resources resources, ProvidesKey<T> keyProvider) 

Source Link

Document

Constructs a table with the given page size, the specified Resources , and the given key provider.

Usage

From source file:com.google.gwt.sample.expenses.client.ExpenseDetails.java

License:Apache License

private CellTable<ExpenseProxy> initTable() {
    CellTable.Resources resources = GWT.create(TableResources.class);
    table = new CellTable<ExpenseProxy>(100, resources, Expenses.EXPENSE_RECORD_KEY_PROVIDER);
    Styles.Common common = Styles.common();

    table.addColumnStyleName(0, common.spacerColumn());
    table.addColumnStyleName(1, common.expenseDetailsDateColumn());
    table.addColumnStyleName(3, common.expenseDetailsCategoryColumn());
    table.addColumnStyleName(4, common.expenseDetailsAmountColumn());
    table.addColumnStyleName(5, common.expenseDetailsApprovalColumn());
    table.addColumnStyleName(6, common.spacerColumn());

    // Spacer column.
    table.addColumn(new SpacerColumn<ExpenseProxy>());

    // Created column.
    GetValue<ExpenseProxy, Date> createdGetter = new GetValue<ExpenseProxy, Date>() {
        public Date getValue(ExpenseProxy object) {
            return object.getCreated();
        }/*from   w ww. j av  a 2s  .c  o  m*/
    };
    defaultComparator = createColumnComparator(createdGetter, false);
    Comparator<ExpenseProxy> createdDesc = createColumnComparator(createdGetter, true);
    addColumn(table, "Created", new DateCell(DateTimeFormat.getFormat("MMM dd yyyy")), createdGetter,
            defaultComparator, createdDesc);
    lastComparator = defaultComparator;

    // Description column.
    addColumn(table, "Description", new TextCell(), new GetValue<ExpenseProxy, String>() {
        public String getValue(ExpenseProxy object) {
            return object.getDescription();
        }
    });

    // Category column.
    addColumn(table, "Category", new TextCell(), new GetValue<ExpenseProxy, String>() {
        public String getValue(ExpenseProxy object) {
            return object.getCategory();
        }
    });

    // Amount column.
    final GetValue<ExpenseProxy, Double> amountGetter = new GetValue<ExpenseProxy, Double>() {
        public Double getValue(ExpenseProxy object) {
            return object.getAmount();
        }
    };
    Comparator<ExpenseProxy> amountAsc = createColumnComparator(amountGetter, false);
    Comparator<ExpenseProxy> amountDesc = createColumnComparator(amountGetter, true);
    addColumn(table, "Amount", new NumberCell(NumberFormat.getCurrencyFormat()),
            new GetValue<ExpenseProxy, Number>() {
                public Number getValue(ExpenseProxy object) {
                    return amountGetter.getValue(object);
                }
            }, amountAsc, amountDesc);

    // Dialog box to obtain a reason for a denial
    denialPopup.addCloseHandler(new CloseHandler<PopupPanel>() {
        public void onClose(CloseEvent<PopupPanel> event) {
            String reasonDenied = denialPopup.getReasonDenied();
            ExpenseProxy record = denialPopup.getExpenseRecord();
            if (reasonDenied == null || reasonDenied.length() == 0) {
                // Clear the view data.
                final Object key = items.getKey(record);
                approvalCell.clearViewData(key);

                // We need to redraw the table to reset the select box.
                syncCommit(record, null);
            } else {
                updateExpenseRecord(record, "Denied", reasonDenied);
            }

            // Return focus to the table.
            table.setFocus(true);
        }
    });

    // Approval column.
    approvalCell = new ApprovalCell();
    Column<ExpenseProxy, String> approvalColumn = addColumn(table, "Approval Status", approvalCell,
            new GetValue<ExpenseProxy, String>() {
                public String getValue(ExpenseProxy object) {
                    return object.getApproval();
                }
            });
    approvalColumn.setFieldUpdater(new FieldUpdater<ExpenseProxy, String>() {
        public void update(int index, final ExpenseProxy object, String value) {
            if ("Denied".equals(value)) {
                denialPopup.setExpenseRecord(object);
                denialPopup.setReasonDenied(object.getReasonDenied());
                denialPopup.popup();
            } else {
                updateExpenseRecord(object, value, "");
            }
        }
    });

    // Spacer column.
    table.addColumn(new SpacerColumn<ExpenseProxy>());

    return table;
}

From source file:com.google.gwt.sample.expenses.client.ExpenseReportDetails.java

License:Apache License

private CellTable<ExpenseProxy> initTable() {
    CellTable.Resources resources = GWT.create(TableResources.class);
    table = new CellTable<ExpenseProxy>(100, resources, new EntityProxyKeyProvider<ExpenseProxy>());
    Styles.Common common = Styles.common();

    table.addColumnStyleName(0, common.spacerColumn());
    table.addColumnStyleName(1, common.expenseDetailsDateColumn());
    table.addColumnStyleName(3, common.expenseDetailsCategoryColumn());
    table.addColumnStyleName(4, common.expenseDetailsAmountColumn());
    table.addColumnStyleName(5, common.expenseDetailsApprovalColumn());
    table.addColumnStyleName(6, common.spacerColumn());

    // Spacer column.
    table.addColumn(new SpacerColumn<ExpenseProxy>());

    // Created column.
    GetValue<ExpenseProxy, Date> createdGetter = new GetValue<ExpenseProxy, Date>() {
        public Date getValue(ExpenseProxy object) {
            return object.getCreated();
        }/*from  w  ww.j  av a2 s .  c o m*/
    };
    defaultComparator = createColumnComparator(createdGetter, false);
    Comparator<ExpenseProxy> createdDesc = createColumnComparator(createdGetter, true);
    addColumn(table, "Created", new DateCell(DateTimeFormat.getFormat("MMM dd yyyy")), createdGetter,
            defaultComparator, createdDesc);
    lastComparator = defaultComparator;

    // Description column.
    addColumn(table, "Description", new TextCell(), new GetValue<ExpenseProxy, String>() {
        public String getValue(ExpenseProxy object) {
            return object.getDescription();
        }
    });

    // Category column.
    addColumn(table, "Category", new TextCell(), new GetValue<ExpenseProxy, String>() {
        public String getValue(ExpenseProxy object) {
            return object.getCategory();
        }
    });

    // Amount column.
    final GetValue<ExpenseProxy, Double> amountGetter = new GetValue<ExpenseProxy, Double>() {
        public Double getValue(ExpenseProxy object) {
            return object.getAmount();
        }
    };
    Comparator<ExpenseProxy> amountAsc = createColumnComparator(amountGetter, false);
    Comparator<ExpenseProxy> amountDesc = createColumnComparator(amountGetter, true);
    addColumn(table, "Amount", new NumberCell(NumberFormat.getCurrencyFormat()),
            new GetValue<ExpenseProxy, Number>() {
                public Number getValue(ExpenseProxy object) {
                    return amountGetter.getValue(object);
                }
            }, amountAsc, amountDesc);

    // Dialog box to obtain a reason for a denial
    denialPopup.addCloseHandler(new CloseHandler<PopupPanel>() {
        public void onClose(CloseEvent<PopupPanel> event) {
            String reasonDenied = denialPopup.getReasonDenied();
            ExpenseProxy record = denialPopup.getExpenseRecord();
            if (reasonDenied == null || reasonDenied.length() == 0) {
                // Clear the view data.
                final Object key = items.getKey(record);
                approvalCell.clearViewData(key);

                // We need to redraw the table to reset the select box.
                syncCommit(record, null);
            } else {
                updateExpenseRecord(record, "Denied", reasonDenied);
            }

            // Return focus to the table.
            table.setFocus(true);
        }
    });

    // Approval column.
    approvalCell = new ApprovalCell();
    Column<ExpenseProxy, String> approvalColumn = addColumn(table, "Approval Status", approvalCell,
            new GetValue<ExpenseProxy, String>() {
                public String getValue(ExpenseProxy object) {
                    return object.getApproval();
                }
            });
    approvalColumn.setFieldUpdater(new FieldUpdater<ExpenseProxy, String>() {
        public void update(int index, final ExpenseProxy object, String value) {
            if ("Denied".equals(value)) {
                denialPopup.setExpenseRecord(object);
                denialPopup.setReasonDenied(object.getReasonDenied());
                denialPopup.popup();
            } else {
                updateExpenseRecord(object, value, "");
            }
        }
    });

    // Spacer column.
    table.addColumn(new SpacerColumn<ExpenseProxy>());

    return table;
}

From source file:org.rstudio.studio.client.workbench.ui.unsaved.UnsavedChangesDialog.java

License:Open Source License

@Override
protected Widget createMainWidget() {
    // create cell table
    targetsCellTable_ = new CellTable<UnsavedChangesTarget>(15, UnsavedChangesCellTableResources.INSTANCE,
            KEY_PROVIDER);//from w  w  w  . ja v a2s  .c om
    selectionModel_ = new MultiSelectionModel<UnsavedChangesTarget>(KEY_PROVIDER);
    targetsCellTable_.setSelectionModel(selectionModel_,
            DefaultSelectionEventManager.<UnsavedChangesTarget>createCheckboxManager());
    targetsCellTable_.setWidth("100%", true);

    // add columns
    addSelectionColumn();
    addIconColumn();
    addNameAndPathColumn();

    // hook-up data provider 
    dataProvider_ = new ListDataProvider<UnsavedChangesTarget>();
    dataProvider_.setList(targets_);
    dataProvider_.addDataDisplay(targetsCellTable_);
    targetsCellTable_.setPageSize(targets_.size());

    // select all by default
    for (UnsavedChangesTarget editingTarget : dataProvider_.getList())
        selectionModel_.setSelected(editingTarget, true);

    // enclose cell table in scroll panel
    ScrollPanel scrollPanel = new ScrollPanel();
    scrollPanel.setStylePrimaryName(RESOURCES.styles().targetScrollPanel());
    scrollPanel.setWidget(targetsCellTable_);
    if (dataProvider_.getList().size() > 4)
        scrollPanel.setHeight("280px");

    // always save check box (may not be shown)
    chkAlwaysSave_ = new CheckBox(alwaysSaveOption_);

    // main widget
    VerticalPanel panel = new VerticalPanel();
    Label captionLabel = new Label("The following files have unsaved changes:");
    captionLabel.setStylePrimaryName(RESOURCES.styles().captionLabel());
    panel.add(captionLabel);
    panel.add(scrollPanel);
    if (!StringUtil.isNullOrEmpty(alwaysSaveOption_)) {
        panel.add(chkAlwaysSave_);
        panel.setCellHeight(chkAlwaysSave_, "30px");
        panel.setCellVerticalAlignment(chkAlwaysSave_, HasVerticalAlignment.ALIGN_MIDDLE);

    }

    return panel;
}

From source file:org.rstudio.studio.client.workbench.views.files.ui.FilesList.java

License:Open Source License

public FilesList(final Files.Display.Observer observer, final FileTypeRegistry fileTypeRegistry) {
    observer_ = observer;//www.  j  a v a 2s. c o m

    // create data provider and sort handler
    dataProvider_ = new ListDataProvider<FileSystemItem>();
    sortHandler_ = new ColumnSortEvent.ListHandler<FileSystemItem>(dataProvider_.getList());

    // create cell table
    filesCellTable_ = new CellTable<FileSystemItem>(15, FilesListCellTableResources.INSTANCE, KEY_PROVIDER);
    selectionModel_ = new MultiSelectionModel<FileSystemItem>(KEY_PROVIDER);
    filesCellTable_.setSelectionModel(selectionModel_,
            DefaultSelectionEventManager.<FileSystemItem>createCheckboxManager());
    filesCellTable_.setWidth("100%", false);

    // hook-up data provider 
    dataProvider_.addDataDisplay(filesCellTable_);

    // add columns
    addSelectionColumn();
    addIconColumn(fileTypeRegistry);
    nameColumn_ = addNameColumn();
    sizeColumn_ = addSizeColumn();
    modifiedColumn_ = addModifiedColumn();

    // initialize sorting
    addColumnSortHandler();

    // enclose in scroll panel
    scrollPanel_ = new ScrollPanel();
    initWidget(scrollPanel_);
    scrollPanel_.setWidget(filesCellTable_);
}