use of org.vaadin.patrik.FastNavigation.RowFocusListener in project GridFastNavigation by TatuLund.
the class DemoUI method initNavigation.
private void initNavigation(final Grid grid) {
FastNavigation nav = new FastNavigation(grid, false, true);
nav.setChangeColumnAfterLastRow(true);
nav.addRowEditListener(new RowEditListener() {
@Override
public void onEvent(RowEditEvent event) {
int rowIndex = event.getRowIndex();
if (rowIndex >= 0) {
Indexed ds = grid.getContainerDataSource();
Object itemId = event.getItemId();
printChangedRow(rowIndex, ds, itemId);
}
}
});
// Open with F2
nav.addEditorOpenShortcut(KeyCode.F2);
writeOutput("Editor can also be opened with F2");
// Close with F3
nav.addEditorCloseShortcut(KeyCode.F3);
writeOutput("Editor can also be closed with F3");
// Row focus change
nav.addRowFocusListener(new RowFocusListener() {
@Override
public void onEvent(RowFocusEvent event) {
int row = event.getRow();
writeOutput("Focus moved to row " + event.getRow());
grid.select(event.getItemId());
}
});
writeOutput("Added row focus change listener");
// Cell focus change
nav.addCellFocusListener(new CellFocusListener() {
@Override
public void onEvent(CellFocusEvent event) {
int row = event.getRow();
int col = event.getColumn();
writeOutput("Focus moved to cell [" + row + ", " + col + " ]");
}
});
writeOutput("Added cell focus change listener");
// Listening to opening of editor
nav.addEditorOpenListener(new EditorOpenListener() {
@Override
public void onEvent(EditorOpenEvent event) {
int row = event.getRow();
writeOutput("Editor opened on row " + row + " at column " + event.getColumn());
}
});
writeOutput("Added editor open listener");
// Listening to closing of editor
nav.addEditorCloseListener(new EditorCloseListener() {
@Override
public void onEvent(EditorCloseEvent event) {
writeOutput("Editor closed on row " + event.getRow() + ", column " + event.getColumn() + ", " + (event.wasCancelled() ? "user cancelled change" : "user saved change"));
}
});
writeOutput("Added editor close listener");
nav.addClickOutListener(new ClickOutListener() {
@Override
public void onEvent(ClickOutEvent event) {
writeOutput("User click outside Grid: " + event.getSource().toString());
}
});
}
Aggregations