Package org.eclipse.nebula.widgets.nattable.edit.config

Source Code of org.eclipse.nebula.widgets.nattable.edit.config.DefaultEditConfiguration

/*******************************************************************************
* Copyright (c) 2012, 2013 Original authors and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
*     Original authors and others - initial API and implementation
******************************************************************************/
package org.eclipse.nebula.widgets.nattable.edit.config;

import org.eclipse.nebula.widgets.nattable.config.AbstractLayerConfiguration;
import org.eclipse.nebula.widgets.nattable.config.IConfigRegistry;
import org.eclipse.nebula.widgets.nattable.config.IEditableRule;
import org.eclipse.nebula.widgets.nattable.data.validate.DefaultDataValidator;
import org.eclipse.nebula.widgets.nattable.edit.EditConfigAttributes;
import org.eclipse.nebula.widgets.nattable.edit.command.EditCellCommandHandler;
import org.eclipse.nebula.widgets.nattable.edit.editor.TextCellEditor;
import org.eclipse.nebula.widgets.nattable.edit.event.InlineCellEditEventHandler;
import org.eclipse.nebula.widgets.nattable.layer.AbstractLayer;

/**
* Default configuration for edit behaviour in a NatTable. Will register the
* {@link EditCellCommandHandler} and the {@link InlineCellEditEventHandler} to
* the layer this configuration is added to. Usually this configuration is added
* to a GridLayer.
* <p>
* It also registers default values on top-level for the following
* {@link EditConfigAttributes}:
* <ul>
* <li>{@link EditConfigAttributes#CELL_EDITABLE_RULE} -
* IEditableRule.NEVER_EDITABLE<br>
* by default a NatTable is not editable</li>
* <li>{@link EditConfigAttributes} - {@link TextCellEditor}<br>
* by default a TextCellEditor will be used for editing cells in a NatTable</li>
* <li>{@link EditConfigAttributes} - {@link DefaultDataValidator}<br>
* by default a validator is registered that always returns <code>true</code>,
* regardless of the entered value</li>
* </ul>
*/
public class DefaultEditConfiguration extends
        AbstractLayerConfiguration<AbstractLayer> {

    @Override
    public void configureTypedLayer(AbstractLayer layer) {
        layer.registerCommandHandler(new EditCellCommandHandler());
        layer.registerEventHandler(new InlineCellEditEventHandler(layer));
    }

    @Override
    public void configureRegistry(IConfigRegistry configRegistry) {
        configRegistry.registerConfigAttribute(
                EditConfigAttributes.CELL_EDITABLE_RULE,
                IEditableRule.NEVER_EDITABLE);
        configRegistry.registerConfigAttribute(
                EditConfigAttributes.CELL_EDITOR, new TextCellEditor());
        configRegistry
                .registerConfigAttribute(EditConfigAttributes.DATA_VALIDATOR,
                        new DefaultDataValidator());
    }

}
TOP

Related Classes of org.eclipse.nebula.widgets.nattable.edit.config.DefaultEditConfiguration

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.