Example usage for com.google.gwt.cell.client SelectionCell SelectionCell

List of usage examples for com.google.gwt.cell.client SelectionCell SelectionCell

Introduction

In this page you can find the example usage for com.google.gwt.cell.client SelectionCell SelectionCell.

Prototype

public SelectionCell(List<String> options) 

Source Link

Document

Construct a new SelectionCell with the specified options.

Usage

From source file:com.google.gwt.sample.showcase.client.content.cell.CwCellSampler.java

License:Apache License

/**
 * Initialize this example.//from   w  w  w. j a  v a2  s  .  com
 */
@ShowcaseSource
@Override
public Widget onInitialize() {
    Images images = GWT.create(Images.class);

    // Create the table.
    editableCells = new ArrayList<AbstractEditableCell<?, ?>>();
    contactList = new DataGrid<ContactInfo>(25, ContactInfo.KEY_PROVIDER);
    contactList.setMinimumTableWidth(140, Unit.EM);
    ContactDatabase.get().addDataDisplay(contactList);

    // CheckboxCell.
    final Category[] categories = ContactDatabase.get().queryCategories();
    addColumn(new CheckboxCell(), "Checkbox", new GetValue<Boolean>() {
        @Override
        public Boolean getValue(ContactInfo contact) {
            // Checkbox indicates that the contact is a relative.
            // Index 0 = Family.
            return contact.getCategory() == categories[0];
        }
    }, new FieldUpdater<ContactInfo, Boolean>() {
        @Override
        public void update(int index, ContactInfo object, Boolean value) {
            if (value) {
                // If a relative, use the Family Category.
                pendingChanges.add(new CategoryChange(object, categories[0]));
            } else {
                // If not a relative, use the Contacts Category.
                pendingChanges.add(new CategoryChange(object, categories[categories.length - 1]));
            }
        }
    });

    // TextCell.
    addColumn(new TextCell(), "Text", new GetValue<String>() {
        @Override
        public String getValue(ContactInfo contact) {
            return contact.getFullName();
        }
    }, null);

    // EditTextCell.
    Column<ContactInfo, String> editTextColumn = addColumn(new EditTextCell(), "EditText",
            new GetValue<String>() {
                @Override
                public String getValue(ContactInfo contact) {
                    return contact.getFirstName();
                }
            }, new FieldUpdater<ContactInfo, String>() {
                @Override
                public void update(int index, ContactInfo object, String value) {
                    pendingChanges.add(new FirstNameChange(object, value));
                }
            });
    contactList.setColumnWidth(editTextColumn, 16.0, Unit.EM);

    // TextInputCell.
    Column<ContactInfo, String> textInputColumn = addColumn(new TextInputCell(), "TextInput",
            new GetValue<String>() {
                @Override
                public String getValue(ContactInfo contact) {
                    return contact.getLastName();
                }
            }, new FieldUpdater<ContactInfo, String>() {
                @Override
                public void update(int index, ContactInfo object, String value) {
                    pendingChanges.add(new LastNameChange(object, value));
                }
            });
    contactList.setColumnWidth(textInputColumn, 16.0, Unit.EM);

    // ClickableTextCell.
    addColumn(new ClickableTextCell(), "ClickableText", new GetValue<String>() {
        @Override
        public String getValue(ContactInfo contact) {
            return "Click " + contact.getFirstName();
        }
    }, new FieldUpdater<ContactInfo, String>() {
        @Override
        public void update(int index, ContactInfo object, String value) {
            Window.alert("You clicked " + object.getFullName());
        }
    });

    // ActionCell.
    addColumn(new ActionCell<ContactInfo>("Click Me", new ActionCell.Delegate<ContactInfo>() {
        @Override
        public void execute(ContactInfo contact) {
            Window.alert("You clicked " + contact.getFullName());
        }
    }), "Action", new GetValue<ContactInfo>() {
        @Override
        public ContactInfo getValue(ContactInfo contact) {
            return contact;
        }
    }, null);

    // ButtonCell.
    addColumn(new ButtonCell(), "Button", new GetValue<String>() {
        @Override
        public String getValue(ContactInfo contact) {
            return "Click " + contact.getFirstName();
        }
    }, new FieldUpdater<ContactInfo, String>() {
        @Override
        public void update(int index, ContactInfo object, String value) {
            Window.alert("You clicked " + object.getFullName());
        }
    });

    // DateCell.
    DateTimeFormat dateFormat = DateTimeFormat.getFormat(PredefinedFormat.DATE_MEDIUM);
    addColumn(new DateCell(dateFormat), "Date", new GetValue<Date>() {
        @Override
        public Date getValue(ContactInfo contact) {
            return contact.getBirthday();
        }
    }, null);

    // DatePickerCell.
    addColumn(new DatePickerCell(dateFormat), "DatePicker", new GetValue<Date>() {
        @Override
        public Date getValue(ContactInfo contact) {
            return contact.getBirthday();
        }
    }, new FieldUpdater<ContactInfo, Date>() {
        @Override
        public void update(int index, ContactInfo object, Date value) {
            pendingChanges.add(new BirthdayChange(object, value));
        }
    });

    // NumberCell.
    Column<ContactInfo, Number> numberColumn = addColumn(new NumberCell(), "Number", new GetValue<Number>() {
        @Override
        public Number getValue(ContactInfo contact) {
            return contact.getAge();
        }
    }, null);
    numberColumn.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_LOCALE_END);

    // IconCellDecorator.
    addColumn(new IconCellDecorator<String>(images.contactsGroup(), new TextCell()), "Icon",
            new GetValue<String>() {
                @Override
                public String getValue(ContactInfo contact) {
                    return contact.getCategory().getDisplayName();
                }
            }, null);

    // ImageCell.
    addColumn(new ImageCell(), "Image", new GetValue<String>() {
        @Override
        public String getValue(ContactInfo contact) {
            return "contact.jpg";
        }
    }, null);

    // SelectionCell.
    List<String> options = new ArrayList<String>();
    for (Category category : categories) {
        options.add(category.getDisplayName());
    }
    addColumn(new SelectionCell(options), "Selection", new GetValue<String>() {
        @Override
        public String getValue(ContactInfo contact) {
            return contact.getCategory().getDisplayName();
        }
    }, new FieldUpdater<ContactInfo, String>() {
        @Override
        public void update(int index, ContactInfo object, String value) {
            for (Category category : categories) {
                if (category.getDisplayName().equals(value)) {
                    pendingChanges.add(new CategoryChange(object, category));
                    break;
                }
            }
        }
    });

    // Create the UiBinder.
    Binder uiBinder = GWT.create(Binder.class);
    Widget widget = uiBinder.createAndBindUi(this);

    // Add handlers to redraw or refresh the table.
    redrawButton.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            contactList.redraw();
        }
    });
    commitButton.addClickHandler(new ClickHandler() {
        @Override
        public void onClick(ClickEvent event) {
            // Commit the changes.
            for (PendingChange<?> pendingChange : pendingChanges) {
                pendingChange.commit();
            }
            pendingChanges.clear();

            // Push the changes to the views.
            ContactDatabase.get().refreshDisplays();
        }
    });

    return widget;
}

