List of usage examples for com.google.gwt.event.dom.client HasKeyUpHandlers addKeyUpHandler
HandlerRegistration addKeyUpHandler(KeyUpHandler handler);
From source file:com.qualogy.qafe.gwt.client.component.CellRendererHelper.java
License:Apache License
private static CellRenderer<DataContainerGVO, String> createDefaultRenderer(final DataGridColumnGVO column, final String uuid, final String parent, final HasDataGridMethods parentWidget, final ComponentGVO component) { CellRenderer<DataContainerGVO, String> cellRenderer; cellRenderer = new CellRenderer<DataContainerGVO, String>() { public void renderRowValue(final DataContainerGVO rowValue, final ColumnDefinition<DataContainerGVO, String> columnDef, AbstractCellView<DataContainerGVO> view) { if (rowValue.isMap()) { String generatedId = generateIdBasedOnIndex(column, view.getRowIndex()); component.setId(generatedId); component.setEvents(column.getEvents()); if (component instanceof EditableComponentGVO) { EditableComponentGVO editableComponent = (EditableComponentGVO) component; editableComponent.setEditable(column.getEditable()); }// ww w.ja v a2s . com final UIObject uiObject = getOrCreateRenderedComponent(column, component, generatedId, uuid, parent); // Get key for handler based on component uuid String key4Handler = getKey4Handler(column, view.getRowIndex(), parent); // HasSelectionHandlers is added for handling suggest text fields if (uiObject instanceof HasSelectionHandlers) { HasSelectionHandlers hasSelectionHandlers = (HasSelectionHandlers) uiObject; // Remove existing handler containing old rowValue removeExistingHandler(key4Handler, selectionHandlers4Default); HandlerRegistration handler = hasSelectionHandlers .addSelectionHandler(new SelectionHandler<String>() { public void onSelection(SelectionEvent<String> event) { if (column.getEditable()) { handleSetModifiedForSelectionEvent(parentWidget, rowValue, columnDef, uiObject, event); } } }); selectionHandlers4Default.put(key4Handler, handler); } else if (uiObject instanceof HasDataChangeHandlers) { HasDataChangeHandlers hasDataChangeHandlers = (HasDataChangeHandlers) uiObject; // Remove existing handler containing old rowValue DataChangeHandler dataChangeHandler = dataChangeHandlers4Default.get(key4Handler); hasDataChangeHandlers.removeDataChangeHandler(dataChangeHandler); dataChangeHandler = new DataChangeHandler() { public void onDataChange(UIObject uiObject, Object oldValue, Object newValue) { if (column.getEditable()) { handleSetModified(parentWidget, rowValue, columnDef, uiObject, newValue); } } }; hasDataChangeHandlers.addDataChangeHandler(dataChangeHandler); dataChangeHandlers4Default.put(key4Handler, dataChangeHandler); } else if (uiObject instanceof HasValueChangeHandlers) { HasValueChangeHandlers hasValueChangeHandlers = (HasValueChangeHandlers) uiObject; // Remove existing handler containing old rowValue removeExistingHandler(key4Handler, valueChangeHandlers4Default); HandlerRegistration handler = hasValueChangeHandlers .addValueChangeHandler(new ValueChangeHandler() { public void onValueChange(ValueChangeEvent event) { if (column.getEditable()) { handleSetModifiedForValueChangeEvent(parentWidget, rowValue, columnDef, uiObject, event); } } }); valueChangeHandlers4Default.put(key4Handler, handler); } else if (uiObject instanceof HasChangeHandlers) { HasChangeHandlers hasChangeHandlers = (HasChangeHandlers) uiObject; // Remove existing handler containing old rowValue removeExistingHandler(key4Handler, changeHandlers4Default); HandlerRegistration handler = hasChangeHandlers.addChangeHandler(new ChangeHandler() { public void onChange(ChangeEvent event) { if (column.getEditable()) { handleSetModifiedForChangeEvent(parentWidget, rowValue, columnDef, uiObject, event); } } }); changeHandlers4Default.put(key4Handler, handler); } if (uiObject instanceof HasKeyUpHandlers) { // Handle value changed when typing HasKeyUpHandlers hasKeyUpHandlers = (HasKeyUpHandlers) uiObject; // Remove existing handler containing old rowValue removeExistingHandler(key4Handler, keyUpHandlers4Default); HandlerRegistration handler = hasKeyUpHandlers.addKeyUpHandler(new KeyUpHandler() { public void onKeyUp(KeyUpEvent event) { if (column.getEditable() && KeyBoardHelper.isValidKeyInput(event.getNativeEvent())) { handleSetModifiedForValueChangeEvent(parentWidget, rowValue, columnDef, uiObject, event); } } }); keyUpHandlers4Default.put(key4Handler, handler); } SetValueGVO setValueGVO = new SetValueGVO(); DataContainerGVO valueDTC = new DataContainerGVO( simpleObjectToText(columnDef.getCellValue(rowValue))); if (uiObject instanceof Widget) { if (uiObject instanceof QDatePicker) { valueDTC = ((QColumnDefinition) columnDef).getDataContainerGVO(rowValue); } else if (uiObject instanceof ListBox) { // Inner component is a drop down and hence is first filled with the stored value and the selected index is managed later with the column value. QPagingScrollTable qPagingScrollTable = ((QPagingScrollTable) view .getSourceTableDefinition()); if (qPagingScrollTable.getDropDownColumnAndValues() != null && qPagingScrollTable .getDropDownColumnAndValues().containsKey(column.getId())) { SetValueGVO setValueGVOForInitialising = qPagingScrollTable .getDropDownColumnAndValues().get(column.getId()); // Do the set operation for the drop down - it can be a set with action set/add SetValueExecute.processValue(uiObject, setValueGVOForInitialising.getDataContainer(), setValueGVOForInitialising, setValueGVOForInitialising.getDataContainer()); } } // Now set the value to the column SetValueExecute.processValue(uiObject, simpleObjectToText(columnDef.getCellValue(rowValue)), setValueGVO, valueDTC); view.setWidget((Widget) uiObject); } } } }; return cellRenderer; }