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

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

Introduction

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

Prototype

ValueUpdater

Source Link

Usage

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;
}