Package org.gwtoolbox.widget.client.grid.editor

Source Code of org.gwtoolbox.widget.client.grid.editor.DefaultTextCellEditor

package org.gwtoolbox.widget.client.grid.editor;

import com.google.gwt.dom.client.InputElement;
import com.google.gwt.dom.client.Style;
import com.google.gwt.event.dom.client.KeyCodes;
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.Element;
import com.google.gwt.user.client.Event;
import org.gwtoolbox.commons.ui.client.event.Handler;
import org.gwtoolbox.widget.client.data.DataType;
import org.gwtoolbox.widget.client.data.Record;
import org.gwtoolbox.commons.ui.client.event.EventUtils;

/**
* @author Uri Boness
*/
public class DefaultTextCellEditor implements CellEditor<String> {

    public void edit(Element cell, Record record, String value, DataType<String> type, final Callback<String> callback) {
        final InputElement input = InputElement.as(DOM.createElement("input"));
        input.setValue(value);
        input.getStyle().setWidth(100, Style.Unit.PCT);
        input.getStyle().setHeight(100, Style.Unit.PCT);
        EventUtils.addHandler(input.<Element>cast(), Event.ONKEYPRESS | Event.ONBLUR, new Handler<Event>() {
            public void handle(Event event) {
                if (event.getTypeInt() == Event.ONKEYPRESS && event.getKeyCode() != KeyCodes.KEY_ENTER) {
                    return;
                }
                String value = input.getValue();
                callback.handleNewValue(value);
            }
        });
        cell.setInnerHTML("");
        cell.appendChild(input);
        input.focus();
    }
}
TOP

Related Classes of org.gwtoolbox.widget.client.grid.editor.DefaultTextCellEditor

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.