From source file:com.google.gwt.sample.showcase.client.content.cell.CwCellTable.java

License:Apache License

/**
 * Add the columns to the table.//from w  w w.  j  a  va  2s  .  c  o m
 */
@ShowcaseSource
private void initTableColumns(final SelectionModel<ContactInfo> selectionModel,
        ListHandler<ContactInfo> sortHandler) {
    // Checkbox column. This table will uses a checkbox column for selection.
    // Alternatively, you can call cellTable.setSelectionEnabled(true) to enable
    // mouse selection.
    Column<ContactInfo, Boolean> checkColumn = new Column<ContactInfo, Boolean>(new CheckboxCell(true, false)) {
        @Override
        public Boolean getValue(ContactInfo object) {
            // Get the value from the selection model.
            return selectionModel.isSelected(object);
        }
    };
    cellTable.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));
    cellTable.setColumnWidth(checkColumn, 40, Unit.PX);

    // First name.
    Column<ContactInfo, String> firstNameColumn = new Column<ContactInfo, String>(new EditTextCell()) {
        @Override
        public String getValue(ContactInfo object) {
            return object.getFirstName();
        }
    };
    firstNameColumn.setSortable(true);
    sortHandler.setComparator(firstNameColumn, new Comparator<ContactInfo>() {
        public int compare(ContactInfo o1, ContactInfo o2) {
            return o1.getFirstName().compareTo(o2.getFirstName());
        }
    });
    cellTable.addColumn(firstNameColumn, constants.cwCellTableColumnFirstName());
    firstNameColumn.setFieldUpdater(new FieldUpdater<ContactInfo, String>() {
        public void update(int index, ContactInfo object, String value) {
            // Called when the user changes the value.
            object.setFirstName(value);
            ContactDatabase.get().refreshDisplays();
        }
    });
    cellTable.setColumnWidth(firstNameColumn, 20, Unit.PCT);

    // Last name.
    Column<ContactInfo, String> lastNameColumn = new Column<ContactInfo, String>(new EditTextCell()) {
        @Override
        public String getValue(ContactInfo object) {
            return object.getLastName();
        }
    };
    lastNameColumn.setSortable(true);
    sortHandler.setComparator(lastNameColumn, new Comparator<ContactInfo>() {
        public int compare(ContactInfo o1, ContactInfo o2) {
            return o1.getLastName().compareTo(o2.getLastName());
        }
    });
    cellTable.addColumn(lastNameColumn, constants.cwCellTableColumnLastName());
    lastNameColumn.setFieldUpdater(new FieldUpdater<ContactInfo, String>() {
        public void update(int index, ContactInfo object, String value) {
            // Called when the user changes the value.
            object.setLastName(value);
            ContactDatabase.get().refreshDisplays();
        }
    });
    cellTable.setColumnWidth(lastNameColumn, 20, Unit.PCT);

    // Category.
    final Category[] categories = ContactDatabase.get().queryCategories();
    List<String> categoryNames = new ArrayList<String>();
    for (Category category : categories) {
        categoryNames.add(category.getDisplayName());
    }
    SelectionCell categoryCell = new SelectionCell(categoryNames);
    Column<ContactInfo, String> categoryColumn = new Column<ContactInfo, String>(categoryCell) {
        @Override
        public String getValue(ContactInfo object) {
            return object.getCategory().getDisplayName();
        }
    };
    cellTable.addColumn(categoryColumn, constants.cwCellTableColumnCategory());
    categoryColumn.setFieldUpdater(new FieldUpdater<ContactInfo, String>() {
        public void update(int index, ContactInfo object, String value) {
            for (Category category : categories) {
                if (category.getDisplayName().equals(value)) {
                    object.setCategory(category);
                }
            }
            ContactDatabase.get().refreshDisplays();
        }
    });
    cellTable.setColumnWidth(categoryColumn, 130, Unit.PX);

    // Address.
    Column<ContactInfo, String> addressColumn = new Column<ContactInfo, String>(new TextCell()) {
        @Override
        public String getValue(ContactInfo object) {
            return object.getAddress();
        }
    };
    addressColumn.setSortable(true);
    addressColumn.setDefaultSortAscending(false);
    sortHandler.setComparator(addressColumn, new Comparator<ContactInfo>() {
        public int compare(ContactInfo o1, ContactInfo o2) {
            return o1.getAddress().compareTo(o2.getAddress());
        }
    });
    cellTable.addColumn(addressColumn, constants.cwCellTableColumnAddress());
    cellTable.setColumnWidth(addressColumn, 60, Unit.PCT);
}

From source file:com.google.gwt.sample.showcase.client.content.cell.CwDataGrid.java

License:Apache License

/**
 * Add the columns to the table./*from  w  w w  .jav a 2s  . c  o m*/
 */
