List of usage examples for com.google.gwt.cell.client ValueUpdater ValueUpdater
ValueUpdater
From source file:cc.kune.gspace.client.i18n.I18nCellList.java
License:Apache License
/** * Instantiates a new i18n cell list./*from www. j a va 2 s .c o m*/ * * @param data * the data * @param i18n * the i18n * @param saver * the saver */ @Inject public I18nCellList(final I18nTranslationDataProvider data, final I18nUITranslationService i18n, final I18nTranslatorSaver saver) { this.data = data; final TranslationCell cell = new TranslationCell(); // Set a key provider that provides a unique key for each contact. If key is // used to identify translations when fields change. cellList = new CellList<I18nTranslationDTO>(cell, I18nTranslationDTO.KEY_PROVIDER); cellList.setPageSize(30); cellList.setEmptyListMessage(SafeHtmlUtils .fromTrustedString("<span style='padding: 10px; font-style: italic;'>Empty list</span>")); cellList.setKeyboardPagingPolicy(KeyboardPagingPolicy.INCREASE_RANGE); cellList.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.BOUND_TO_SELECTION); final SingleSelectionModel<I18nTranslationDTO> selectionModel = new SingleSelectionModel<I18nTranslationDTO>( I18nTranslationDTO.KEY_PROVIDER); // Add a selection model so we can select cells. cellList.setSelectionModel(selectionModel); // Create the UiBinder. final Binder uiBinder = GWT.create(Binder.class); initWidget(uiBinder.createAndBindUi(this)); translatorForm.init(data, i18n, saver); cellList.setValueUpdater(new ValueUpdater<I18nTranslationDTO>() { @Override public void update(final I18nTranslationDTO value) { // save(value); } }); selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { @Override public void onSelectionChange(final SelectionChangeEvent event) { translatorForm.setInfo(selectionModel.getSelectedObject()); Scheduler.get().scheduleEntry(new ScheduledCommand() { @Override public void execute() { translatorForm.focusToTranslate(); } }); } }); // cellList.sinkEvents(com.google.gwt.user.client.Event.KEYEVENTS); data.addDataDisplay(cellList); data.setSelectionMode(selectionModel); data.setLoadCallback(new SimpleCallback() { @Override public void onCallback() { translatorForm.focusToTranslate(); NotifyUser.hideProgress(); } }); // Set the cellList as the display of the pagers. // pagerPanel is a scrollable pager that extends the range when the // user scrolls to the bottom. rangeLabelPager is a pager that displays the // current range, but does not have any controls to change the range. pagerPanel.setDisplay(cellList); // pagerPanel.setStyleName("k-i18n-trans-list"); rangeLabelPager.setDisplay(cellList); }
From source file:com.chinarewards.gwt.license.client.widget.ListCellTable.java
private <C> Column<T, C> addColumn(final String text, final Cell<C> cell, final GetValue<T, C> getter, final FieldUpdater<T, C> fieldUpdater, final Comparator<T> ascComparator, final Comparator<T> descComparator, final Sorting<T> ref, final String sortingText) { // Create the column final Column<T, C> column = new Column<T, C>(cell) { @Override/* ww w.jav a 2s. c o m*/ public C getValue(T object) { return getter.getValue(object); } }; /** * ??HeaderHeader */ if (ref != null) { final SortableHeader header = new SortableHeader(text); allHeaders.add(header); // Hook up sorting header.setUpdater(new ValueUpdater<String>() { @Override public void update(String value) { header.setSorted(true); header.toggleReverseSort(); for (SortableHeader otherHeader : allHeaders) { if (otherHeader != header) { otherHeader.setSorted(false); otherHeader.setReverseSort(true); } } // table.refreshHeaders(); // TODO remove this when // confirmed working. ListCellTable.this.redrawHeaders(); if (StringUtil.isEmpty(sortingText)) { ref.sortingCurrentPage(header.getReverseSort() ? descComparator : ascComparator); } else { ref.sortingAll(sortingText, header.getReverseSort() ? "desc" : "asc"); } } }); this.addColumn(column, header); } else { TextHeader header = new TextHeader(text); int fal = 0; for (TextHeader otherHeader : allTextHeaders) { if (otherHeader.getValue() == header.getValue()) { header = otherHeader; fal = 1; } } if (fal != 1) allTextHeaders.add(header); this.addColumn(column, header); } if (fieldUpdater != null) { column.setFieldUpdater(fieldUpdater); } return column; }
From source file:com.chinarewards.gwt.license.client.widget.ListImageTable.java
private <C> Column<T, C> addColumn(final String text, final Cell<C> cell, final GetValue<T, C> getter, final FieldUpdater<T, C> fieldUpdater, final Comparator<T> ascComparator, final Comparator<T> descComparator, final Sorting<T> ref, final String sortingText) { // Create the column final Column<T, C> column = new Column<T, C>(cell) { @Override/*w ww .ja v a 2 s .co m*/ public C getValue(T object) { return getter.getValue(object); } }; /** * ??HeaderHeader */ if (ref != null) { final SortableHeader header = new SortableHeader(text); allHeaders.add(header); // Hook up sorting header.setUpdater(new ValueUpdater<String>() { @Override public void update(String value) { header.setSorted(true); header.toggleReverseSort(); for (SortableHeader otherHeader : allHeaders) { if (otherHeader != header) { otherHeader.setSorted(false); otherHeader.setReverseSort(true); } } // table.refreshHeaders(); // TODO remove this when // confirmed working. ListImageTable.this.redrawHeaders(); if (StringUtil.isEmpty(sortingText)) { ref.sortingCurrentPage(header.getReverseSort() ? descComparator : ascComparator); } else { ref.sortingAll(sortingText, header.getReverseSort() ? "desc" : "asc"); } } }); this.addColumn(column, header); } else { final TextHeader header = new TextHeader(text); this.addColumn(column, header); } if (fieldUpdater != null) { column.setFieldUpdater(fieldUpdater); } return column; }
From source file:com.colinalworth.xmlview.client.XmlTreeViewModel.java
License:Apache License
@Override public <T> NodeInfo<?> getNodeInfo(T value) { final Node node = (Node) value; final ListDataProvider<Node> dataProvider = new ListDataProvider<Node>(getChildren(node)); ValueUpdater<Node> parentUpdater = new ValueUpdater<Node>() { @Override/*from w ww .j a v a 2s . com*/ public void update(Node ignoreThis) { dataProvider.setList(getChildren(node)); } }; //TODO this has the ability to leak as nodes are replaced - clear periodically? refreshAccess.put(node, parentUpdater); DefaultNodeInfo<Node> nodeInfo = new DefaultNodeInfo<Node>(dataProvider, nodeCell, null, parentUpdater); return nodeInfo; }
From source file:com.databasepreservation.visualization.client.common.lists.AsyncTableCell.java
private void configure(final CellTable<T> display) { if (selectable) { selectColumn = new Column<T, Boolean>(new CheckboxCell(true, false)) { @Override//from ww w.j a v a 2s.c om public Boolean getValue(T object) { return selected.contains(object); } }; selectColumn.setFieldUpdater(new FieldUpdater<T, Boolean>() { @Override public void update(int index, T object, Boolean isSelected) { if (isSelected) { selected.add(object); } else { selected.remove(object); } // update header display.redrawHeaders(); fireOnCheckboxSelectionChanged(); } }); Header<Boolean> selectHeader = new Header<Boolean>(new CheckboxCell(true, true)) { @Override public Boolean getValue() { Boolean ret; if (selected.isEmpty()) { ret = false; } else if (selected.containsAll(getVisibleItems())) { ret = true; showSelectAllPanel(); } else { // some are selected ret = false; hideSelectAllPanel(); } return ret; } }; selectHeader.setUpdater(new ValueUpdater<Boolean>() { @Override public void update(Boolean value) { if (value) { selected.addAll(getVisibleItems()); showSelectAllPanel(); } else { selected.clear(); hideSelectAllPanel(); } redraw(); fireOnCheckboxSelectionChanged(); } }); display.addColumn(selectColumn, selectHeader); display.setColumnWidth(selectColumn, "45px"); } configureDisplay(display); }
From source file:com.google.gwt.examples.cellview.CellListValueUpdaterExample.java
License:Apache License
public void onModuleLoad() { // Create a cell that will interact with a value updater. TextInputCell inputCell = new TextInputCell(); // Create a CellList that uses the cell. CellList<String> cellList = new CellList<String>(inputCell); // Create a value updater that will be called when the value in a cell // changes.//from w w w. j a v a2s . co m ValueUpdater<String> valueUpdater = new ValueUpdater<String>() { public void update(String newValue) { Window.alert("You typed: " + newValue); } }; // Add the value updater to the cellList. cellList.setValueUpdater(valueUpdater); // Set the total row count. This isn't strictly necessary, but it affects // paging calculations, so its good habit to keep the row count up to date. cellList.setRowCount(DAYS.size(), true); // Push the data into the widget. cellList.setRowData(0, DAYS); // Add it to the root panel. RootPanel.get().add(cellList); }
From source file:com.google.gwt.sample.expenses.client.ExpenseDetails.java
License:Apache License
/** * Add a column with the specified comparators. * * @param <C> the column type/*from w w w. j a v a2 s . co m*/ * @param table the table * @param text the header text * @param cell the cell used to render values * @param getter the {@link GetValue} used to retrieve cell values * @param ascComparator the comparator used to sort ascending * @param descComparator the comparator used to sort ascending * @return the new column */ private <C> Column<ExpenseProxy, C> addColumn(final CellTable<ExpenseProxy> table, final String text, final Cell<C> cell, final GetValue<ExpenseProxy, C> getter, final Comparator<ExpenseProxy> ascComparator, final Comparator<ExpenseProxy> descComparator) { // Create the column. final Column<ExpenseProxy, C> column = new Column<ExpenseProxy, C>(cell) { @Override public C getValue(ExpenseProxy object) { return getter.getValue(object); } }; final SortableHeader header = new SortableHeader(text); allHeaders.add(header); // Hook up sorting. header.setUpdater(new ValueUpdater<String>() { public void update(String value) { header.setSorted(true); header.toggleReverseSort(); for (SortableHeader otherHeader : allHeaders) { if (otherHeader != header) { otherHeader.setSorted(false); otherHeader.setReverseSort(true); } } sortExpenses(items.getList(), header.getReverseSort() ? descComparator : ascComparator); table.redrawHeaders(); } }); table.addColumn(column, header); return column; }
From source file:com.google.gwt.sample.expenses.client.ExpenseList.java
License:Apache License
/** * Add a sortable column to the table.//from w ww.j ava2s .c o m * * @param <C> the data type for the column * @param text the header text * @param cell the cell used to render the column * @param getter the getter to retrieve the value for the column * @param property the property to sort by * @return the column */ private <C> Column<ReportProxy, C> addColumn(final String text, final Cell<C> cell, final GetValue<ReportProxy, C> getter, final String property) { final Column<ReportProxy, C> column = new Column<ReportProxy, C>(cell) { @Override public C getValue(ReportProxy object) { return getter.getValue(object); } }; final SortableHeader header = new SortableHeader(text); allHeaders.add(header); // Sort created by default. if ("created".equals(property)) { header.setSorted(true); header.setReverseSort(true); orderBy = "created" + " DESC"; } header.setUpdater(new ValueUpdater<String>() { public void update(String value) { header.setSorted(true); header.toggleReverseSort(); for (SortableHeader otherHeader : allHeaders) { if (otherHeader != header) { otherHeader.setSorted(false); otherHeader.setReverseSort(true); } } table.redrawHeaders(); // Request sorted rows. orderBy = property; if (header.getReverseSort()) { orderBy += " DESC"; } searchBox.resetDefaultText(); searchRegExp = null; // Go to the first page of the newly-sorted results pager.firstPage(); requestReports(false); } }); table.addColumn(column, header); return column; }
From source file:com.google.gwt.sample.showcase.client.content.cell.CellAdapter.java
/** * Handle a browser event that took place within the cell. * See {@link Cell#onBrowserEvent}./*from www.j a v a 2s . co m*/ */ @Override public void onBrowserEvent(Context context, Element parent, final F value, NativeEvent event, final ValueUpdater<F> valueUpdater) { cell.onBrowserEvent(context, parent, transform.apply(value), event, new ValueUpdater<T>() { public void update(T ignored) { if (valueUpdater != null) { valueUpdater.update(value); } } }); }
From source file:com.gwt2go.dev.client.ui.CellTableSorting.java
License:Apache License
/** * Add a sortable column to the table.// w ww .java 2s.c om * * @param <C> * the data type for the column * @param text * the header text * @param cell * the cell used to render the column * @param getter * the getter to retrieve the value for the column * @param property * the property to sort by * @param ascComparator * ascendent comparator * @param descComparator * descendant comparator * @return the column */ private <C> Column<T, C> addColumn(final String text, final Cell<C> cell, final GetValue<T, C> getter, final Comparator<T> ascComparator, final Comparator<T> descComparator) { // gets the cell value final Column<T, C> column = new Column<T, C>(cell) { @Override public C getValue(T object) { return getter.getValue(object); } }; final SortableHeader header = new SortableHeader(text); allHeaders.add(header); // call this every time headers is clicked header.setUpdater(new ValueUpdater<String>() { public void update(String value) { header.setSorted(true); header.toggleReverseSort(); for (SortableHeader otherHeader : allHeaders) { if (otherHeader != header) { otherHeader.setSorted(false); otherHeader.setReverseSort(true); } } // sort the clicked column sortExpenses(dataProvider.getList(), header.getReverseSort() ? descComparator : ascComparator); // cellTable.redrawHeaders(); redrawHeaders(); // Go to the first page of the newly-sorted results, if wished // pager.firstPage(); } }); addColumn(column, header); return column; }