@ShowcaseSource
private void initTableColumns(final SelectionModel<ContactInfo> selectionModel,
        ListHandler<ContactInfo> sortHandler) {
    // Checkbox column. This table will uses a checkbox column for selection.
    // Alternatively, you can call dataGrid.setSelectionEnabled(true) to enable
    // mouse selection.
    Column<ContactInfo, Boolean> checkColumn = new Column<ContactInfo, Boolean>(new CheckboxCell(true, false)) {
        @Override
        public Boolean getValue(ContactInfo object) {
            // Get the value from the selection model.
            return selectionModel.isSelected(object);
        }
    };
    dataGrid.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));
    dataGrid.setColumnWidth(checkColumn, 40, Unit.PX);

    // First name.
    Column<ContactInfo, String> firstNameColumn = new Column<ContactInfo, String>(new EditTextCell()) {
        @Override
        public String getValue(ContactInfo object) {
            return object.getFirstName();
        }
    };
    firstNameColumn.setSortable(true);
    sortHandler.setComparator(firstNameColumn, new Comparator<ContactInfo>() {
        public int compare(ContactInfo o1, ContactInfo o2) {
            return o1.getFirstName().compareTo(o2.getFirstName());
        }
    });
    dataGrid.addColumn(firstNameColumn, constants.cwDataGridColumnFirstName());
    firstNameColumn.setFieldUpdater(new FieldUpdater<ContactInfo, String>() {
        public void update(int index, ContactInfo object, String value) {
            // Called when the user changes the value.
            object.setFirstName(value);
            ContactDatabase.get().refreshDisplays();
        }
    });
    dataGrid.setColumnWidth(firstNameColumn, 20, Unit.PCT);

    // Last name.
    Column<ContactInfo, String> lastNameColumn = new Column<ContactInfo, String>(new EditTextCell()) {
        @Override
        public String getValue(ContactInfo object) {
            return object.getLastName();
        }
    };
    lastNameColumn.setSortable(true);
    sortHandler.setComparator(lastNameColumn, new Comparator<ContactInfo>() {
        public int compare(ContactInfo o1, ContactInfo o2) {
            return o1.getLastName().compareTo(o2.getLastName());
        }
    });
    dataGrid.addColumn(lastNameColumn, constants.cwDataGridColumnLastName());
    lastNameColumn.setFieldUpdater(new FieldUpdater<ContactInfo, String>() {
        public void update(int index, ContactInfo object, String value) {
            // Called when the user changes the value.
            object.setLastName(value);
            ContactDatabase.get().refreshDisplays();
        }
    });
    dataGrid.setColumnWidth(lastNameColumn, 20, Unit.PCT);

    // Age.
    Column<ContactInfo, Number> ageColumn = new Column<ContactInfo, Number>(new NumberCell()) {
        @Override
        public Number getValue(ContactInfo object) {
            return object.getAge();
        }
    };
    lastNameColumn.setSortable(true);
    sortHandler.setComparator(ageColumn, new Comparator<ContactInfo>() {
        public int compare(ContactInfo o1, ContactInfo o2) {
            return o1.getBirthday().compareTo(o2.getBirthday());
        }
    });
    Header<String> ageFooter = new Header<String>(new TextCell()) {
        @Override
        public String getValue() {
            List<ContactInfo> items = dataGrid.getVisibleItems();
            if (items.size() == 0) {
                return "";
            } else {
                int totalAge = 0;
                for (ContactInfo item : items) {
                    totalAge += item.getAge();
                }
                return "Avg: " + totalAge / items.size();
            }
        }
    };
    dataGrid.addColumn(ageColumn,
            new SafeHtmlHeader(SafeHtmlUtils.fromSafeConstant(constants.cwDataGridColumnAge())), ageFooter);
    dataGrid.setColumnWidth(ageColumn, 7, Unit.EM);

    // Category.
    final Category[] categories = ContactDatabase.get().queryCategories();
    List<String> categoryNames = new ArrayList<String>();
    for (Category category : categories) {
        categoryNames.add(category.getDisplayName());
    }
    SelectionCell categoryCell = new SelectionCell(categoryNames);
    Column<ContactInfo, String> categoryColumn = new Column<ContactInfo, String>(categoryCell) {
        @Override
        public String getValue(ContactInfo object) {
            return object.getCategory().getDisplayName();
        }
    };
    dataGrid.addColumn(categoryColumn, constants.cwDataGridColumnCategory());
    categoryColumn.setFieldUpdater(new FieldUpdater<ContactInfo, String>() {
        public void update(int index, ContactInfo object, String value) {
            for (Category category : categories) {
                if (category.getDisplayName().equals(value)) {
                    object.setCategory(category);
                }
            }
            ContactDatabase.get().refreshDisplays();
        }
    });
    dataGrid.setColumnWidth(categoryColumn, 130, Unit.PX);

    // Address.
    Column<ContactInfo, String> addressColumn = new Column<ContactInfo, String>(new TextCell()) {
        @Override
        public String getValue(ContactInfo object) {
            return object.getAddress();
        }
    };
    addressColumn.setSortable(true);
    sortHandler.setComparator(addressColumn, new Comparator<ContactInfo>() {
        public int compare(ContactInfo o1, ContactInfo o2) {
            return o1.getAddress().compareTo(o2.getAddress());
        }
    });
    dataGrid.addColumn(addressColumn, constants.cwDataGridColumnAddress());
    dataGrid.setColumnWidth(addressColumn, 60, Unit.PCT);
}

From source file:com.gwt2go.dev.client.ui.CellTableSortingViewImpl.java

License:Apache License

private void initTableColumns(final SelectionModel<ContactInfo> selectionModel,
        CellTableSorting<ContactInfo> cellTable) {

    // This table will uses a checkbox column for selection.
    // Alternatively, you can call cellTable.setSelectionEnabled(true) to
    // enable mouse selection.
    Column<ContactInfo, Boolean> checkColumn = new Column<ContactInfo, Boolean>(new CheckboxCell(true, true)) {
        @Override/*from w ww. j  a va  2 s.c  om*/
        public Boolean getValue(ContactInfo object) {
            // Get the value from the selection model.
            return selectionModel.isSelected(object);
        }
    };
    checkColumn.setFieldUpdater(new FieldUpdater<ContactInfo, Boolean>() {
        public void update(int index, ContactInfo object, Boolean value) {
            // Called when the user clicks on a checkbox.
            selectionModel.setSelected(object, value);
        }
    });
    cellTable.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br>"));

    cellTable.addColumn("First name", new TextCell(), new GetValue<ContactInfo, String>() {
        public String getValue(ContactInfo object) {
            return object.getFirstName();
        }
    }, new SortHeader("First name"));

    // Last name.
    Column<ContactInfo, String> lastNameColumn = new Column<ContactInfo, String>(new EditTextCell()) {
        @Override
        public String getValue(ContactInfo object) {
            return object.getLastName();
        }
    };

    cellTable.addColumn(lastNameColumn, "Last name");
    lastNameColumn.setFieldUpdater(new FieldUpdater<ContactInfo, String>() {
        public void update(int index, ContactInfo object, String value) {
            // Called when the user changes the value.
            object.setLastName(value);
            ContactDatabase.get().refreshDisplays();
        }
    });

    // Category.
    final Category[] categories = ContactDatabase.get().queryCategories();
    List<String> categoryNames = new ArrayList<String>();
    for (Category category : categories) {
        categoryNames.add(category.getDisplayName());
    }
    SelectionCell categoryCell = new SelectionCell(categoryNames);
    Column<ContactInfo, String> categoryColumn = new Column<ContactInfo, String>(categoryCell) {
        @Override
        public String getValue(ContactInfo object) {
            return object.getCategory().getDisplayName();
        }
    };
    cellTable.addColumn(categoryColumn, "Category");
    categoryColumn.setFieldUpdater(new FieldUpdater<ContactInfo, String>() {
        public void update(int index, ContactInfo object, String value) {
            for (Category category : categories) {
                if (category.getDisplayName().equals(value)) {
                    object.setCategory(category);
                }
            }
            ContactDatabase.get().refreshDisplays();
        }
    });

    // Address.
    cellTable.addColumn("Address", new TextCell(), new GetValue<ContactInfo, String>() {
        public String getValue(ContactInfo object) {
            return object.getAddress();
        }
    }, new SortHeader("Address"));

    cellTable.addColumn("Birthday", new DateCell(), new GetValue<ContactInfo, Date>() {
        public Date getValue(ContactInfo object) {
            return object.getBirthday();
        }
    }, new SortHeader("Birthday"));
}

From source file:com.gwt2go.dev.client.ui.CellTableViewImpl.java

License:Apache License

/**
 * Add the columns to the table./*  w  w w.j  a v a2s. com*/
 */
private void initTableColumns(final SelectionModel<ContactInfo> selectionModel) {
    // This table will uses a checkbox column for selection.
    // Alternatively, you can call cellTable.setSelectionEnabled(true) to
    // enable mouse selection.
    Column<ContactInfo, Boolean> checkColumn = new Column<ContactInfo, Boolean>(new CheckboxCell(true, true)) {
        @Override
        public Boolean getValue(ContactInfo object) {
            // Get the value from the selection model.
            return selectionModel.isSelected(object);
        }
    };
    checkColumn.setFieldUpdater(new FieldUpdater<ContactInfo, Boolean>() {
        public void update(int index, ContactInfo object, Boolean value) {
            // Called when the user clicks on a checkbox.
            selectionModel.setSelected(object, value);
        }
    });
    cellTable.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br>"));

    // First name.
    // Column<ContactInfo, String> firstNameColumn = new Column<ContactInfo,
    // String>(
    // new EditTextCell()) {
    // @Override
    // public String getValue(ContactInfo object) {
    // return object.getFirstName();
    // }
    // };

    // TextHeader firstNameHeader = new TextHeader("First name");
    // firstNameHeader.setUpdater(new ValueUpdater<String>() {
    // @Override
    // public void update(String value) {
    // Window.alert("Update the header");
    // }
    // });
    //
    // cellTable.addColumn(firstNameColumn, firstNameHeader);
    //
    // firstNameColumn
    // .setFieldUpdater(new FieldUpdater<ContactInfo, String>() {
    // public void update(int index, ContactInfo object,
    // String value) {
    // // Called when the user changes the value.
    // object.setFirstName(value);
    // ContactDatabase.get().refreshDisplays();
    // }
    // });

    addColumn("First name", new TextCell(), new GetValue<ContactInfo, String>() {
        public String getValue(ContactInfo object) {
            return object.getFirstName();
        }
    });

    // Last name.
    Column<ContactInfo, String> lastNameColumn = new Column<ContactInfo, String>(new EditTextCell()) {
        @Override
        public String getValue(ContactInfo object) {
            return object.getLastName();
        }
    };
    cellTable.addColumn(lastNameColumn, "Last name");
    lastNameColumn.setFieldUpdater(new FieldUpdater<ContactInfo, String>() {
        public void update(int index, ContactInfo object, String value) {
            // Called when the user changes the value.
            object.setLastName(value);
            ContactDatabase.get().refreshDisplays();
        }
    });

    // Category.
    final Category[] categories = ContactDatabase.get().queryCategories();
    List<String> categoryNames = new ArrayList<String>();
    for (Category category : categories) {
        categoryNames.add(category.getDisplayName());
    }
    SelectionCell categoryCell = new SelectionCell(categoryNames);
    Column<ContactInfo, String> categoryColumn = new Column<ContactInfo, String>(categoryCell) {
        @Override
        public String getValue(ContactInfo object) {
            return object.getCategory().getDisplayName();
        }
    };
    cellTable.addColumn(categoryColumn, "Category");
    categoryColumn.setFieldUpdater(new FieldUpdater<ContactInfo, String>() {
        public void update(int index, ContactInfo object, String value) {
            for (Category category : categories) {
                if (category.getDisplayName().equals(value)) {
                    object.setCategory(category);
                }
            }
            ContactDatabase.get().refreshDisplays();
        }
    });

    // Address.
    addColumn("Address", new TextCell(), new GetValue<ContactInfo, String>() {
        public String getValue(ContactInfo object) {
            return object.getAddress();
        }
    });

    // cellTable.addColumn(new Column<ContactInfo, String>(new TextCell()) {
    // @Override
    // public String getValue(ContactInfo object) {
    // return object.getAddress();
    // }
    // }, "Address");
}

From source file:com.phideltcmu.recruiter.client.ui.table.RecruitTable.java

License:Creative Commons License

public void render(List<Category> categories) {
    final List<String> categoryNames = new ArrayList<String>();
    for (Category category : categories) {
        categoryNames.add(category.getValue());
    }//from   w w w.  j ava  2 s  . c om
    if (DynamicRecruiter.authUser.isAdmin()) {
        SelectionCell categoryCell = new SelectionCell(categoryNames);
        Column<Person, String> categoryColumn = new Column<Person, String>(categoryCell) {
            @Override
            public String getValue(Person object) {
                return categoryNames.get(categoryNames.indexOf(object.getStatus()));
            }
        };

        categoryColumn.setFieldUpdater(new FieldUpdater<Person, String>() {
            @Override
            public void update(int index, Person object, String value) {
                object.setStatus(value);
                DynamicRecruiter.RECRUIT_SERVICE.changeCategory(object.getAndrewID(), value,
                        DynamicRecruiter.authUser.getAuthToken(), new AsyncCallback<Void>() {
                            @Override
                            public void onFailure(Throwable throwable) {
                                throwable.printStackTrace();
                            }

                            @Override
                            public void onSuccess(Void aVoid) {
                                //                                    Window.alert("Status Updated!");
                            }
                        });
            }
        });
        extraColumns.add(new ExtraColumn("Status", categoryColumn));
    } else {
        TextColumn<Person> statusColumn = new TextColumn<Person>() {
            @Override
            public String getValue(Person person) {
                return person.getStatus();
            }
        };
        extraColumns.add(new ExtraColumn("Status", statusColumn));
    }
    defineColumns();
    this.initColumns(extraColumns);
}

From source file:com.pronoiahealth.olhie.client.pages.admin.widgets.AuthorRequestWidget.java

License:Open Source License

/**
 * Build grid/*from  w w w . j av a  2s  . c o m*/
 */
@PostConstruct
protected void postConstruct() {

    // Data Provider
    dataProvider = new ListDataProvider<RegistrationForm>();

    // Grid configuration
    authorReqGrid = new CellTable<RegistrationForm>(10, KEY_PROVIDER);
    authorReqGrid.setWidth("100%");
    authorReqGrid.setAutoHeaderRefreshDisabled(true);
    authorReqGrid.setAutoFooterRefreshDisabled(true);
    authorReqGrid.setEmptyTableWidget(new Label("Nothing to show"));
    authorReqGrid.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.ENABLED);
    authorReqGrid.setWidth("100%", true);

    // Selection Model
    final SelectionModel<RegistrationForm> selectionModel = new SingleSelectionModel<RegistrationForm>(
            KEY_PROVIDER);
    authorReqGrid.setSelectionModel(selectionModel,
            DefaultSelectionEventManager.<RegistrationForm>createCheckboxManager());

    // Init columns
    // Id
    TextColumn<RegistrationForm> idColumn = new TextColumn<RegistrationForm>() {
        @Override
        public String getValue(RegistrationForm object) {
            return object.getId();
        }
    };
    idColumn.setCellStyleNames("ph-Admin-tbl-cell-text-align-left");
    authorReqGrid.addColumn(idColumn, "ID");
    authorReqGrid.setColumnWidth(idColumn, 5, Unit.PCT);

    // First Name
    TextColumn<RegistrationForm> firstColumn = new TextColumn<RegistrationForm>() {
        @Override
        public String getValue(RegistrationForm object) {
            return object.getFirstName();
        }
    };
    firstColumn.setCellStyleNames("ph-Admin-tbl-cell-text-align-left");
    authorReqGrid.addColumn(firstColumn, "First");
    authorReqGrid.setColumnWidth(firstColumn, 7, Unit.PCT);

    // Last Name
    TextColumn<RegistrationForm> lastColumn = new TextColumn<RegistrationForm>() {
        @Override
        public String getValue(RegistrationForm object) {
            return object.getLastName();
        }
    };
    lastColumn.setCellStyleNames("ph-Admin-tbl-cell-text-align-left");
    authorReqGrid.addColumn(lastColumn, "Last");
    authorReqGrid.setColumnWidth(lastColumn, 12, Unit.PCT);

    // userId
    TextColumn<RegistrationForm> userIdColumn = new TextColumn<RegistrationForm>() {
        @Override
        public String getValue(RegistrationForm object) {
            return object.getUserId();
        }
    };
    userIdColumn.setCellStyleNames("ph-Admin-tbl-cell-text-align-left");
    authorReqGrid.addColumn(userIdColumn, "UserId");
    authorReqGrid.setColumnWidth(userIdColumn, 10, Unit.PCT);

    // eMail
    TextColumn<RegistrationForm> eMailColumn = new TextColumn<RegistrationForm>() {
        @Override
        public String getValue(RegistrationForm object) {
            return object.getEmail();
        }
    };
    eMailColumn.setCellStyleNames("ph-Admin-tbl-cell-text-align-left");
    authorReqGrid.addColumn(eMailColumn, "eMail");
    authorReqGrid.setColumnWidth(eMailColumn, 15, Unit.PCT);

    // Registration Date
    DateCell dateCell = new DateCell();
    Column<RegistrationForm, Date> dateColumn = new Column<RegistrationForm, Date>(dateCell) {
        @Override
        public Date getValue(RegistrationForm object) {
            return object.getRegDate();
        }
    };
    dateColumn.setCellStyleNames("ph-Admin-tbl-cell-text-align-left");
    authorReqGrid.addColumn(dateColumn, "Reg Date");
    authorReqGrid.setColumnWidth(dateColumn, 17, Unit.PCT);

    // Organization
    TextColumn<RegistrationForm> orgColumn = new TextColumn<RegistrationForm>() {
        @Override
        public String getValue(RegistrationForm object) {
            return object.getOrganization();
        }
    };
    orgColumn.setCellStyleNames("ph-Admin-tbl-cell-text-align-left");
    authorReqGrid.addColumn(orgColumn, "Organization");
    authorReqGrid.setColumnWidth(orgColumn, 15, Unit.PCT);

    // Status
    List<String> statusNames = Arrays.asList(authStatus);
    SelectionCell statusCell = new SelectionCell(statusNames);
    Column<RegistrationForm, String> statusColumn = new Column<RegistrationForm, String>(statusCell) {
        @Override
        public String getValue(RegistrationForm object) {
            return object.getAuthorStatus();
        }
    };
    statusColumn.setCellStyleNames("ph-Admin-tbl-cell-text-align-left");
    authorReqGrid.addColumn(statusColumn, "Status");

    // Status column updated
    statusColumn.setFieldUpdater(new FieldUpdater<RegistrationForm, String>() {
        @Override
        public void update(int index, RegistrationForm object, String value) {
            object.setAuthorStatus(value);
            dataProvider.refresh();

            // Tell the AdminService about the change
            authorRequestStatusChangeEvent.fire(new AuthorRequestStatusChangeEvent(object.getId(), value));
        }
    });
    authorReqGrid.setColumnWidth(statusColumn, 19, Unit.PCT);

    // Set the dataprovider
    dataProvider.addDataDisplay(authorReqGrid);

    // Pager
    SimplePager.Resources pagerResources = GWT.create(SimplePager.Resources.class);
    pager = new SimplePager(TextLocation.CENTER, pagerResources, false, 0, true);
    pager.setDisplay(authorReqGrid);
    pager.setPageSize(10);
    pager.getElement().setAttribute("style", "margin: auto;");

    // Redraw the grid
    authorReqGrid.redraw();
    authorReqGrid.setVisible(true);

    // Add to container
    authorRequestTbl.add(authorReqGrid);
    pagerContainer.add(pager);
}

From source file:com.pronoiahealth.olhie.client.pages.admin.widgets.NewsItemWidget.java

License:Open Source License

/**
 * Build grid//from  w  ww . ja  v  a2  s. c o  m
 */
@PostConstruct
protected void postConstruct() {

    // Data Provider
    dataProvider = new ListDataProvider<NewsItem>();

    // Grid configuration
    newsItemGrid = new CellTable<NewsItem>(10, KEY_PROVIDER);
    newsItemGrid.setWidth("100%");
    newsItemGrid.setAutoHeaderRefreshDisabled(true);
    newsItemGrid.setAutoFooterRefreshDisabled(true);
    newsItemGrid.setEmptyTableWidget(new Label("Nothing to show"));
    newsItemGrid.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.ENABLED);
    newsItemGrid.setWidth("100%", true);

    // Selection Model
    final SelectionModel<NewsItem> selectionModel = new SingleSelectionModel<NewsItem>(KEY_PROVIDER);
    newsItemGrid.setSelectionModel(selectionModel,
            DefaultSelectionEventManager.<NewsItem>createCheckboxManager());

    // Init columns
    // Id
    TextColumn<NewsItem> idColumn = new TextColumn<NewsItem>() {
        @Override
        public String getValue(NewsItem object) {
            return object.getId();
        }
    };
    idColumn.setCellStyleNames("ph-Admin-tbl-cell-text-align-left");
    newsItemGrid.addColumn(idColumn, "ID");
    newsItemGrid.setColumnWidth(idColumn, 5, Unit.PCT);

    // Author id
    TextColumn<NewsItem> authorColumn = new TextColumn<NewsItem>() {
        @Override
        public String getValue(NewsItem object) {
            return object.getAuthorId();
        }
    };
    authorColumn.setCellStyleNames("ph-Admin-tbl-cell-text-align-left");
    newsItemGrid.addColumn(authorColumn, "Author");
    newsItemGrid.setColumnWidth(authorColumn, 10, Unit.PCT);

    // href
    TextColumn<NewsItem> hrefColumn = new TextColumn<NewsItem>() {
        @Override
        public String getValue(NewsItem object) {
            return object.getHref();
        }
    };
    hrefColumn.setCellStyleNames("ph-Admin-tbl-cell-text-align-left");
    newsItemGrid.addColumn(hrefColumn, "Link");
    newsItemGrid.setColumnWidth(hrefColumn, 25, Unit.PCT);

    // Story
    TextColumn<NewsItem> storyColumn = new TextColumn<NewsItem>() {
        @Override
        public String getValue(NewsItem object) {
            return object.getStory();
        }
    };
    storyColumn.setCellStyleNames("ph-Admin-tbl-cell-text-align-left");
    newsItemGrid.addColumn(storyColumn, "Story");
    newsItemGrid.setColumnWidth(storyColumn, 35, Unit.PCT);

    // Active
    List<String> activeNames = Arrays.asList(reset);
    SelectionCell activeCell = new SelectionCell(activeNames);
    Column<NewsItem, String> activeColumn = new Column<NewsItem, String>(activeCell) {
        @Override
        public String getValue(NewsItem object) {
            boolean val = object.getActive();
            if (val == true) {
                return "YES";
            } else {
                return "NO";
            }
        }
    };
    activeColumn.setCellStyleNames("ph-Admin-tbl-cell-text-align-left");
    newsItemGrid.addColumn(activeColumn, "Active");

    // active column updated
    activeColumn.setFieldUpdater(new FieldUpdater<NewsItem, String>() {
        @Override
        public void update(int index, NewsItem object, String value) {
            boolean retVal = false;
            if (value.equals("YES")) {
                retVal = true;
                object.setActive(true);
            } else {
                object.setActive(false);
            }
            dataProvider.refresh();

            // Tell the AdminService about the change
            updateNewsItemActiveRequestEvent.fire(new UpdateNewsItemActiveRequestEvent(object.getId(), retVal));
        }
    });
    newsItemGrid.setColumnWidth(activeColumn, 18, Unit.PCT);

    // Delete button
    Column<NewsItem, String> deleteBtn = new Column<NewsItem, String>(new ButtonCell()) {
        @Override
        public String getValue(NewsItem c) {
            return "x";
        }
    };
    newsItemGrid.setColumnWidth(deleteBtn, 5, Unit.PCT);
    newsItemGrid.addColumn(deleteBtn, "");

    // Set the field updater, whenever user clicks on button
    // row will be removed.
    deleteBtn.setFieldUpdater(new FieldUpdater<NewsItem, String>() {

        @Override
        public void update(int index, NewsItem object, String value) {
            // Tell the database
            removeNewsItemRequestEvent.fire(new RemoveNewsItemRequestEvent(object.getId()));

            // Remove from the data provider and redraw the table
            dataProvider.getList().remove(object);
            dataProvider.refresh();
            newsItemGrid.redraw();
        }
    });

    // Set the dataprovider
    dataProvider.addDataDisplay(newsItemGrid);

    // Pager
    SimplePager.Resources pagerResources = GWT.create(SimplePager.Resources.class);
    pager = new SimplePager(TextLocation.CENTER, pagerResources, false, 0, true);
    pager.setDisplay(newsItemGrid);
    pager.setPageSize(10);
    pager.getElement().setAttribute("style", "margin: auto;");

    // Redraw the grid
    newsItemGrid.redraw();
    newsItemGrid.setVisible(true);

    // Add to container
    newsItemTbl.add(newsItemGrid);
    pagerContainer.add(pager);
}

From source file:com.pronoiahealth.olhie.client.pages.admin.widgets.UserManagementWidget.java

License:Open Source License

/**
 * Build grid/* w w  w  .ja v a  2s . co  m*/
 */
@PostConstruct
protected void postConstruct() {
    // Query lable
    queryLbl.setText("Last Name: ");

    // Data Provider
    dataProvider = new ListDataProvider<User>();

    // Grid configuration
    userMgmtGrid = new CellTable<User>(10, KEY_PROVIDER);
    userMgmtGrid.setWidth("100%");
    userMgmtGrid.setAutoHeaderRefreshDisabled(true);
    userMgmtGrid.setAutoFooterRefreshDisabled(true);
    userMgmtGrid.setEmptyTableWidget(new Label("Nothing to show"));
    userMgmtGrid.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.ENABLED);
    userMgmtGrid.setWidth("100%", true);

    // Selection Model
    // final SelectionModel<User> selectionModel = new
    // SingleSelectionModel<User>(
    // KEY_PROVIDER);
    // userMgmtGrid.setSelectionModel(selectionModel,
    // DefaultSelectionEventManager.<User> createCheckboxManager());

    // Init columns
    // Id
    TextColumn<User> idColumn = new TextColumn<User>() {
        @Override
        public String getValue(User object) {
            return object.getId();
        }
    };
    idColumn.setCellStyleNames("ph-Admin-tbl-cell-text-align-left");
    userMgmtGrid.addColumn(idColumn, "ID");
    userMgmtGrid.setColumnWidth(idColumn, 5, Unit.PCT);

    // First Name
    TextColumn<User> firstColumn = new TextColumn<User>() {
        @Override
        public String getValue(User object) {
            return object.getFirstName();
        }
    };
    firstColumn.setCellStyleNames("ph-Admin-tbl-cell-text-align-left");
    userMgmtGrid.addColumn(firstColumn, "First");
    userMgmtGrid.setColumnWidth(firstColumn, 7, Unit.PCT);

    // Last Name
    TextColumn<User> lastColumn = new TextColumn<User>() {
        @Override
        public String getValue(User object) {
            return object.getLastName();
        }
    };
    lastColumn.setCellStyleNames("ph-Admin-tbl-cell-text-align-left");
    userMgmtGrid.addColumn(lastColumn, "Last");
    userMgmtGrid.setColumnWidth(lastColumn, 12, Unit.PCT);

    // userId
    TextColumn<User> userIdColumn = new TextColumn<User>() {
        @Override
        public String getValue(User object) {
            return object.getUserId();
        }
    };
    userIdColumn.setCellStyleNames("ph-Admin-tbl-cell-text-align-left");
    userMgmtGrid.addColumn(userIdColumn, "UserId");
    userMgmtGrid.setColumnWidth(userIdColumn, 10, Unit.PCT);

    // eMail
    final EditTextCell eMailEditCell = new EditTextCell();
    final Column<User, String> eMailColumn = new Column<User, String>(eMailEditCell) {

        @Override
        public String getValue(User object) {
            return object.getEmail();
        }
    };
    eMailColumn.setCellStyleNames("ph-Admin-tbl-cell-text-align-left");
    userMgmtGrid.addColumn(eMailColumn, "eMail");
    eMailColumn.setFieldUpdater(new FieldUpdater<User, String>() {
        @Override
        public void update(int index, User object, String value) {
            // Validate
            if (Utils.isValidEmail(value) && value != null && value.length() > 0) {
                // Set data
                object.setEmail(value);
                dataProvider.refresh();

                // Tell the database
                userEmailChangeRequestEvent.fire(new UserEmailChangeRequestEvent(value, object.getUserId()));

                // Reset style
                eMailColumn.setCellStyleNames("ph-Admin-tbl-cell-text-align-left");
            } else {
                eMailEditCell.clearViewData(KEY_PROVIDER.getKey(object));
                clientErrorEvent.fire(new ClientErrorEvent(value + " is not a valid email address."));
                userMgmtGrid.redraw();
            }
        }
    });
    userMgmtGrid.setColumnWidth(eMailColumn, 15, Unit.PCT);

    // Organization
    final EditTextCell orgCell = new EditTextCell();
    Column<User, String> orgColumn = new Column<User, String>(orgCell) {
        @Override
        public String getValue(User object) {
            return object.getOrganization();
        }
    };
    orgColumn.setCellStyleNames("ph-Admin-tbl-cell-text-align-left");
    userMgmtGrid.addColumn(orgColumn, "Organization");
    orgColumn.setFieldUpdater(new FieldUpdater<User, String>() {
        @Override
        public void update(int index, User object, String value) {
            object.setOrganization(value);
            dataProvider.refresh();

            // Tell the database
            userOrganizationChangeRequestEvent
                    .fire(new UserOrganizationChangeRequestEvent(value, object.getUserId()));
        }
    });
    userMgmtGrid.setColumnWidth(orgColumn, 15, Unit.PCT);

    // Role
    List<String> roleNames = Arrays.asList(roles);
    SelectionCell roleCell = new SelectionCell(roleNames);
    Column<User, String> roleColumn = new Column<User, String>(roleCell) {
        @Override
        public String getValue(User object) {
            return object.getRole();
        }
    };
    roleColumn.setCellStyleNames("ph-Admin-tbl-cell-text-align-left");
    userMgmtGrid.addColumn(roleColumn, "Role");

    // role column updated
    roleColumn.setFieldUpdater(new FieldUpdater<User, String>() {
        @Override
        public void update(int index, User object, String value) {
            object.setRole(value);
            dataProvider.refresh();

            // Tell the AdminService about the change
            userChangeRoleEvent.fire(new UserChangeRoleEvent(object.getUserId(), value));

        }
    });
    userMgmtGrid.setColumnWidth(roleColumn, 18, Unit.PCT);

    // Reset password
    List<String> resetNames = Arrays.asList(reset);
    SelectionCell resetCell = new SelectionCell(resetNames);
    Column<User, String> resetColumn = new Column<User, String>(resetCell) {
        @Override
        public String getValue(User object) {
            boolean val = object.isResetPwd();
            if (val == true) {
                return "YES";
            } else {
                return "NO";
            }
        }
    };
    resetColumn.setCellStyleNames("ph-Admin-tbl-cell-text-align-left");
    userMgmtGrid.addColumn(resetColumn, "Reset PW");

    // role column updated
    resetColumn.setFieldUpdater(new FieldUpdater<User, String>() {
        @Override
        public void update(int index, User object, String value) {
            boolean retVal = false;
            if (value.equals("YES")) {
                retVal = true;
                object.setResetPwd(true);
            } else {
                object.setResetPwd(false);
            }
            dataProvider.refresh();

            // Tell the AdminService about the change
            userResetPWEvent.fire(new UserResetPWEvent(object.getUserId(), retVal));
        }
    });
    userMgmtGrid.setColumnWidth(resetColumn, 18, Unit.PCT);

    // Set the dataprovider
    dataProvider.addDataDisplay(userMgmtGrid);

    // Pager
    SimplePager.Resources pagerResources = GWT.create(SimplePager.Resources.class);
    pager = new SimplePager(TextLocation.CENTER, pagerResources, false, 0, true);
    pager.setDisplay(userMgmtGrid);
    pager.setPageSize(5);
    pager.getElement().setAttribute("style", "margin: auto;");

    // Redraw the grid
    userMgmtGrid.redraw();
    userMgmtGrid.setVisible(true);

    // Add to container
    userMgmtTbl.add(userMgmtGrid);
    pagerContainer.add(pager);
}

From source file:com.spshop.admin.client.sample.CwCellTable.java

License:Apache License

/**
 * Add the columns to the table.//  w  ww .j av a  2  s. com
 */
private void initTableColumns(final SelectionModel<ContactInfo> selectionModel,
        ListHandler<ContactInfo> sortHandler) {
    // Checkbox column. This table will uses a checkbox column for selection.
    // Alternatively, you can call cellTable.setSelectionEnabled(true) to enable
    // mouse selection.
    Column<ContactInfo, Boolean> checkColumn = new Column<ContactInfo, Boolean>(new CheckboxCell(true, false)) {
        @Override
        public Boolean getValue(ContactInfo object) {
            // Get the value from the selection model.
            return selectionModel.isSelected(object);
        }
    };
    cellTable.addColumn(checkColumn, SafeHtmlUtils.fromSafeConstant("<br/>"));
    cellTable.setColumnWidth(checkColumn, 40, Unit.PX);

    // First name.
    Column<ContactInfo, String> firstNameColumn = new Column<ContactInfo, String>(new EditTextCell()) {
        @Override
        public String getValue(ContactInfo object) {
            return object.getFirstName();
        }
    };
    firstNameColumn.setSortable(true);
    sortHandler.setComparator(firstNameColumn, new Comparator<ContactInfo>() {
        public int compare(ContactInfo o1, ContactInfo o2) {
            return o1.getFirstName().compareTo(o2.getFirstName());
        }
    });
    cellTable.addColumn(firstNameColumn, constants.cwCellTableColumnFirstName());
    firstNameColumn.setFieldUpdater(new FieldUpdater<ContactInfo, String>() {
        public void update(int index, ContactInfo object, String value) {
            // Called when the user changes the value.
            object.setFirstName(value);
            ContactDatabase.get().refreshDisplays();
        }
    });
    cellTable.setColumnWidth(firstNameColumn, 20, Unit.PCT);

    // Last name.
    Column<ContactInfo, String> lastNameColumn = new Column<ContactInfo, String>(new EditTextCell()) {
        @Override
        public String getValue(ContactInfo object) {
            return object.getLastName();
        }
    };
    lastNameColumn.setSortable(true);
    sortHandler.setComparator(lastNameColumn, new Comparator<ContactInfo>() {
        public int compare(ContactInfo o1, ContactInfo o2) {
            return o1.getLastName().compareTo(o2.getLastName());
        }
    });
    cellTable.addColumn(lastNameColumn, constants.cwCellTableColumnLastName());
    lastNameColumn.setFieldUpdater(new FieldUpdater<ContactInfo, String>() {
        public void update(int index, ContactInfo object, String value) {
            // Called when the user changes the value.
            object.setLastName(value);
            ContactDatabase.get().refreshDisplays();
        }
    });
    cellTable.setColumnWidth(lastNameColumn, 20, Unit.PCT);

    // Category.
    final Category[] categories = ContactDatabase.get().queryCategories();
    List<String> categoryNames = new ArrayList<String>();
    for (Category category : categories) {
        categoryNames.add(category.getDisplayName());
    }
    SelectionCell categoryCell = new SelectionCell(categoryNames);
    Column<ContactInfo, String> categoryColumn = new Column<ContactInfo, String>(categoryCell) {
        @Override
        public String getValue(ContactInfo object) {
            return object.getCategory().getDisplayName();
        }
    };
    cellTable.addColumn(categoryColumn, constants.cwCellTableColumnCategory());
    categoryColumn.setFieldUpdater(new FieldUpdater<ContactInfo, String>() {
        public void update(int index, ContactInfo object, String value) {
            for (Category category : categories) {
                if (category.getDisplayName().equals(value)) {
                    object.setCategory(category);
                }
            }
            ContactDatabase.get().refreshDisplays();
        }
    });
    cellTable.setColumnWidth(categoryColumn, 130, Unit.PX);

    // Address.
    Column<ContactInfo, String> addressColumn = new Column<ContactInfo, String>(new TextCell()) {
        @Override
        public String getValue(ContactInfo object) {
            return object.getAddress();
        }
    };
    addressColumn.setSortable(true);
    sortHandler.setComparator(addressColumn, new Comparator<ContactInfo>() {
        public int compare(ContactInfo o1, ContactInfo o2) {
            return o1.getAddress().compareTo(o2.getAddress());
        }
    });
    cellTable.addColumn(addressColumn, constants.cwCellTableColumnAddress());
    cellTable.setColumnWidth(addressColumn, 60, Unit.PCT);
}